Skip to content

Commit 4d91e10

Browse files
authored
Merge pull request #1395 from onesounds/BookmarkSettingPanel
Loading bookmarks by browser
2 parents 9242547 + 8680604 commit 4d91e10

File tree

6 files changed

+95
-53
lines changed

6 files changed

+95
-53
lines changed

Flow.Launcher.sln

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ Global
8080
EndGlobalSection
8181
GlobalSection(ProjectConfigurationPlatforms) = postSolution
8282
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
83-
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|Any CPU.Build.0 = Debug|Any CPU
83+
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|Any CPU.Build.0 = Debug|Any CPU
8484
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.ActiveCfg = Debug|Any CPU
8585
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.Build.0 = Debug|Any CPU
8686
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x86.ActiveCfg = Debug|Any CPU

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Commands/BookmarkLoader.cs

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,28 @@ internal static MatchResult MatchProgram(Bookmark bookmark, string queryString)
1919

2020
internal static List<Bookmark> LoadAllBookmarks(Settings setting)
2121
{
22-
23-
var chromeBookmarks = new ChromeBookmarkLoader();
24-
var mozBookmarks = new FirefoxBookmarkLoader();
25-
var edgeBookmarks = new EdgeBookmarkLoader();
26-
2722
var allBookmarks = new List<Bookmark>();
2823

29-
// Add Firefox bookmarks
30-
allBookmarks.AddRange(mozBookmarks.GetBookmarks());
24+
if (setting.LoadChromeBookmark)
25+
{
26+
// Add Chrome bookmarks
27+
var chromeBookmarks = new ChromeBookmarkLoader();
28+
allBookmarks.AddRange(chromeBookmarks.GetBookmarks());
29+
}
3130

32-
// Add Chrome bookmarks
33-
allBookmarks.AddRange(chromeBookmarks.GetBookmarks());
31+
if (setting.LoadFirefoxBookmark)
32+
{
33+
// Add Firefox bookmarks
34+
var mozBookmarks = new FirefoxBookmarkLoader();
35+
allBookmarks.AddRange(mozBookmarks.GetBookmarks());
36+
}
3437

35-
// Add Edge (Chromium) bookmarks
36-
allBookmarks.AddRange(edgeBookmarks.GetBookmarks());
38+
if (setting.LoadEdgeBookmark)
39+
{
40+
// Add Edge (Chromium) bookmarks
41+
var edgeBookmarks = new EdgeBookmarkLoader();
42+
allBookmarks.AddRange(edgeBookmarks.GetBookmarks());
43+
}
3744

3845
foreach (var browser in setting.CustomChromiumBrowsers)
3946
{

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/en.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,5 @@
2121
<system:String x:Key="flowlauncher_plugin_browserbookmark_browserBookmarkDataDirectory">Data Directory Path</system:String>
2222
<system:String x:Key="flowlauncher_plugin_browserbookmark_addBrowserBookmark">Add</system:String>
2323
<system:String x:Key="flowlauncher_plugin_browserbookmark_removeBrowserBookmark">Delete</system:String>
24+
<system:String x:Key="flowlauncher_plugin_browserbookmark_others">Others</system:String>
2425
</ResourceDictionary>

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Models/Settings.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ public class Settings : BaseModel
1010

1111
public string BrowserPath { get; set; }
1212

13+
public bool LoadChromeBookmark { get; set; } = true;
14+
public bool LoadFirefoxBookmark { get; set; } = true;
15+
public bool LoadEdgeBookmark { get; set; } = true;
16+
1317
public ObservableCollection<CustomBrowser> CustomChromiumBrowsers { get; set; } = new();
1418
}
1519
}

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

Lines changed: 59 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,66 @@
11
<UserControl
2-
x:Class="Flow.Launcher.Plugin.BrowserBookmark.Views.SettingsControl"
3-
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4-
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5-
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6-
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
7-
d:DesignHeight="300"
8-
d:DesignWidth="500"
9-
DataContext="{Binding RelativeSource={RelativeSource Self}}"
10-
mc:Ignorable="d">
11-
<Grid Margin="10">
2+
x:Class="Flow.Launcher.Plugin.BrowserBookmark.Views.SettingsControl"
3+
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5+
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6+
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
7+
d:DesignHeight="300"
8+
d:DesignWidth="500"
9+
DataContext="{Binding RelativeSource={RelativeSource Self}}"
10+
mc:Ignorable="d">
11+
<Grid Margin="60,0,10,0">
1212
<Grid.RowDefinitions>
13-
<RowDefinition Height="auto" />
13+
<RowDefinition Height="auto"/>
1414
</Grid.RowDefinitions>
15-
<StackPanel Margin="0,0,0,0" Orientation="Vertical">
16-
<TextBlock Margin="10" Text="{DynamicResource flowlauncher_plugin_browserbookmark_loadBrowserFrom}" />
17-
<ListView
18-
Name="CustomBrowsers"
19-
Height="auto"
20-
Margin="10"
21-
BorderBrush="DarkGray"
22-
BorderThickness="1"
23-
ItemsSource="{Binding Settings.CustomChromiumBrowsers}"
24-
MouseDoubleClick="MouseDoubleClickOnSelectedCustomBrowser"
25-
SelectedItem="{Binding SelectedCustomBrowser}"
26-
Style="{StaticResource {x:Static GridView.GridViewStyleKey}}">
27-
<ListView.View>
28-
<GridView>
29-
<GridViewColumn DisplayMemberBinding="{Binding Name, Mode=OneWay}" Header="{DynamicResource flowlauncher_plugin_browserbookmark_browserName}" />
30-
<GridViewColumn DisplayMemberBinding="{Binding DataDirectoryPath, Mode=OneWay}" Header="{DynamicResource flowlauncher_plugin_browserbookmark_browserBookmarkDataDirectory}" />
31-
</GridView>
32-
</ListView.View>
33-
</ListView>
34-
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
15+
<StackPanel Margin="0,10,0,10" Orientation="Vertical">
16+
<StackPanel Orientation="Horizontal">
17+
<TextBlock Margin="10" Text="{DynamicResource flowlauncher_plugin_browserbookmark_loadBrowserFrom}"/>
18+
<CheckBox Margin="0,0,15,0"
19+
Content="Chrome"
20+
IsChecked="{Binding Settings.LoadChromeBookmark}"/>
21+
<CheckBox Margin="0,0,15,0"
22+
Content="Edge"
23+
IsChecked="{Binding Settings.LoadEdgeBookmark}"/>
24+
<CheckBox Margin="0,0,15,0"
25+
Content="Firefox"
26+
IsChecked="{Binding Settings.LoadFirefoxBookmark}"/>
3527
<Button
36-
MinWidth="120"
37-
Margin="10"
38-
Click="NewCustomBrowser"
39-
Content="{DynamicResource flowlauncher_plugin_browserbookmark_addBrowserBookmark}" />
40-
<Button
41-
MinWidth="120"
42-
Margin="10"
43-
Click="DeleteCustomBrowser"
44-
Content="{DynamicResource flowlauncher_plugin_browserbookmark_removeBrowserBookmark}" />
28+
Margin="0,0,15,0"
29+
Click="Others_Click"
30+
Content="{DynamicResource flowlauncher_plugin_browserbookmark_others}"/>
31+
</StackPanel>
32+
<StackPanel Name="CustomBrowsersList" Visibility="Collapsed">
33+
<ListView
34+
Name="CustomBrowsers"
35+
Height="auto"
36+
Margin="10"
37+
BorderBrush="DarkGray"
38+
BorderThickness="1"
39+
ItemsSource="{Binding Settings.CustomChromiumBrowsers}"
40+
MouseDoubleClick="MouseDoubleClickOnSelectedCustomBrowser"
41+
SelectedItem="{Binding SelectedCustomBrowser}"
42+
Style="{StaticResource {x:Static GridView.GridViewStyleKey}}">
43+
<ListView.View>
44+
<GridView>
45+
<GridViewColumn DisplayMemberBinding="{Binding Name, Mode=OneWay}"
46+
Header="{DynamicResource flowlauncher_plugin_browserbookmark_browserName}"/>
47+
<GridViewColumn DisplayMemberBinding="{Binding DataDirectoryPath, Mode=OneWay}"
48+
Header="{DynamicResource flowlauncher_plugin_browserbookmark_browserBookmarkDataDirectory}"/>
49+
</GridView>
50+
</ListView.View>
51+
</ListView>
52+
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
53+
<Button
54+
MinWidth="130"
55+
Margin="10"
56+
Click="NewCustomBrowser"
57+
Content="{DynamicResource flowlauncher_plugin_browserbookmark_addBrowserBookmark}"/>
58+
<Button
59+
MinWidth="120"
60+
Margin="10"
61+
Click="DeleteCustomBrowser"
62+
Content="{DynamicResource flowlauncher_plugin_browserbookmark_removeBrowserBookmark}"/>
63+
</StackPanel>
4564
</StackPanel>
4665
</StackPanel>
4766
</Grid>

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
using System.Windows;
1+
using System.Windows;
22
using Flow.Launcher.Plugin.BrowserBookmark.Models;
33
using System.Windows.Input;
44
using System.ComponentModel;
5+
using System.Windows.Controls;
56

67
namespace Flow.Launcher.Plugin.BrowserBookmark.Views
78
{
@@ -59,5 +60,15 @@ private void MouseDoubleClickOnSelectedCustomBrowser(object sender, MouseButtonE
5960
var window = new CustomBrowserSettingWindow(SelectedCustomBrowser);
6061
window.ShowDialog();
6162
}
63+
private void Others_Click(object sender, RoutedEventArgs e)
64+
{
65+
66+
if (CustomBrowsersList.Visibility == Visibility.Collapsed)
67+
{
68+
CustomBrowsersList.Visibility = Visibility.Visible;
69+
}
70+
else
71+
CustomBrowsersList.Visibility = Visibility.Collapsed;
72+
}
6273
}
6374
}

0 commit comments

Comments
 (0)