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

View file

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

View file

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