mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Merge pull request #1395 from onesounds/BookmarkSettingPanel
Loading bookmarks by browser
This commit is contained in:
commit
4d91e1086f
6 changed files with 95 additions and 53 deletions
|
|
@ -80,7 +80,7 @@ Global
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.Build.0 = Debug|Any CPU
|
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
|
|
||||||
|
|
@ -19,21 +19,28 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Commands
|
||||||
|
|
||||||
internal static List<Bookmark> LoadAllBookmarks(Settings setting)
|
internal static List<Bookmark> LoadAllBookmarks(Settings setting)
|
||||||
{
|
{
|
||||||
|
|
||||||
var chromeBookmarks = new ChromeBookmarkLoader();
|
|
||||||
var mozBookmarks = new FirefoxBookmarkLoader();
|
|
||||||
var edgeBookmarks = new EdgeBookmarkLoader();
|
|
||||||
|
|
||||||
var allBookmarks = new List<Bookmark>();
|
var allBookmarks = new List<Bookmark>();
|
||||||
|
|
||||||
// Add Firefox bookmarks
|
if (setting.LoadChromeBookmark)
|
||||||
allBookmarks.AddRange(mozBookmarks.GetBookmarks());
|
{
|
||||||
|
// Add Chrome bookmarks
|
||||||
|
var chromeBookmarks = new ChromeBookmarkLoader();
|
||||||
|
allBookmarks.AddRange(chromeBookmarks.GetBookmarks());
|
||||||
|
}
|
||||||
|
|
||||||
// Add Chrome bookmarks
|
if (setting.LoadFirefoxBookmark)
|
||||||
allBookmarks.AddRange(chromeBookmarks.GetBookmarks());
|
{
|
||||||
|
// Add Firefox bookmarks
|
||||||
|
var mozBookmarks = new FirefoxBookmarkLoader();
|
||||||
|
allBookmarks.AddRange(mozBookmarks.GetBookmarks());
|
||||||
|
}
|
||||||
|
|
||||||
// Add Edge (Chromium) bookmarks
|
if (setting.LoadEdgeBookmark)
|
||||||
allBookmarks.AddRange(edgeBookmarks.GetBookmarks());
|
{
|
||||||
|
// Add Edge (Chromium) bookmarks
|
||||||
|
var edgeBookmarks = new EdgeBookmarkLoader();
|
||||||
|
allBookmarks.AddRange(edgeBookmarks.GetBookmarks());
|
||||||
|
}
|
||||||
|
|
||||||
foreach (var browser in setting.CustomChromiumBrowsers)
|
foreach (var browser in setting.CustomChromiumBrowsers)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,5 @@
|
||||||
<system:String x:Key="flowlauncher_plugin_browserbookmark_browserBookmarkDataDirectory">Data Directory Path</system:String>
|
<system:String x:Key="flowlauncher_plugin_browserbookmark_browserBookmarkDataDirectory">Data Directory Path</system:String>
|
||||||
<system:String x:Key="flowlauncher_plugin_browserbookmark_addBrowserBookmark">Add</system:String>
|
<system:String x:Key="flowlauncher_plugin_browserbookmark_addBrowserBookmark">Add</system:String>
|
||||||
<system:String x:Key="flowlauncher_plugin_browserbookmark_removeBrowserBookmark">Delete</system:String>
|
<system:String x:Key="flowlauncher_plugin_browserbookmark_removeBrowserBookmark">Delete</system:String>
|
||||||
|
<system:String x:Key="flowlauncher_plugin_browserbookmark_others">Others</system:String>
|
||||||
</ResourceDictionary>
|
</ResourceDictionary>
|
||||||
|
|
@ -10,6 +10,10 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Models
|
||||||
|
|
||||||
public string BrowserPath { get; set; }
|
public string BrowserPath { get; set; }
|
||||||
|
|
||||||
|
public bool LoadChromeBookmark { get; set; } = true;
|
||||||
|
public bool LoadFirefoxBookmark { get; set; } = true;
|
||||||
|
public bool LoadEdgeBookmark { get; set; } = true;
|
||||||
|
|
||||||
public ObservableCollection<CustomBrowser> CustomChromiumBrowsers { get; set; } = new();
|
public ObservableCollection<CustomBrowser> CustomChromiumBrowsers { get; set; } = new();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,47 +1,66 @@
|
||||||
<UserControl
|
<UserControl
|
||||||
x:Class="Flow.Launcher.Plugin.BrowserBookmark.Views.SettingsControl"
|
x:Class="Flow.Launcher.Plugin.BrowserBookmark.Views.SettingsControl"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
d:DesignHeight="300"
|
d:DesignHeight="300"
|
||||||
d:DesignWidth="500"
|
d:DesignWidth="500"
|
||||||
DataContext="{Binding RelativeSource={RelativeSource Self}}"
|
DataContext="{Binding RelativeSource={RelativeSource Self}}"
|
||||||
mc:Ignorable="d">
|
mc:Ignorable="d">
|
||||||
<Grid Margin="10">
|
<Grid Margin="60,0,10,0">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="auto" />
|
<RowDefinition Height="auto"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<StackPanel Margin="0,0,0,0" Orientation="Vertical">
|
<StackPanel Margin="0,10,0,10" Orientation="Vertical">
|
||||||
<TextBlock Margin="10" Text="{DynamicResource flowlauncher_plugin_browserbookmark_loadBrowserFrom}" />
|
<StackPanel Orientation="Horizontal">
|
||||||
<ListView
|
<TextBlock Margin="10" Text="{DynamicResource flowlauncher_plugin_browserbookmark_loadBrowserFrom}"/>
|
||||||
Name="CustomBrowsers"
|
<CheckBox Margin="0,0,15,0"
|
||||||
Height="auto"
|
Content="Chrome"
|
||||||
Margin="10"
|
IsChecked="{Binding Settings.LoadChromeBookmark}"/>
|
||||||
BorderBrush="DarkGray"
|
<CheckBox Margin="0,0,15,0"
|
||||||
BorderThickness="1"
|
Content="Edge"
|
||||||
ItemsSource="{Binding Settings.CustomChromiumBrowsers}"
|
IsChecked="{Binding Settings.LoadEdgeBookmark}"/>
|
||||||
MouseDoubleClick="MouseDoubleClickOnSelectedCustomBrowser"
|
<CheckBox Margin="0,0,15,0"
|
||||||
SelectedItem="{Binding SelectedCustomBrowser}"
|
Content="Firefox"
|
||||||
Style="{StaticResource {x:Static GridView.GridViewStyleKey}}">
|
IsChecked="{Binding Settings.LoadFirefoxBookmark}"/>
|
||||||
<ListView.View>
|
|
||||||
<GridView>
|
|
||||||
<GridViewColumn DisplayMemberBinding="{Binding Name, Mode=OneWay}" Header="{DynamicResource flowlauncher_plugin_browserbookmark_browserName}" />
|
|
||||||
<GridViewColumn DisplayMemberBinding="{Binding DataDirectoryPath, Mode=OneWay}" Header="{DynamicResource flowlauncher_plugin_browserbookmark_browserBookmarkDataDirectory}" />
|
|
||||||
</GridView>
|
|
||||||
</ListView.View>
|
|
||||||
</ListView>
|
|
||||||
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
|
|
||||||
<Button
|
<Button
|
||||||
MinWidth="120"
|
Margin="0,0,15,0"
|
||||||
Margin="10"
|
Click="Others_Click"
|
||||||
Click="NewCustomBrowser"
|
Content="{DynamicResource flowlauncher_plugin_browserbookmark_others}"/>
|
||||||
Content="{DynamicResource flowlauncher_plugin_browserbookmark_addBrowserBookmark}" />
|
</StackPanel>
|
||||||
<Button
|
<StackPanel Name="CustomBrowsersList" Visibility="Collapsed">
|
||||||
MinWidth="120"
|
<ListView
|
||||||
Margin="10"
|
Name="CustomBrowsers"
|
||||||
Click="DeleteCustomBrowser"
|
Height="auto"
|
||||||
Content="{DynamicResource flowlauncher_plugin_browserbookmark_removeBrowserBookmark}" />
|
Margin="10"
|
||||||
|
BorderBrush="DarkGray"
|
||||||
|
BorderThickness="1"
|
||||||
|
ItemsSource="{Binding Settings.CustomChromiumBrowsers}"
|
||||||
|
MouseDoubleClick="MouseDoubleClickOnSelectedCustomBrowser"
|
||||||
|
SelectedItem="{Binding SelectedCustomBrowser}"
|
||||||
|
Style="{StaticResource {x:Static GridView.GridViewStyleKey}}">
|
||||||
|
<ListView.View>
|
||||||
|
<GridView>
|
||||||
|
<GridViewColumn DisplayMemberBinding="{Binding Name, Mode=OneWay}"
|
||||||
|
Header="{DynamicResource flowlauncher_plugin_browserbookmark_browserName}"/>
|
||||||
|
<GridViewColumn DisplayMemberBinding="{Binding DataDirectoryPath, Mode=OneWay}"
|
||||||
|
Header="{DynamicResource flowlauncher_plugin_browserbookmark_browserBookmarkDataDirectory}"/>
|
||||||
|
</GridView>
|
||||||
|
</ListView.View>
|
||||||
|
</ListView>
|
||||||
|
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
|
||||||
|
<Button
|
||||||
|
MinWidth="130"
|
||||||
|
Margin="10"
|
||||||
|
Click="NewCustomBrowser"
|
||||||
|
Content="{DynamicResource flowlauncher_plugin_browserbookmark_addBrowserBookmark}"/>
|
||||||
|
<Button
|
||||||
|
MinWidth="120"
|
||||||
|
Margin="10"
|
||||||
|
Click="DeleteCustomBrowser"
|
||||||
|
Content="{DynamicResource flowlauncher_plugin_browserbookmark_removeBrowserBookmark}"/>
|
||||||
|
</StackPanel>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using Flow.Launcher.Plugin.BrowserBookmark.Models;
|
using Flow.Launcher.Plugin.BrowserBookmark.Models;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
|
||||||
namespace Flow.Launcher.Plugin.BrowserBookmark.Views
|
namespace Flow.Launcher.Plugin.BrowserBookmark.Views
|
||||||
{
|
{
|
||||||
|
|
@ -59,5 +60,15 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Views
|
||||||
var window = new CustomBrowserSettingWindow(SelectedCustomBrowser);
|
var window = new CustomBrowserSettingWindow(SelectedCustomBrowser);
|
||||||
window.ShowDialog();
|
window.ShowDialog();
|
||||||
}
|
}
|
||||||
|
private void Others_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (CustomBrowsersList.Visibility == Visibility.Collapsed)
|
||||||
|
{
|
||||||
|
CustomBrowsersList.Visibility = Visibility.Visible;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
CustomBrowsersList.Visibility = Visibility.Collapsed;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue