mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
117 lines
3 KiB
C#
117 lines
3 KiB
C#
using System.Windows;
|
|
using System.Windows.Input;
|
|
using System.Threading.Tasks;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using Flow.Launcher.Plugin.BrowserBookmark.Models;
|
|
|
|
namespace Flow.Launcher.Plugin.BrowserBookmark.Views;
|
|
|
|
[INotifyPropertyChanged]
|
|
public partial class SettingsControl
|
|
{
|
|
public Settings Settings { get; }
|
|
public CustomBrowser SelectedCustomBrowser { get; set; }
|
|
|
|
public SettingsControl(Settings settings)
|
|
{
|
|
Settings = settings;
|
|
InitializeComponent();
|
|
}
|
|
|
|
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;
|
|
set
|
|
{
|
|
Settings.OpenInNewBrowserWindow = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private void NewCustomBrowser(object sender, RoutedEventArgs e)
|
|
{
|
|
var newBrowser = new CustomBrowser();
|
|
var window = new CustomBrowserSettingWindow(newBrowser);
|
|
window.ShowDialog();
|
|
if (newBrowser is not
|
|
{
|
|
Name: null,
|
|
DataDirectoryPath: null
|
|
})
|
|
{
|
|
Settings.CustomChromiumBrowsers.Add(newBrowser);
|
|
_ = Task.Run(() => Main.ReloadAllBookmarks());
|
|
}
|
|
}
|
|
|
|
private void DeleteCustomBrowser(object sender, RoutedEventArgs e)
|
|
{
|
|
if (CustomBrowsers.SelectedItem is CustomBrowser selectedCustomBrowser)
|
|
{
|
|
Settings.CustomChromiumBrowsers.Remove(selectedCustomBrowser);
|
|
_ = Task.Run(() => Main.ReloadAllBookmarks());
|
|
}
|
|
}
|
|
|
|
private void MouseDoubleClickOnSelectedCustomBrowser(object sender, MouseButtonEventArgs e)
|
|
{
|
|
EditSelectedCustomBrowser();
|
|
}
|
|
|
|
private void Others_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
CustomBrowsersList.Visibility = CustomBrowsersList.Visibility switch
|
|
{
|
|
Visibility.Collapsed => Visibility.Visible,
|
|
_ => Visibility.Collapsed
|
|
};
|
|
}
|
|
|
|
private void EditCustomBrowser(object sender, RoutedEventArgs e)
|
|
{
|
|
EditSelectedCustomBrowser();
|
|
}
|
|
|
|
private void EditSelectedCustomBrowser()
|
|
{
|
|
if (SelectedCustomBrowser is null)
|
|
return;
|
|
|
|
var window = new CustomBrowserSettingWindow(SelectedCustomBrowser);
|
|
var result = window.ShowDialog() ?? false;
|
|
if (result)
|
|
{
|
|
_ = Task.Run(() => Main.ReloadAllBookmarks());
|
|
}
|
|
}
|
|
}
|