Auto reload bookmarks when editing checkboxes

This commit is contained in:
Vic 2023-02-14 16:35:06 +08:00
parent ab0d6245df
commit 39c4a2be2e
3 changed files with 52 additions and 14 deletions

View file

@ -2,7 +2,6 @@
using System.Windows; using System.Windows;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Forms; using System.Windows.Forms;
using System.Threading.Tasks;
namespace Flow.Launcher.Plugin.BrowserBookmark.Views namespace Flow.Launcher.Plugin.BrowserBookmark.Views
{ {
@ -30,7 +29,7 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Views
currentCustomBrowser.Name = editBrowser.Name; currentCustomBrowser.Name = editBrowser.Name;
currentCustomBrowser.DataDirectoryPath = editBrowser.DataDirectoryPath; currentCustomBrowser.DataDirectoryPath = editBrowser.DataDirectoryPath;
currentCustomBrowser.BrowserType = editBrowser.BrowserType; currentCustomBrowser.BrowserType = editBrowser.BrowserType;
_ = Task.Run(() => Main.ReloadAllBookmarks()); DialogResult = true;
Close(); Close();
} }

View file

@ -18,15 +18,15 @@
<CheckBox <CheckBox
Margin="0,0,15,0" Margin="0,0,15,0"
Content="Chrome" Content="Chrome"
IsChecked="{Binding Settings.LoadChromeBookmark}" /> IsChecked="{Binding LoadChromeBookmark}" />
<CheckBox <CheckBox
Margin="0,0,15,0" Margin="0,0,15,0"
Content="Edge" Content="Edge"
IsChecked="{Binding Settings.LoadEdgeBookmark}" /> IsChecked="{Binding LoadEdgeBookmark}" />
<CheckBox <CheckBox
Margin="0,0,15,0" Margin="0,0,15,0"
Content="Firefox" Content="Firefox"
IsChecked="{Binding Settings.LoadFirefoxBookmark}" /> IsChecked="{Binding LoadFirefoxBookmark}" />
<Button <Button
Margin="0,0,15,0" Margin="0,0,15,0"
Click="Others_Click" Click="Others_Click"

View file

@ -2,16 +2,46 @@
using Flow.Launcher.Plugin.BrowserBookmark.Models; using Flow.Launcher.Plugin.BrowserBookmark.Models;
using System.Windows.Input; using System.Windows.Input;
using System.ComponentModel; using System.ComponentModel;
using System.Windows.Controls; using System.Threading.Tasks;
namespace Flow.Launcher.Plugin.BrowserBookmark.Views namespace Flow.Launcher.Plugin.BrowserBookmark.Views
{ {
public partial class SettingsControl : INotifyPropertyChanged public partial class SettingsControl : INotifyPropertyChanged
{ {
public Settings Settings { get; } public Settings Settings { get; }
public CustomBrowser SelectedCustomBrowser { get; set; } public CustomBrowser SelectedCustomBrowser { get; set; }
public bool LoadChromeBookmark
{
get => Settings.LoadChromeBookmark;
set
{
Settings.LoadChromeBookmark = value;
_ = Task.Run(() => Main.ReloadAllBookmarks());
}
}
public bool LoadFirefoxBookmark
{
get => Settings.LoadFirefoxBookmark;
set
{
Settings.LoadFirefoxBookmark = value;
_ = Task.Run(() => Main.ReloadAllBookmarks());
}
}
public bool LoadEdgeBookmark
{
get => Settings.LoadEdgeBookmark;
set
{
Settings.LoadEdgeBookmark = value;
_ = Task.Run(() => Main.ReloadAllBookmarks());
}
}
public bool OpenInNewBrowserWindow public bool OpenInNewBrowserWindow
{ {
get => Settings.OpenInNewBrowserWindow; get => Settings.OpenInNewBrowserWindow;
@ -42,6 +72,7 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Views
}) })
{ {
Settings.CustomChromiumBrowsers.Add(newBrowser); Settings.CustomChromiumBrowsers.Add(newBrowser);
_ = Task.Run(() => Main.ReloadAllBookmarks());
} }
} }
@ -50,16 +81,15 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Views
if (CustomBrowsers.SelectedItem is CustomBrowser selectedCustomBrowser) if (CustomBrowsers.SelectedItem is CustomBrowser selectedCustomBrowser)
{ {
Settings.CustomChromiumBrowsers.Remove(selectedCustomBrowser); Settings.CustomChromiumBrowsers.Remove(selectedCustomBrowser);
_ = Task.Run(() => Main.ReloadAllBookmarks());
} }
} }
private void MouseDoubleClickOnSelectedCustomBrowser(object sender, MouseButtonEventArgs e) private void MouseDoubleClickOnSelectedCustomBrowser(object sender, MouseButtonEventArgs e)
{ {
if (SelectedCustomBrowser is null) EditSelectedCustomBrowser();
return;
var window = new CustomBrowserSettingWindow(SelectedCustomBrowser);
window.ShowDialog();
} }
private void Others_Click(object sender, RoutedEventArgs e) private void Others_Click(object sender, RoutedEventArgs e)
{ {
@ -72,12 +102,21 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Views
} }
private void EditCustomBrowser(object sender, RoutedEventArgs e) private void EditCustomBrowser(object sender, RoutedEventArgs e)
{
EditSelectedCustomBrowser();
}
private void EditSelectedCustomBrowser()
{ {
if (SelectedCustomBrowser is null) if (SelectedCustomBrowser is null)
return; return;
var window = new CustomBrowserSettingWindow(SelectedCustomBrowser); var window = new CustomBrowserSettingWindow(SelectedCustomBrowser);
window.ShowDialog(); var result = window.ShowDialog() ?? false;
if (result)
{
_ = Task.Run(() => Main.ReloadAllBookmarks());
}
} }
} }
} }