Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
832e849
Prompt deletion of file or folder
jjw24 Jun 21, 2020
eda8904
Merge branch 'dev' into explorer_prompt_deletion
jjw24 Jun 23, 2020
c46bb35
Merge branch 'dev' into explorer_prompt_deletion
jjw24 Jul 1, 2020
ccfcf51
Merge branch 'dev' into explorer_prompt_deletion
jjw24 Jul 5, 2020
9a82452
fix auto-suggestions font color of BlurWhite theme
jjw24 Jul 5, 2020
f636606
add update messages to indicate progress
jjw24 Jul 5, 2020
4b895af
rename missed file
jjw24 Jul 5, 2020
dd80228
merge PR #113: fix BlurWhite theme
JohnTheGr8 Jul 6, 2020
a9f7ec0
Merge branch 'dev' into rename_file
jjw24 Jul 6, 2020
a0f2ae7
Merge branch 'dev' into explorer_prompt_deletion
jjw24 Jul 6, 2020
fe3cc89
Merge branch 'dev' into add_update_progress_msg
jjw24 Jul 6, 2020
f177510
Merge pull request #115 from Flow-Launcher/rename_file
jjw24 Jul 6, 2020
e2a0876
Merge pull request #74 from Flow-Launcher/explorer_prompt_deletion
jjw24 Jul 6, 2020
0c7298c
Merge pull request #114 from Flow-Launcher/add_update_progress_msg
jjw24 Jul 6, 2020
3111271
add file content search unit tests
jjw24 Jul 12, 2020
08bfa8d
add unit test for determining file content search
jjw24 Jul 12, 2020
8abd97d
add file content search to Index Search
jjw24 Jul 12, 2020
ef46225
Merge branch 'dev' into add_filecontent_search
jjw24 Jul 12, 2020
05d62da
exclude directory path for Web Search plugin
jjw24 Jul 12, 2020
0f0bde9
update readme
jjw24 Jul 12, 2020
0929d34
merge PR #120: update Web Search plugin
JohnTheGr8 Jul 13, 2020
ca83526
version bump Explorer plugin
jjw24 Jul 14, 2020
a1e371b
add multi-ActionKeywords for Explorer
jjw24 Jul 14, 2020
ace9dc7
update old hotkey trigger to use ActionKeyword
jjw24 Jul 14, 2020
7ad0071
quick folder links triggering when search action keyword is used
jjw24 Jul 14, 2020
827a953
add PropertyChanged.Fody to Infrastructure project
JohnTheGr8 Jul 14, 2020
dfcf79c
add chromium edge bookmark loading
kalaschnik Jul 16, 2020
bad007c
show Explorer action keywords on UI
jjw24 Jul 16, 2020
163bf64
BrowserBookmark version bump
jjw24 Jul 16, 2020
62a245f
remove success message boxes
JohnTheGr8 Jul 16, 2020
b505a32
UI: use NoWrap for browser-path text boxes
JohnTheGr8 Jul 16, 2020
1f73fdb
UI: allow manual editing of browser-path textboxes
JohnTheGr8 Jul 17, 2020
19aa9ca
Merge pull request #122 from JohnTheGr8/ui_enhancements
jjw24 Jul 17, 2020
8962f51
version bump for 1.2.0 release
jjw24 Jul 17, 2020
fad4f5b
fix clicking twice to expand issue
jjw24 Jul 17, 2020
9feb4d6
add behaviour for Customise Action Keyword UI
jjw24 Jul 17, 2020
1e66205
merge PR #121: index Edge browser bookmarks
JohnTheGr8 Jul 18, 2020
e37d976
add option for user to customise Explorer's Action Keywords
jjw24 Jul 18, 2020
a622d8c
update Action Keyword already registered text to be more clearer
jjw24 Jul 18, 2020
f292456
handle new action keyword in Explorer- one off
jjw24 Jul 19, 2020
6518bf8
add versioning to plugin settings
jjw24 Jul 19, 2020
4226b74
update test for file content search action keyword
jjw24 Jul 19, 2020
c6701aa
move everything plugin to its own repo
jjw24 Jul 19, 2020
c4fd501
update readme
jjw24 Jul 19, 2020
6f2ff84
remove Constant.EverythingSDKPath and usage
jjw24 Jul 21, 2020
ee43152
save IconPath to settings for customisation
jjw24 Jul 21, 2020
2df1075
Merge PR #125: remove everything plugin
JohnTheGr8 Jul 21, 2020
898b1db
Merge remote-tracking branch 'origin/dev' into add_filecontent_search
jjw24 Jul 21, 2020
91e7b1c
update IconPath handling of path
jjw24 Jul 21, 2020
2c4eeb0
add Search Source custom icon setting selection and saving
jjw24 Jul 21, 2020
e2dff94
add comment summary to clarify the shared Copy command
jjw24 Jul 21, 2020
8f8b2d7
notify change of SearchSource's image after selection
jjw24 Jul 22, 2020
dbfa2bd
fix typo
jjw24 Jul 22, 2020
bd48ee5
update behaviour when to copy custom icons
jjw24 Jul 22, 2020
16c9bc7
Merge remote-tracking branch 'origin/dev' into save_customicons_webse…
jjw24 Jul 22, 2020
d89570e
fix build fail on MessageBox
jjw24 Jul 22, 2020
3106b38
fix missing result list preview in Theme tab
jjw24 Aug 3, 2020
ac46fdc
remove code that has been marked obsolete
jjw24 Aug 4, 2020
59a1837
remove in use obsolete GetAllRemainingParameter and use Search
jjw24 Aug 4, 2020
48cbe9d
version bump Plugin
jjw24 Aug 4, 2020
c4d1fe4
version bump WebSearch
jjw24 Aug 4, 2020
3f0a766
Merge pull request #131 from Flow-Launcher/fix_missing_theme_resultlist
SysC0mp Aug 4, 2020
48557ae
change to dynamically loading of icon images for WebSearch
jjw24 Aug 11, 2020
203df8f
update method to reflect intent
jjw24 Aug 11, 2020
6cb2cc3
update to WebSearch's custom icon image save behaviour
jjw24 Aug 11, 2020
e0466f8
fix build fail
jjw24 Aug 11, 2020
f44364f
Merge branch 'dev' into add_filecontent_search
jjw24 Aug 13, 2020
3c85c03
Merge pull request #132 from Flow-Launcher/remove_obsolete_code
jjw24 Aug 16, 2020
eac5c4c
update per comment
jjw24 Aug 16, 2020
e3fe619
per comment
jjw24 Aug 16, 2020
e4979ab
merge PR #127: update WebSearch plugin
JohnTheGr8 Aug 16, 2020
87ae60d
Merge pull request #119 from Flow-Launcher/add_filecontent_search
jjw24 Aug 17, 2020
c6bee8a
merge PR #123: release version bump
JohnTheGr8 Aug 17, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions Flow.Launcher.Core/Plugin/QueryBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ public static Query Build(string text, Dictionary<string, PluginPair> nonGlobalP
else
{ // non action keyword
actionKeyword = string.Empty;
actionParameters = terms.ToList();
search = rawQuery;
}

Expand All @@ -38,10 +37,7 @@ public static Query Build(string text, Dictionary<string, PluginPair> nonGlobalP
Terms = terms,
RawQuery = rawQuery,
ActionKeyword = actionKeyword,
Search = search,
// Obsolete value initialisation
ActionName = actionKeyword,
ActionParameters = actionParameters
Search = search
};

return query;
Expand Down
19 changes: 15 additions & 4 deletions Flow.Launcher.Core/Updater.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
using Flow.Launcher.Infrastructure.Logger;
using System.IO;
using Flow.Launcher.Infrastructure.UserSettings;
using Flow.Launcher.Plugin;

namespace Flow.Launcher.Core
{
Expand All @@ -28,11 +29,14 @@ public Updater(string gitHubRepository)
GitHubRepository = gitHubRepository;
}

public async Task UpdateApp(bool silentIfLatestVersion = true)
public async Task UpdateApp(IPublicAPI api , bool silentUpdate = true)
{
UpdateManager updateManager;
UpdateInfo newUpdateInfo;

if (!silentUpdate)
api.ShowMsg("Please wait...", "Checking for new update");

try
{
updateManager = await GitHubUpdateManager(GitHubRepository);
Expand Down Expand Up @@ -62,12 +66,15 @@ public async Task UpdateApp(bool silentIfLatestVersion = true)

if (newReleaseVersion <= currentVersion)
{
if (!silentIfLatestVersion)
if (!silentUpdate)
MessageBox.Show("You already have the latest Flow Launcher version");
updateManager.Dispose();
return;
}


if (!silentUpdate)
api.ShowMsg("Update found", "Updating...");

try
{
await updateManager.DownloadReleases(newUpdateInfo.ReleasesToApply);
Expand Down Expand Up @@ -96,11 +103,15 @@ public async Task UpdateApp(bool silentIfLatestVersion = true)

var newVersionTips = NewVersinoTips(newReleaseVersion.ToString());

MessageBox.Show(newVersionTips);
Log.Info($"|Updater.UpdateApp|Update success:{newVersionTips}");

// always dispose UpdateManager
updateManager.Dispose();

if (MessageBox.Show(newVersionTips, "New Update", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
UpdateManager.RestartApp(Constant.ApplicationFileName);
}
}

[UsedImplicitly]
Expand Down
21 changes: 0 additions & 21 deletions Flow.Launcher.Infrastructure/Alphabet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,27 +95,6 @@ public void Save()
private static string[] EmptyStringArray = new string[0];
private static string[][] Empty2DStringArray = new string[0][];

[Obsolete("Not accurate, eg 音乐 will not return yinyue but returns yinle ")]
/// <summary>
/// replace chinese character with pinyin, non chinese character won't be modified
/// <param name="word"> should be word or sentence, instead of single character. e.g. 微软 </param>
/// </summary>
public string[] Pinyin(string word)
{
if (!_settings.ShouldUsePinyin)
{
return EmptyStringArray;
}

var pinyin = word.Select(c =>
{
var pinyins = PinyinHelper.toHanyuPinyinStringArray(c);
var result = pinyins == null ? c.ToString() : pinyins[0];
return result;
}).ToArray();
return pinyin;
}

/// <summmary>
/// replace chinese character with pinyin, non chinese character won't be modified
/// Because we don't have words dictionary, so we can only return all possiblie pinyin combination
Expand Down
1 change: 0 additions & 1 deletion Flow.Launcher.Infrastructure/Constant.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ public static class Constant
public static readonly string ErrorIcon = Path.Combine(ProgramDirectory, "Images", "app_error.png");

public static string PythonPath;
public static string EverythingSDKPath;

public static readonly string QueryTextBoxIconImagePath = $"{ProgramDirectory}\\Images\\mainsearch.png";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ private static string CreateExceptionReport(System.Exception ex)
sb.AppendLine($"* IntPtr Length: {IntPtr.Size}");
sb.AppendLine($"* x64: {Environment.Is64BitOperatingSystem}");
sb.AppendLine($"* Python Path: {Constant.PythonPath}");
sb.AppendLine($"* Everything SDK Path: {Constant.EverythingSDKPath}");
sb.AppendLine($"* CLR Version: {Environment.Version}");
sb.AppendLine($"* Installed .NET Framework: ");
foreach (var result in GetFrameworkVersionFromRegistry())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@

<ItemGroup>
<Compile Include="..\SolutionAssemblyInfo.cs" Link="Properties\SolutionAssemblyInfo.cs" />
<None Include="FodyWeavers.xml" />
</ItemGroup>

<ItemGroup>
Expand All @@ -55,6 +56,7 @@
<PackageReference Include="Pinyin4DotNet" Version="2016.4.23.4" />
<PackageReference Include="System.Drawing.Common" Version="4.7.0" />
<PackageReference Include="System.Runtime" Version="4.3.1" />
<PackageReference Include="PropertyChanged.Fody" Version="2.5.13" />
</ItemGroup>

<ItemGroup>
Expand Down
4 changes: 4 additions & 0 deletions Flow.Launcher.Infrastructure/FodyWeavers.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<PropertyChanged />
</Weavers>
32 changes: 0 additions & 32 deletions Flow.Launcher.Infrastructure/FuzzyMatcher.cs

This file was deleted.

5 changes: 2 additions & 3 deletions Flow.Launcher.Infrastructure/Image/ImageLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,8 @@ private static ImageResult GetThumbnailResult(ref string path, bool loadFullImag
if (Directory.Exists(path))
{
/* Directories can also have thumbnails instead of shell icons.
* Generating thumbnails for a bunch of folders while scrolling through
* results from Everything makes a big impact on performance and
* Flow.Launcher responsibility.
* Generating thumbnails for a bunch of folder results while scrolling
* could have a big impact on performance and Flow.Launcher responsibility.
* - Solution: just load the icon
*/
type = ImageType.Folder;
Expand Down
24 changes: 0 additions & 24 deletions Flow.Launcher.Infrastructure/StringMatcher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,6 @@ public StringMatcher(IAlphabet alphabet = null)

public static StringMatcher Instance { get; internal set; }

[Obsolete("This method is obsolete and should not be used. Please use the static function StringMatcher.FuzzySearch")]
public static int Score(string source, string target)
{
return FuzzySearch(target, source).Score;
}

[Obsolete("This method is obsolete and should not be used. Please use the static function StringMatcher.FuzzySearch")]
public static bool IsMatch(string source, string target)
{
return Score(source, target) > 0;
}

public static MatchResult FuzzySearch(string query, string stringToCompare)
{
return Instance.FuzzyMatch(query, stringToCompare);
Expand Down Expand Up @@ -323,18 +311,6 @@ private int ScoreAfterSearchPrecisionFilter(int rawScore)

public class MatchOption
{
/// <summary>
/// prefix of match char, use for highlight
/// </summary>
[Obsolete("this is never used")]
public string Prefix { get; set; } = "";

/// <summary>
/// suffix of match char, use for highlight
/// </summary>
[Obsolete("this is never used")]
public string Suffix { get; set; } = "";

public bool IgnoreCase { get; set; } = true;
}
}
1 change: 1 addition & 0 deletions Flow.Launcher.Infrastructure/UserSettings/DataLocation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@ public static bool PortableDataLocationInUse()
}

public static readonly string PluginsDirectory = Path.Combine(DataDirectory(), Constant.Plugins);
public static readonly string PluginSettingsDirectory = Path.Combine(DataDirectory(), "Settings", Constant.Plugins);
}
}
12 changes: 12 additions & 0 deletions Flow.Launcher.Infrastructure/UserSettings/PluginSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,16 @@ public void UpdatePluginSettings(List<PluginMetadata> metadatas)
if (Plugins.ContainsKey(metadata.ID))
{
var settings = Plugins[metadata.ID];

// TODO: Remove. This is one off for 1.2.0 release.
// Introduced a new action keyword in Explorer, so need to update plugin setting in the UserData folder.
// This kind of plugin meta update should be handled by a dedicated method trigger by version bump.
if (metadata.ID == "572be03c74c642baae319fc283e561a8" && metadata.ActionKeywords.Count != settings.ActionKeywords.Count)
settings.ActionKeywords = metadata.ActionKeywords;

if (string.IsNullOrEmpty(settings.Version))
settings.Version = metadata.Version;

if (settings.ActionKeywords?.Count > 0)
{
metadata.ActionKeywords = settings.ActionKeywords;
Expand All @@ -28,6 +38,7 @@ public void UpdatePluginSettings(List<PluginMetadata> metadatas)
{
ID = metadata.ID,
Name = metadata.Name,
Version = metadata.Version,
ActionKeywords = metadata.ActionKeywords,
Disabled = metadata.Disabled
};
Expand All @@ -39,6 +50,7 @@ public class Plugin
{
public string ID { get; set; }
public string Name { get; set; }
public string Version { get; set; }
public List<string> ActionKeywords { get; set; } // a reference of the action keywords from plugin manager

/// <summary>
Expand Down
14 changes: 0 additions & 14 deletions Flow.Launcher.Infrastructure/UserSettings/Settings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,6 @@ public string QuerySearchPrecisionString
public PluginsSettings PluginSettings { get; set; } = new PluginsSettings();
public ObservableCollection<CustomPluginHotkey> CustomPluginHotkeys { get; set; } = new ObservableCollection<CustomPluginHotkey>();

[Obsolete]
public double Opacity { get; set; } = 1;

[Obsolete]
public OpacityMode OpacityMode { get; set; } = OpacityMode.Normal;

public bool DontPromptUpdateMsg { get; set; }
public bool EnableUpdateLog { get; set; }

Expand Down Expand Up @@ -108,12 +102,4 @@ public enum LastQueryMode
Empty,
Preserved
}

[Obsolete]
public enum OpacityMode
{
Normal = 0,
LayeredWindow = 1,
DWM = 2
}
}
17 changes: 0 additions & 17 deletions Flow.Launcher.Plugin/Feature.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,6 @@ public interface IContextMenu : IFeatures
List<Result> LoadContextMenus(Result selectedResult);
}

[Obsolete("If a plugin has a action keyword, then it is exclusive. This interface will be remove in v1.3.0")]
public interface IExclusiveQuery : IFeatures
{
[Obsolete("If a plugin has a action keyword, then it is exclusive. This method will be remove in v1.3.0")]
bool IsExclusiveQuery(Query query);
}

/// <summary>
/// Represent plugin query will be executed in UI thread directly. Don't do long-running operation in Query method if you implement this interface
/// <remarks>This will improve the performance of instant search like websearch or cmd plugin</remarks>
/// </summary>
[Obsolete("Flow Launcher is fast enough now, executed on ui thread is no longer needed")]
public interface IInstantQuery : IFeatures
{
bool IsInstantQuery(string query);
}

/// <summary>
/// Represent plugins that support internationalization
/// </summary>
Expand Down
9 changes: 0 additions & 9 deletions Flow.Launcher.Plugin/Features/IContextMenu.cs

This file was deleted.

9 changes: 0 additions & 9 deletions Flow.Launcher.Plugin/Features/IExclusiveQuery.cs

This file was deleted.

9 changes: 0 additions & 9 deletions Flow.Launcher.Plugin/Features/IInstantQuery.cs

This file was deleted.

8 changes: 4 additions & 4 deletions Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
</PropertyGroup>

<PropertyGroup>
<Version>1.1.0</Version>
<PackageVersion>1.1.0</PackageVersion>
<AssemblyVersion>1.1.0</AssemblyVersion>
<FileVersion>1.1.0</FileVersion>
<Version>1.2.0</Version>
<PackageVersion>1.2.0</PackageVersion>
<AssemblyVersion>1.2.0</AssemblyVersion>
<FileVersion>1.2.0</FileVersion>
<PackageId>Flow.Launcher.Plugin</PackageId>
<Authors>Flow-Launcher</Authors>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
Expand Down
Loading