Skip to content

Commit c254c93

Browse files
authored
Merge pull request #190 from taooceros/BookMarkFix
Bookmark Plugin fix
2 parents aa3177d + a0f552f commit c254c93

File tree

5 files changed

+53
-34
lines changed

5 files changed

+53
-34
lines changed

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Bookmark.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,8 @@ public string Name
1919
set
2020
{
2121
m_Name = value;
22-
PinyinName = m_Name.Unidecode();
2322
}
2423
}
25-
public string PinyinName { get; private set; }
2624
public string Url { get; set; }
2725
public string Source { get; set; }
2826
public int Score { get; set; }

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,19 @@ namespace Flow.Launcher.Plugin.BrowserBookmark.Commands
66
{
77
internal static class Bookmarks
88
{
9-
internal static bool MatchProgram(Bookmark bookmark, string queryString)
9+
internal static MatchResult MatchProgram(Bookmark bookmark, string queryString)
1010
{
11-
if (StringMatcher.FuzzySearch(queryString, bookmark.Name).IsSearchPrecisionScoreMet()) return true;
12-
if (StringMatcher.FuzzySearch(queryString, bookmark.PinyinName).IsSearchPrecisionScoreMet()) return true;
13-
if (StringMatcher.FuzzySearch(queryString, bookmark.Url).IsSearchPrecisionScoreMet()) return true;
11+
var match = StringMatcher.FuzzySearch(queryString, bookmark.Name);
12+
if (match.IsSearchPrecisionScoreMet())
13+
return match;
1414

15-
return false;
15+
return StringMatcher.FuzzySearch(queryString, bookmark.Url);
1616
}
1717

1818
internal static List<Bookmark> LoadAllBookmarks()
1919
{
2020
var allbookmarks = new List<Bookmark>();
21-
21+
2222
var chromeBookmarks = new ChromeBookmarks();
2323
var mozBookmarks = new FirefoxBookmarks();
2424
var edgeBookmarks = new EdgeBookmarks();

Plugins/Flow.Launcher.Plugin.BrowserBookmark/EdgeBookmarks.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public List<Bookmark> GetBookmarks()
1818
return bookmarks;
1919
}
2020

21-
private void ParseEdgeBookmarks(String path, string source)
21+
private void ParseEdgeBookmarks(string path, string source)
2222
{
2323
if (!File.Exists(path)) return;
2424

@@ -72,12 +72,13 @@ private void LoadEdgeBookmarks(string path, string name)
7272

7373
private void LoadEdgeBookmarks()
7474
{
75-
String platformPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
75+
string platformPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
7676
LoadEdgeBookmarks(Path.Combine(platformPath, @"Microsoft\Edge\User Data"), "Microsoft Edge");
77+
LoadEdgeBookmarks(Path.Combine(platformPath, @"Microsoft\Edge Dev\User Data"), "Microsoft Edge Dev");
7778
LoadEdgeBookmarks(Path.Combine(platformPath, @"Microsoft\Edge SxS\User Data"), "Microsoft Edge Canary");
7879
}
7980

80-
private String DecodeUnicode(String dataStr)
81+
private string DecodeUnicode(string dataStr)
8182
{
8283
Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");
8384
return reg.Replace(dataStr, m => ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString());

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Main.cs

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Flow.Launcher.Plugin.BrowserBookmark
1212
public class Main : ISettingProvider, IPlugin, IReloadable, IPluginI18n, ISavable
1313
{
1414
private PluginInitContext context;
15-
15+
1616
private List<Bookmark> cachedBookmarks = new List<Bookmark>();
1717

1818
private readonly Settings _settings;
@@ -37,36 +37,56 @@ public List<Result> Query(Query query)
3737

3838
// Should top results be returned? (true if no search parameters have been passed)
3939
var topResults = string.IsNullOrEmpty(param);
40-
41-
var returnList = cachedBookmarks;
40+
4241

4342
if (!topResults)
4443
{
4544
// Since we mixed chrome and firefox bookmarks, we should order them again
46-
returnList = cachedBookmarks.Where(o => Bookmarks.MatchProgram(o, param)).ToList();
47-
returnList = returnList.OrderByDescending(o => o.Score).ToList();
48-
}
49-
50-
return returnList.Select(c => new Result()
51-
{
52-
Title = c.Name,
53-
SubTitle = c.Url,
54-
IcoPath = @"Images\bookmark.png",
55-
Score = 5,
56-
Action = (e) =>
45+
var returnList = cachedBookmarks.Select(c => new Result()
5746
{
58-
if (_settings.OpenInNewBrowserWindow)
47+
Title = c.Name,
48+
SubTitle = c.Url,
49+
IcoPath = @"Images\bookmark.png",
50+
Score = Bookmarks.MatchProgram(c, param).Score,
51+
Action = _ =>
5952
{
60-
c.Url.NewBrowserWindow(_settings.BrowserPath);
53+
if (_settings.OpenInNewBrowserWindow)
54+
{
55+
c.Url.NewBrowserWindow(_settings.BrowserPath);
56+
}
57+
else
58+
{
59+
c.Url.NewTabInBrowser(_settings.BrowserPath);
60+
}
61+
62+
return true;
6163
}
62-
else
64+
}).Where(r => r.Score > 0);
65+
return returnList.ToList();
66+
}
67+
else
68+
{
69+
return cachedBookmarks.Select(c => new Result()
70+
{
71+
Title = c.Name,
72+
SubTitle = c.Url,
73+
IcoPath = @"Images\bookmark.png",
74+
Score = 5,
75+
Action = _ =>
6376
{
64-
c.Url.NewTabInBrowser(_settings.BrowserPath);
65-
}
77+
if (_settings.OpenInNewBrowserWindow)
78+
{
79+
c.Url.NewBrowserWindow(_settings.BrowserPath);
80+
}
81+
else
82+
{
83+
c.Url.NewTabInBrowser(_settings.BrowserPath);
84+
}
6685

67-
return true;
68-
}
69-
}).ToList();
86+
return true;
87+
}
88+
}).ToList();
89+
}
7090
}
7191

7292
public void ReloadData()

Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"Name": "Browser Bookmarks",
55
"Description": "Search your browser bookmarks",
66
"Author": "qianlifeng, Ioannis G.",
7-
"Version": "1.2.0",
7+
"Version": "1.2.1",
88
"Language": "csharp",
99
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
1010
"ExecuteFileName": "Flow.Launcher.Plugin.browserBookmark.dll",

0 commit comments

Comments
 (0)