2022-09-20 10:22:13 +00:00
|
|
|
|
using System.Windows;
|
2021-09-23 18:32:10 +00:00
|
|
|
|
using System.Windows.Input;
|
2023-02-14 08:35:06 +00:00
|
|
|
|
using System.Threading.Tasks;
|
2025-06-17 08:58:48 +00:00
|
|
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
|
|
|
|
using Flow.Launcher.Plugin.BrowserBookmark.Models;
|
2019-11-10 21:00:31 +00:00
|
|
|
|
|
2024-04-16 07:00:19 +00:00
|
|
|
|
namespace Flow.Launcher.Plugin.BrowserBookmark.Views;
|
|
|
|
|
|
|
2025-06-17 08:58:48 +00:00
|
|
|
|
[INotifyPropertyChanged]
|
|
|
|
|
|
public partial class SettingsControl
|
2019-11-10 21:00:31 +00:00
|
|
|
|
{
|
2024-04-16 07:00:19 +00:00
|
|
|
|
public Settings Settings { get; }
|
2025-03-20 16:42:26 +00:00
|
|
|
|
public CustomBrowser SelectedCustomBrowser { get; set; }
|
|
|
|
|
|
|
2025-03-20 10:11:15 +00:00
|
|
|
|
public SettingsControl(Settings settings)
|
|
|
|
|
|
{
|
|
|
|
|
|
Settings = settings;
|
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
}
|
2025-04-02 14:27:45 +00:00
|
|
|
|
|
2024-04-16 07:00:19 +00:00
|
|
|
|
public bool LoadChromeBookmark
|
|
|
|
|
|
{
|
|
|
|
|
|
get => Settings.LoadChromeBookmark;
|
|
|
|
|
|
set
|
2023-02-14 08:35:06 +00:00
|
|
|
|
{
|
2024-04-16 07:00:19 +00:00
|
|
|
|
Settings.LoadChromeBookmark = value;
|
|
|
|
|
|
_ = Task.Run(() => Main.ReloadAllBookmarks());
|
2023-02-14 08:35:06 +00:00
|
|
|
|
}
|
2024-04-16 07:00:19 +00:00
|
|
|
|
}
|
2023-02-14 08:35:06 +00:00
|
|
|
|
|
2024-04-16 07:00:19 +00:00
|
|
|
|
public bool LoadFirefoxBookmark
|
|
|
|
|
|
{
|
|
|
|
|
|
get => Settings.LoadFirefoxBookmark;
|
|
|
|
|
|
set
|
2023-02-14 08:35:06 +00:00
|
|
|
|
{
|
2024-04-16 07:00:19 +00:00
|
|
|
|
Settings.LoadFirefoxBookmark = value;
|
|
|
|
|
|
_ = Task.Run(() => Main.ReloadAllBookmarks());
|
2023-02-14 08:35:06 +00:00
|
|
|
|
}
|
2024-04-16 07:00:19 +00:00
|
|
|
|
}
|
2023-02-14 08:35:06 +00:00
|
|
|
|
|
2024-04-16 07:00:19 +00:00
|
|
|
|
public bool LoadEdgeBookmark
|
|
|
|
|
|
{
|
|
|
|
|
|
get => Settings.LoadEdgeBookmark;
|
|
|
|
|
|
set
|
2023-02-14 08:35:06 +00:00
|
|
|
|
{
|
2024-04-16 07:00:19 +00:00
|
|
|
|
Settings.LoadEdgeBookmark = value;
|
|
|
|
|
|
_ = Task.Run(() => Main.ReloadAllBookmarks());
|
2023-02-14 08:35:06 +00:00
|
|
|
|
}
|
2024-04-16 07:00:19 +00:00
|
|
|
|
}
|
2023-02-14 08:35:06 +00:00
|
|
|
|
|
2024-04-16 07:00:19 +00:00
|
|
|
|
public bool OpenInNewBrowserWindow
|
|
|
|
|
|
{
|
|
|
|
|
|
get => Settings.OpenInNewBrowserWindow;
|
|
|
|
|
|
set
|
2019-11-10 21:00:31 +00:00
|
|
|
|
{
|
2024-04-16 07:00:19 +00:00
|
|
|
|
Settings.OpenInNewBrowserWindow = value;
|
2025-06-17 08:58:48 +00:00
|
|
|
|
OnPropertyChanged();
|
2020-07-17 02:32:08 +00:00
|
|
|
|
}
|
2024-04-16 07:00:19 +00:00
|
|
|
|
}
|
2025-04-02 14:27:45 +00:00
|
|
|
|
|
2024-04-16 07:00:19 +00:00
|
|
|
|
private void NewCustomBrowser(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
var newBrowser = new CustomBrowser();
|
|
|
|
|
|
var window = new CustomBrowserSettingWindow(newBrowser);
|
|
|
|
|
|
window.ShowDialog();
|
|
|
|
|
|
if (newBrowser is not
|
2021-09-22 23:09:30 +00:00
|
|
|
|
{
|
2024-04-16 07:00:19 +00:00
|
|
|
|
Name: null,
|
|
|
|
|
|
DataDirectoryPath: null
|
|
|
|
|
|
})
|
2021-09-22 23:09:30 +00:00
|
|
|
|
{
|
2024-04-16 07:00:19 +00:00
|
|
|
|
Settings.CustomChromiumBrowsers.Add(newBrowser);
|
|
|
|
|
|
_ = Task.Run(() => Main.ReloadAllBookmarks());
|
2020-07-17 02:32:08 +00:00
|
|
|
|
}
|
2024-04-16 07:00:19 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void DeleteCustomBrowser(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (CustomBrowsers.SelectedItem is CustomBrowser selectedCustomBrowser)
|
2021-09-23 18:32:10 +00:00
|
|
|
|
{
|
2024-04-16 07:00:19 +00:00
|
|
|
|
Settings.CustomChromiumBrowsers.Remove(selectedCustomBrowser);
|
|
|
|
|
|
_ = Task.Run(() => Main.ReloadAllBookmarks());
|
2021-09-23 18:32:10 +00:00
|
|
|
|
}
|
2024-04-16 07:00:19 +00:00
|
|
|
|
}
|
2022-09-20 10:22:13 +00:00
|
|
|
|
|
2024-04-16 07:00:19 +00:00
|
|
|
|
private void MouseDoubleClickOnSelectedCustomBrowser(object sender, MouseButtonEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
EditSelectedCustomBrowser();
|
|
|
|
|
|
}
|
2023-02-10 22:37:18 +00:00
|
|
|
|
|
2024-04-16 07:00:19 +00:00
|
|
|
|
private void Others_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
CustomBrowsersList.Visibility = CustomBrowsersList.Visibility switch
|
2023-02-14 08:35:06 +00:00
|
|
|
|
{
|
2024-04-16 07:00:19 +00:00
|
|
|
|
Visibility.Collapsed => Visibility.Visible,
|
|
|
|
|
|
_ => Visibility.Collapsed
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
2023-02-14 08:35:06 +00:00
|
|
|
|
|
2024-04-16 07:00:19 +00:00
|
|
|
|
private void EditCustomBrowser(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
EditSelectedCustomBrowser();
|
|
|
|
|
|
}
|
2023-02-10 22:37:18 +00:00
|
|
|
|
|
2024-04-16 07:00:19 +00:00
|
|
|
|
private void EditSelectedCustomBrowser()
|
|
|
|
|
|
{
|
|
|
|
|
|
if (SelectedCustomBrowser is null)
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
var window = new CustomBrowserSettingWindow(SelectedCustomBrowser);
|
|
|
|
|
|
var result = window.ShowDialog() ?? false;
|
|
|
|
|
|
if (result)
|
|
|
|
|
|
{
|
|
|
|
|
|
_ = Task.Run(() => Main.ReloadAllBookmarks());
|
2023-02-10 22:37:18 +00:00
|
|
|
|
}
|
2019-11-10 21:00:31 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|