Skip to content

Commit 8a59e87

Browse files
committed
Fix unselected issue for bookmark plugin by using binding (Don't understand Reason it doesn't work before)
1 parent 1a51160 commit 8a59e87

File tree

2 files changed

+23
-19
lines changed

2 files changed

+23
-19
lines changed

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@
2222
</Grid.ColumnDefinitions>
2323
<Label Grid.Column="0" Content="{DynamicResource flowlauncher_plugin_browserbookmark_settings_openBookmarks}"
2424
FontSize="15" Margin="10 5 0 0"/>
25-
<RadioButton Grid.Column="1" Name="NewWindowBrowser" GroupName="OpenSearchBehaviour"
26-
Content="{DynamicResource flowlauncher_plugin_browserbookmark_settings_newWindow}"
27-
Click="OnNewBrowserWindowClick" />
28-
<RadioButton Grid.Column="2" Name="NewTabInBrowser" GroupName="OpenSearchBehaviour"
29-
Content="{DynamicResource flowlauncher_plugin_browserbookmark_settings_newTab}"
30-
Click="OnNewTabClick" />
25+
<RadioButton Grid.Column="1" Name="NewWindowBrowser"
26+
IsChecked="{Binding OpenInNewBrowserWindow}"
27+
Content="{DynamicResource flowlauncher_plugin_browserbookmark_settings_newWindow}"/>
28+
<RadioButton Grid.Column="2" Name="NewTabInBrowser"
29+
IsChecked="{Binding OpenInNewTab, Mode=OneTime}"
30+
Content="{DynamicResource flowlauncher_plugin_browserbookmark_settings_newTab}"/>
3131
</Grid>
3232
</StackPanel>
3333
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" Grid.Row="1" Height="60" Margin="30,20,0,0">

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml.cs

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,39 @@
33
using System.Windows.Controls;
44
using Flow.Launcher.Plugin.BrowserBookmark.Models;
55
using System.Windows.Input;
6+
using System.ComponentModel;
67

78
namespace Flow.Launcher.Plugin.BrowserBookmark.Views
89
{
910
/// <summary>
1011
/// Interaction logic for BrowserBookmark.xaml
1112
/// </summary>
12-
public partial class SettingsControl
13+
public partial class SettingsControl : INotifyPropertyChanged
1314
{
1415
public Settings Settings { get; }
1516
public CustomBrowser SelectedCustomBrowser { get; set; }
16-
17-
public SettingsControl(Settings settings)
17+
public bool OpenInNewBrowserWindow
1818
{
19-
Settings = settings;
20-
InitializeComponent();
21-
NewWindowBrowser.IsChecked = Settings.OpenInNewBrowserWindow;
22-
NewTabInBrowser.IsChecked = !Settings.OpenInNewBrowserWindow;
19+
get => Settings.OpenInNewBrowserWindow;
20+
set
21+
{
22+
Settings.OpenInNewBrowserWindow = value;
23+
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(OpenInNewBrowserWindow)));
24+
}
2325
}
24-
25-
private void OnNewBrowserWindowClick(object sender, RoutedEventArgs e)
26+
public bool OpenInNewTab
2627
{
27-
Settings.OpenInNewBrowserWindow = true;
28+
get => !OpenInNewBrowserWindow;
2829
}
2930

30-
private void OnNewTabClick(object sender, RoutedEventArgs e)
31+
public SettingsControl(Settings settings)
3132
{
32-
Settings.OpenInNewBrowserWindow = false;
33+
Settings = settings;
34+
InitializeComponent();
3335
}
3436

37+
public event PropertyChangedEventHandler PropertyChanged;
38+
3539
private void OnChooseClick(object sender, RoutedEventArgs e)
3640
{
3741
var fileBrowserDialog = new OpenFileDialog();
@@ -61,7 +65,7 @@ private void NewCustomBrowser(object sender, RoutedEventArgs e)
6165

6266
private void DeleteCustomBrowser(object sender, RoutedEventArgs e)
6367
{
64-
if(CustomBrowsers.SelectedItem is CustomBrowser selectedCustomBrowser)
68+
if (CustomBrowsers.SelectedItem is CustomBrowser selectedCustomBrowser)
6569
{
6670
Settings.CustomChromiumBrowsers.Remove(selectedCustomBrowser);
6771
}

0 commit comments

Comments
 (0)