2022-09-20 10:22:13 +00:00
|
|
|
|
using System.Windows;
|
2020-04-21 09:12:17 +00:00
|
|
|
|
using Flow.Launcher.Plugin.BrowserBookmark.Models;
|
2021-09-23 18:32:10 +00:00
|
|
|
|
using System.Windows.Input;
|
2021-10-25 23:51:34 +00:00
|
|
|
|
using System.ComponentModel;
|
2022-09-20 10:22:13 +00:00
|
|
|
|
using System.Windows.Controls;
|
2019-11-10 21:00:31 +00:00
|
|
|
|
|
2020-04-21 09:12:17 +00:00
|
|
|
|
namespace Flow.Launcher.Plugin.BrowserBookmark.Views
|
2019-11-10 21:00:31 +00:00
|
|
|
|
{
|
2021-10-25 23:51:34 +00:00
|
|
|
|
public partial class SettingsControl : INotifyPropertyChanged
|
2019-11-10 21:00:31 +00:00
|
|
|
|
{
|
2021-09-22 23:09:30 +00:00
|
|
|
|
public Settings Settings { get; }
|
2021-12-07 09:44:19 +00:00
|
|
|
|
|
2021-09-23 18:32:10 +00:00
|
|
|
|
public CustomBrowser SelectedCustomBrowser { get; set; }
|
2021-12-07 09:44:19 +00:00
|
|
|
|
|
2021-10-25 23:51:34 +00:00
|
|
|
|
public bool OpenInNewBrowserWindow
|
2019-11-10 21:00:31 +00:00
|
|
|
|
{
|
2021-10-25 23:51:34 +00:00
|
|
|
|
get => Settings.OpenInNewBrowserWindow;
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
Settings.OpenInNewBrowserWindow = value;
|
|
|
|
|
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(OpenInNewBrowserWindow)));
|
|
|
|
|
|
}
|
2020-07-17 02:32:08 +00:00
|
|
|
|
}
|
2019-11-10 21:00:31 +00:00
|
|
|
|
|
2021-10-25 23:51:34 +00:00
|
|
|
|
public SettingsControl(Settings settings)
|
2019-11-10 21:00:31 +00:00
|
|
|
|
{
|
2021-10-25 23:51:34 +00:00
|
|
|
|
Settings = settings;
|
|
|
|
|
|
InitializeComponent();
|
2019-11-10 21:00:31 +00:00
|
|
|
|
}
|
2019-11-11 10:17:37 +00:00
|
|
|
|
|
2021-10-25 23:51:34 +00:00
|
|
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
|
|
|
|
|
2021-09-22 23:09:30 +00:00
|
|
|
|
private void NewCustomBrowser(object sender, RoutedEventArgs e)
|
2020-07-17 02:32:08 +00:00
|
|
|
|
{
|
2021-09-22 23:09:30 +00:00
|
|
|
|
var newBrowser = new CustomBrowser();
|
|
|
|
|
|
var window = new CustomBrowserSettingWindow(newBrowser);
|
|
|
|
|
|
window.ShowDialog();
|
|
|
|
|
|
if (newBrowser is not
|
|
|
|
|
|
{
|
|
|
|
|
|
Name: null,
|
2021-09-23 18:13:01 +00:00
|
|
|
|
DataDirectoryPath: null
|
2021-09-22 23:09:30 +00:00
|
|
|
|
})
|
|
|
|
|
|
{
|
2021-09-23 18:13:01 +00:00
|
|
|
|
Settings.CustomChromiumBrowsers.Add(newBrowser);
|
2021-09-22 23:09:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void DeleteCustomBrowser(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
2021-10-25 23:51:34 +00:00
|
|
|
|
if (CustomBrowsers.SelectedItem is CustomBrowser selectedCustomBrowser)
|
2021-09-22 23:09:30 +00:00
|
|
|
|
{
|
2021-09-23 18:13:01 +00:00
|
|
|
|
Settings.CustomChromiumBrowsers.Remove(selectedCustomBrowser);
|
2021-09-22 23:09:30 +00:00
|
|
|
|
}
|
2020-07-17 02:32:08 +00:00
|
|
|
|
}
|
2021-09-23 18:32:10 +00:00
|
|
|
|
private void MouseDoubleClickOnSelectedCustomBrowser(object sender, MouseButtonEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (SelectedCustomBrowser is null)
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
var window = new CustomBrowserSettingWindow(SelectedCustomBrowser);
|
|
|
|
|
|
window.ShowDialog();
|
|
|
|
|
|
}
|
2022-09-20 10:22:13 +00:00
|
|
|
|
private void Others_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
if (CustomBrowsersList.Visibility == Visibility.Collapsed)
|
|
|
|
|
|
{
|
|
|
|
|
|
CustomBrowsersList.Visibility = Visibility.Visible;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
CustomBrowsersList.Visibility = Visibility.Collapsed;
|
|
|
|
|
|
}
|
2019-11-10 21:00:31 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|