Flow.Launcher/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Views/SettingsControl.xaml.cs

75 lines
2.3 KiB
C#
Raw Permalink Normal View History

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;
using System.ComponentModel;
2022-09-20 10:22:13 +00:00
using System.Windows.Controls;
2020-04-21 09:12:17 +00:00
namespace Flow.Launcher.Plugin.BrowserBookmark.Views
{
public partial class SettingsControl : INotifyPropertyChanged
{
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
public bool OpenInNewBrowserWindow
{
get => Settings.OpenInNewBrowserWindow;
set
{
Settings.OpenInNewBrowserWindow = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(OpenInNewBrowserWindow)));
}
}
public SettingsControl(Settings settings)
{
Settings = settings;
InitializeComponent();
}
public event PropertyChangedEventHandler PropertyChanged;
private void NewCustomBrowser(object sender, RoutedEventArgs e)
{
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-23 18:13:01 +00:00
Settings.CustomChromiumBrowsers.Add(newBrowser);
}
}
private void DeleteCustomBrowser(object sender, RoutedEventArgs e)
{
if (CustomBrowsers.SelectedItem is CustomBrowser selectedCustomBrowser)
{
2021-09-23 18:13:01 +00:00
Settings.CustomChromiumBrowsers.Remove(selectedCustomBrowser);
}
}
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;
}
}
}