Merge pull request #1959 from Flow-Launcher/search_source_sort

Remove Obsolete Property and use Status Property for Sorting
This commit is contained in:
DB P 2023-03-07 00:25:36 +09:00 committed by GitHub
commit 6869aeea83
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 33 additions and 36 deletions

View file

@ -59,6 +59,7 @@
<SolidColorBrush x:Key="ThemeHoverButton" Color="#3c3c3c" /> <SolidColorBrush x:Key="ThemeHoverButton" Color="#3c3c3c" />
<SolidColorBrush x:Key="PopuBGColor" Color="#202020" /> <SolidColorBrush x:Key="PopuBGColor" Color="#202020" />
<SolidColorBrush x:Key="PopupBGColor" Color="#202020" />
<SolidColorBrush x:Key="PopupTextColor" Color="#cfcfcf" /> <SolidColorBrush x:Key="PopupTextColor" Color="#cfcfcf" />
<SolidColorBrush x:Key="PopupButtonAreaBGColor" Color="#2b2b2b" /> <SolidColorBrush x:Key="PopupButtonAreaBGColor" Color="#2b2b2b" />
<SolidColorBrush x:Key="PopupButtonAreaBorderColor" Color="#3f3f3f" /> <SolidColorBrush x:Key="PopupButtonAreaBorderColor" Color="#3f3f3f" />

View file

@ -51,7 +51,9 @@
<SolidColorBrush x:Key="BasicLabelColor" Color="#1b1b1b" /> <SolidColorBrush x:Key="BasicLabelColor" Color="#1b1b1b" />
<SolidColorBrush x:Key="ThemeHoverButton" Color="#f6f6f6" /> <SolidColorBrush x:Key="ThemeHoverButton" Color="#f6f6f6" />
<!-- Typo -->
<SolidColorBrush x:Key="PopuBGColor" Color="#ffffff" /> <SolidColorBrush x:Key="PopuBGColor" Color="#ffffff" />
<SolidColorBrush x:Key="PopupBGColor" Color="#ffffff" />
<SolidColorBrush x:Key="PopupTextColor" Color="#1b1b1b" /> <SolidColorBrush x:Key="PopupTextColor" Color="#1b1b1b" />
<SolidColorBrush x:Key="PopupButtonAreaBGColor" Color="#f3f3f3" /> <SolidColorBrush x:Key="PopupButtonAreaBGColor" Color="#f3f3f3" />
<SolidColorBrush x:Key="PopupButtonAreaBorderColor" Color="#e5e5e5" /> <SolidColorBrush x:Key="PopupButtonAreaBorderColor" Color="#e5e5e5" />

View file

@ -12,6 +12,7 @@
<system:String x:Key="flowlauncher_plugin_websearch_delete">Delete</system:String> <system:String x:Key="flowlauncher_plugin_websearch_delete">Delete</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_edit">Edit</system:String> <system:String x:Key="flowlauncher_plugin_websearch_edit">Edit</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_add">Add</system:String> <system:String x:Key="flowlauncher_plugin_websearch_add">Add</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_enabled_label">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String> <system:String x:Key="flowlauncher_plugin_websearch_true">Enabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String> <system:String x:Key="flowlauncher_plugin_websearch_false">Disabled</system:String>
<system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirm</system:String> <system:String x:Key="flowlauncher_plugin_websearch_confirm">Confirm</system:String>

View file

@ -35,6 +35,9 @@ namespace Flow.Launcher.Plugin.WebSearch
} }
public string Url { get; set; } public string Url { get; set; }
[JsonIgnore]
public bool Status => Enabled;
public bool Enabled { get; set; } public bool Enabled { get; set; }
public SearchSource DeepCopy() public SearchSource DeepCopy()

View file

@ -8,7 +8,7 @@
Title="{DynamicResource flowlauncher_plugin_websearch_window_title}" Title="{DynamicResource flowlauncher_plugin_websearch_window_title}"
Width="550" Width="550"
d:DataContext="{d:DesignInstance vm:SearchSourceViewModel}" d:DataContext="{d:DesignInstance vm:SearchSourceViewModel}"
Background="{DynamicResource PopuBGColor}" Background="{DynamicResource PopupBGColor}"
Foreground="{DynamicResource PopupTextColor}" Foreground="{DynamicResource PopupTextColor}"
ResizeMode="NoResize" ResizeMode="NoResize"
SizeToContent="Height" SizeToContent="Height"
@ -179,7 +179,7 @@
HorizontalAlignment="Left" HorizontalAlignment="Left"
VerticalAlignment="Center" VerticalAlignment="Center"
FontSize="14" FontSize="14"
Text="{DynamicResource flowlauncher_plugin_websearch_enabled}" /> Text="{DynamicResource flowlauncher_plugin_websearch_enabled_label}" />
<CheckBox <CheckBox
Grid.Row="4" Grid.Row="4"
Grid.Column="1" Grid.Column="1"

View file

@ -69,23 +69,11 @@
<GridViewColumn <GridViewColumn
Width="130" Width="130"
DisplayMemberBinding="{Binding ActionKeyword}" DisplayMemberBinding="{Binding ActionKeyword}"
Header="{DynamicResource flowlauncher_plugin_websearch_action_keyword}"> Header="{DynamicResource flowlauncher_plugin_websearch_action_keyword}"/>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding ActionKeyword}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn <GridViewColumn
Width="350" Width="350"
DisplayMemberBinding="{Binding Title}" DisplayMemberBinding="{Binding Title}"
Header="{DynamicResource flowlauncher_plugin_websearch_title}"> Header="{DynamicResource flowlauncher_plugin_websearch_title}"/>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="140" Header="{DynamicResource flowlauncher_plugin_websearch_enable}"> <GridViewColumn Width="140" Header="{DynamicResource flowlauncher_plugin_websearch_enable}">
<GridViewColumn.CellTemplate> <GridViewColumn.CellTemplate>
<DataTemplate> <DataTemplate>
@ -94,7 +82,7 @@
<Style TargetType="TextBlock"> <Style TargetType="TextBlock">
<Setter Property="Text" Value="{DynamicResource flowlauncher_plugin_websearch_false}" /> <Setter Property="Text" Value="{DynamicResource flowlauncher_plugin_websearch_false}" />
<Style.Triggers> <Style.Triggers>
<DataTrigger Binding="{Binding Enabled, UpdateSourceTrigger=PropertyChanged}" Value="True"> <DataTrigger Binding="{Binding Status, UpdateSourceTrigger=PropertyChanged}" Value="True">
<Setter Property="Text" Value="{DynamicResource flowlauncher_plugin_websearch_true}" /> <Setter Property="Text" Value="{DynamicResource flowlauncher_plugin_websearch_true}" />
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
@ -158,7 +146,7 @@
Margin="0,0,8,0" Margin="0,0,8,0"
IsChecked="{Binding Settings.EnableSuggestion}" /> IsChecked="{Binding Settings.EnableSuggestion}" />
</StackPanel> </StackPanel>
<!-- Not sure why binding IsEnabled directly to Settings.EnableWebSaerchSuggestion is not working --> <!-- Not sure why binding IsEnabled directly to Settings.EnableWebSearchSuggestion is not working -->
</DockPanel> </DockPanel>
</Border> </Border>
</Grid> </Grid>

View file

@ -96,27 +96,29 @@ namespace Flow.Launcher.Plugin.WebSearch
var columnBinding = headerClicked.Column.DisplayMemberBinding as Binding; var columnBinding = headerClicked.Column.DisplayMemberBinding as Binding;
var sortBy = columnBinding?.Path.Path ?? headerClicked.Column.Header as string; var sortBy = columnBinding?.Path.Path ?? headerClicked.Column.Header as string;
Sort(sortBy, direction); if(sortBy != null) {
Sort(sortBy, direction);
if (direction == ListSortDirection.Ascending) if (direction == ListSortDirection.Ascending)
{ {
headerClicked.Column.HeaderTemplate = headerClicked.Column.HeaderTemplate =
Resources["HeaderTemplateArrowUp"] as DataTemplate; Resources["HeaderTemplateArrowUp"] as DataTemplate;
} }
else else
{ {
headerClicked.Column.HeaderTemplate = headerClicked.Column.HeaderTemplate =
Resources["HeaderTemplateArrowDown"] as DataTemplate; Resources["HeaderTemplateArrowDown"] as DataTemplate;
} }
// Remove arrow from previously sorted header // Remove arrow from previously sorted header
if (_lastHeaderClicked != null && _lastHeaderClicked != headerClicked) if (_lastHeaderClicked != null && _lastHeaderClicked != headerClicked)
{ {
_lastHeaderClicked.Column.HeaderTemplate = null; _lastHeaderClicked.Column.HeaderTemplate = null;
} }
_lastHeaderClicked = headerClicked; _lastHeaderClicked = headerClicked;
_lastDirection = direction; _lastDirection = direction;
}
} }
private void Sort(string sortBy, ListSortDirection direction) private void Sort(string sortBy, ListSortDirection direction)
{ {