diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/copylink.png b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/copylink.png
new file mode 100644
index 00000000000..0dee870b615
Binary files /dev/null and b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/copylink.png differ
diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/en.xaml
index 3beccb5e715..f456e7495a7 100644
--- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/en.xaml
+++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Languages/en.xaml
@@ -12,4 +12,6 @@
New tab
Set browser from path:
Choose
+ Copy url
+ Copy the bookmark's url to clipboard
\ No newline at end of file
diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Main.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Main.cs
index 47493654f38..b889bb0d0ff 100644
--- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Main.cs
+++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Main.cs
@@ -1,6 +1,9 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
using System.Linq;
+using System.Windows;
using System.Windows.Controls;
+using Flow.Launcher.Infrastructure.Logger;
using Flow.Launcher.Infrastructure.Storage;
using Flow.Launcher.Plugin.BrowserBookmark.Commands;
using Flow.Launcher.Plugin.BrowserBookmark.Models;
@@ -9,7 +12,7 @@
namespace Flow.Launcher.Plugin.BrowserBookmark
{
- public class Main : ISettingProvider, IPlugin, IReloadable, IPluginI18n, ISavable
+ public class Main : ISettingProvider, IPlugin, IReloadable, IPluginI18n, ISavable, IContextMenu
{
private PluginInitContext context;
@@ -60,7 +63,8 @@ public List Query(Query query)
}
return true;
- }
+ },
+ ContextData = new BookmarkAttributes { Url = c.Url }
}).Where(r => r.Score > 0);
return returnList.ToList();
}
@@ -84,7 +88,8 @@ public List Query(Query query)
}
return true;
- }
+ },
+ ContextData = new BookmarkAttributes { Url = c.Url }
}).ToList();
}
}
@@ -115,5 +120,39 @@ public void Save()
{
_storage.Save();
}
+
+ public List LoadContextMenus(Result selectedResult)
+ {
+ return new List() {
+ new Result
+ {
+ Title = context.API.GetTranslation("flowlauncher_plugin_browserbookmark_copyurl_title"),
+ SubTitle = context.API.GetTranslation("flowlauncher_plugin_browserbookmark_copyurl_subtitle"),
+ Action = _ =>
+ {
+ try
+ {
+ Clipboard.SetDataObject(((BookmarkAttributes)selectedResult.ContextData).Url);
+
+ return true;
+ }
+ catch (Exception e)
+ {
+ var message = "Failed to set url in clipboard";
+ Log.Exception("Main",message, e, "LoadContextMenus");
+
+ context.API.ShowMsg(message);
+
+ return false;
+ }
+ },
+ IcoPath = "Images\\copylink.png"
+ }};
+ }
+
+ internal class BookmarkAttributes
+ {
+ internal string Url { get; set; }
+ }
}
}
diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json
index b0c3d2e29b0..62311f51458 100644
--- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json
+++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json
@@ -4,7 +4,7 @@
"Name": "Browser Bookmarks",
"Description": "Search your browser bookmarks",
"Author": "qianlifeng, Ioannis G.",
- "Version": "1.3.2",
+ "Version": "1.4.0",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.BrowserBookmark.dll",