Skip to content

Commit

Permalink
Added more dictionaries, fixed toolbar overflow
Browse files Browse the repository at this point in the history
  • Loading branch information
hlysine committed Oct 6, 2020
1 parent 262dde5 commit 4e8f768
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 51 deletions.
90 changes: 44 additions & 46 deletions QuickDictionary/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,52 +106,50 @@
IsIndeterminate="True"
Visibility="Hidden" />
</Grid>
<Grid
Margin="5"
Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="Auto" />
<ColumnDefinition
Width="Auto" />
<ColumnDefinition
Width="Auto" />
</Grid.ColumnDefinitions>
<CheckBox
Name="checkPause"
Margin="5 0 0 0"
Style="{StaticResource MaterialDesignCheckBox}"
Grid.Column="0"
ToolTip="Stop looking up words in the clipboard">
Pause
</CheckBox>
<CheckBox
Name="checkTopmost"
Margin="5 0 0 0"
Style="{StaticResource MaterialDesignCheckBox}"
Grid.Column="1">
Always on top
</CheckBox>
<ListBox
x:Name="listDictionaries"
Margin="5 0 0 0"
Grid.Column="2"
SelectionMode="Extended"
Style="{StaticResource MaterialDesignToolToggleFlatListBox}"
SelectionChanged="listDictionaries_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<materialDesign:Badged
Margin="0 5 0 0"
Badge="{Binding PrecedenceString}"
ToolTip="{Binding Name}">
<materialDesign:PackIcon
Kind="{Binding Icon}" />
</materialDesign:Badged>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<ScrollViewer
Name="scrollToolbar"
Grid.Row="1"
HorizontalAlignment="Stretch"
CanContentScroll="False"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Disabled"
PreviewMouseWheel="ScrollViewer_PreviewMouseWheel">
<StackPanel
Margin="5"
Orientation="Horizontal">
<CheckBox
Name="checkPause"
Margin="5 0 0 0"
Style="{StaticResource MaterialDesignCheckBox}"
ToolTip="Stop looking up words in the clipboard">
Pause
</CheckBox>
<CheckBox
Name="checkTopmost"
Margin="5 0 0 0"
Style="{StaticResource MaterialDesignCheckBox}">
Always on top
</CheckBox>
<ListBox
x:Name="listDictionaries"
Margin="5 0 0 0"
SelectionMode="Extended"
Style="{StaticResource MaterialDesignToolToggleFlatListBox}"
SelectionChanged="listDictionaries_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<materialDesign:Badged
Margin="0 5 0 0"
Badge="{Binding PrecedenceString}"
ToolTip="{Binding Name}">
<materialDesign:PackIcon
Kind="{Binding Icon}" />
</materialDesign:Badged>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</ScrollViewer>
<cefSharp:ChromiumWebBrowser
Name="browser"
Grid.Row="2"
Expand Down
39 changes: 37 additions & 2 deletions QuickDictionary/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ public MainWindow()

dictionaries.Add(Dictionary.CambridgeCE);
dictionaries.Add(Dictionary.MedicalDictionary);
dictionaries.Add(Dictionary.OxfordLearnersDict);
dictionaries.Add(Dictionary.DictionaryCom);
dictionaries.Add(Dictionary.GoogleDefinitions);
listDictionaries.ItemsSource = dictionaries;
listDictionaries.SelectAll();
Expand Down Expand Up @@ -241,7 +243,8 @@ async void search(string word)
var task = dict.ValidateQuery(dict.Url.Replace("%s", WebUtility.UrlEncode(word)));
validations.Add(task);
}
await Task.WhenAny(validations.ToArray());
if (validations.Count > 0)
await Task.WhenAny(validations.ToArray());
for (int i = 0; i < validations.Count; i++)
{
await Task.WhenAny(validations[i]);
Expand Down Expand Up @@ -292,6 +295,16 @@ protected override bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser
return block;
}
}

private void ScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
if (e.Delta < 0)
scrollToolbar.LineRight();
else
scrollToolbar.LineLeft();

e.Handled = true;
}
}

public class OCRWord
Expand Down Expand Up @@ -351,7 +364,7 @@ public int Precedence
{
return !(await Helper.GetFinalRedirectAsync(url)).Contains("spellcheck");
},
Icon = PackIconKind.Dictionary,
Icon = PackIconKind.LetterCBox,
Name = "Cambridge English-Chinese Dictionary",
};

Expand All @@ -376,6 +389,28 @@ public int Precedence
Name = "Merriam-Webster Medical Dictionary",
};

public static Dictionary OxfordLearnersDict = new Dictionary()
{
Url = "https://www.oxfordlearnersdictionaries.com/search/english/?q=%s",
ValidateQuery = async (url) =>
{
return !(await Helper.GetFinalRedirectAsync(url)).Contains("spellcheck");
},
Icon = PackIconKind.LetterOBox,
Name = "Oxford Advanced Learner's Dictionary",
};

public static Dictionary DictionaryCom = new Dictionary()
{
Url = "https://www.dictionary.com/browse/%s",
ValidateQuery = async (url) =>
{
return !(await Helper.GetFinalRedirectAsync(url)).Contains("misspelling");
},
Icon = PackIconKind.LetterDBox,
Name = "Dictionary.com",
};

public static Dictionary GoogleDefinitions = new Dictionary()
{
Url = "https://www.google.com/search?q=define+%s",
Expand Down
4 changes: 2 additions & 2 deletions QuickDictionary/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.3.0")]
[assembly: AssemblyFileVersion("1.0.3.0")]
[assembly: AssemblyVersion("1.0.4.0")]
[assembly: AssemblyFileVersion("1.0.4.0")]
2 changes: 1 addition & 1 deletion QuickDictionary/QuickDictionary.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.3.0</ApplicationVersion>
<ApplicationVersion>1.0.4.0</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
Expand Down

0 comments on commit 4e8f768

Please sign in to comment.