Skip to content
Merged
Show file tree
Hide file tree
Changes from 66 commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
a9476b1
Adjust Plugin List template
onesounds Oct 7, 2021
165cbb7
Adjust Plugin List template
onesounds Oct 7, 2021
1a43f59
Adjust Plugin page (move expander button to right position)
onesounds Oct 8, 2021
2ca3c6f
- win 10 Mouse over Blue Fix
onesounds Oct 8, 2021
71c7ad5
Setting Window (WIP) before adjust expander control (for fix unknown …
onesounds Oct 8, 2021
096d142
- Add expander style to resource dictionary
onesounds Oct 9, 2021
4bed121
- Merge Local
onesounds Oct 9, 2021
592ea8c
Use Binding From item
taooceros Oct 9, 2021
254a906
- Change Prriority text to button
onesounds Oct 9, 2021
bec7d62
- Remove Expander Button's Circle and adjust arrow size
onesounds Oct 9, 2021
762df7f
- Remove colon Action keyword String
onesounds Oct 9, 2021
4a4f0bb
- Add plugin page title
onesounds Oct 9, 2021
0d11b79
- Adjust Shell, Calc, WebSearch Setting Margin
onesounds Oct 9, 2021
2dc8bb3
- Add Automatically Hide Plugin Info Border by SettingControl Height
onesounds Oct 9, 2021
234816d
- Add Automatically Hide Plugin Info Border by SettingControl Height
onesounds Oct 9, 2021
5ff1e73
- Adjust Content Control Margin
onesounds Oct 9, 2021
e6c4ca1
- Adjust Content Control Margin
onesounds Oct 9, 2021
e48761a
- Adjust Content Control Margin
onesounds Oct 9, 2021
2d98dcb
- Add Author name in plugin list
onesounds Oct 9, 2021
579f8c8
- Add Author name in plugin list
onesounds Oct 9, 2021
c5f1b28
Add plugin list last item bottom margin
onesounds Oct 9, 2021
d87d95e
Add plugin list last item bottom margin
onesounds Oct 9, 2021
1ca3c6e
remove commment
onesounds Oct 9, 2021
8174d54
Fix PriorityClick Logic
taooceros Oct 9, 2021
e5d3424
Merge branch 'PluginStore' of github.com:onesounds/Flow.Launcher into…
taooceros Oct 9, 2021
1e479ed
- Add plugin store tab (WIP)
onesounds Oct 10, 2021
876d477
- Add install button with hover
onesounds Oct 10, 2021
4164b46
Add author and version in hover menu.
onesounds Oct 10, 2021
ccb565e
Responsive Width in Plugin Store List (WIP
onesounds Oct 10, 2021
3d06404
Move PluginsManifest to Flow.Launcher.Core & Change PluginStore Bindi…
taooceros Oct 10, 2021
c4f9dcb
Merge Dev (Conflict PluginsManifest Move)
taooceros Oct 10, 2021
0fc1d15
Add Responsive Width to TabHeader
onesounds Oct 10, 2021
dc6babe
Adjust the alignment of the right margin of the entire page.
onesounds Oct 10, 2021
4aae101
Merge Binding
onesounds Oct 10, 2021
757d995
- Fix Default Font size (Tab control was the cause.)
onesounds Oct 10, 2021
240dd92
- Fix Default Font size (Tab control was the cause.)
onesounds Oct 10, 2021
736de20
Merge branch 'PluginStore' of https://github.com/onesounds/Flow.Launc…
onesounds Oct 11, 2021
c1b4f32
add website link in plugin information area
onesounds Oct 11, 2021
d47cb78
add website link in plugin information area
onesounds Oct 11, 2021
ec2db30
Merge branch 'PluginStore' of https://github.com/onesounds/Flow.Launc…
onesounds Oct 11, 2021
08f50ea
- Add Website hyperlink to author
onesounds Oct 15, 2021
80a76b0
- Add Refresh Button (it need function binding)
onesounds Oct 15, 2021
47749df
change string "plugin" to "plugins" in tab menu
onesounds Oct 15, 2021
e784ea6
- Change store Item to toggle mode. when it one more click, it desele…
onesounds Oct 16, 2021
1ce3150
Merge remote-tracking branch 'upstream/dev' into PluginStore
taooceros Oct 17, 2021
52b3579
Implement Install & Refresh Button
taooceros Oct 17, 2021
da12a06
Add style for toggle button
onesounds Oct 17, 2021
2c96467
Fix QueryTime won't change by adding fody to Flow.Launcher.Plugin.csp…
taooceros Oct 20, 2021
a452feb
change plugin/plugin store scrollbar to autohidescrollbar.
onesounds Oct 21, 2021
be0df40
Merge branch 'PluginStore' of https://github.com/onesounds/Flow.Launc…
onesounds Oct 21, 2021
d106f06
- Add a string where there's no string in setting window.
onesounds Oct 21, 2021
4b63d82
- Add a string where there's no string in setting window.
onesounds Oct 21, 2021
21931a8
Add install string
onesounds Oct 21, 2021
ead14f2
- Redesign Priority Change Window
onesounds Oct 21, 2021
fd70326
Merge branch 'dev' of github.com:Flow-Launcher/Flow.Launcher into Plu…
taooceros Oct 21, 2021
ef01cfe
Merge branch 'PluginStore' of github.com:onesounds/Flow.Launcher into…
taooceros Oct 21, 2021
f6d4736
add scroll movement with drag
jjw24 Oct 21, 2021
3bacb3f
Revert "add scroll movement with drag"
taooceros Oct 22, 2021
82464b7
Remove deferred scroll option to enable direct scrolling
taooceros Oct 22, 2021
799ed81
Update en.xaml
Garulf Oct 23, 2021
e5a7c86
- remove AutoHideScrollbar tooltip
onesounds Oct 23, 2021
d1addc7
Remove Auto HIde Scrollbar section
onesounds Oct 23, 2021
1a51160
remove auto hiding of setting window's scrollbar
jjw24 Oct 25, 2021
8a59e87
Fix unselected issue for bookmark plugin by using binding (Don't unde…
taooceros Oct 25, 2021
5487834
Add back field to avoid duplicate plugin control loading
taooceros Oct 26, 2021
5610ca3
Additional string clarifications
Garulf Oct 27, 2021
a7ac7b1
remove GroupName attribute from Url plugin's open url behaviour
jjw24 Oct 27, 2021
b939f22
update result modifier key selection wording and tooltip in settings
jjw24 Oct 27, 2021
63ffb3a
plugin version bumps
jjw24 Oct 27, 2021
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
57 changes: 57 additions & 0 deletions Flow.Launcher.Core/ExternalPlugins/PluginsManifest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
using Flow.Launcher.Infrastructure.Http;
using Flow.Launcher.Infrastructure.Logger;
using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;

namespace Flow.Launcher.Core.ExternalPlugins
{
public static class PluginsManifest
{
static PluginsManifest()
{
UpdateTask = UpdateManifestAsync();
}

public static List<UserPlugin> UserPlugins { get; private set; } = new List<UserPlugin>();

public static Task UpdateTask { get; private set; }

private static readonly SemaphoreSlim manifestUpdateLock = new(1);

public static Task UpdateManifestAsync()
{
if (manifestUpdateLock.CurrentCount == 0)
{
return UpdateTask;
}

return UpdateTask = DownloadManifestAsync();
}

private async static Task DownloadManifestAsync()
{
try
{
await manifestUpdateLock.WaitAsync().ConfigureAwait(false);

await using var jsonStream = await Http.GetStreamAsync("https://raw.githubusercontent.com/Flow-Launcher/Flow.Launcher.PluginsManifest/plugin_api_v2/plugins.json")
.ConfigureAwait(false);

UserPlugins = await JsonSerializer.DeserializeAsync<List<UserPlugin>>(jsonStream).ConfigureAwait(false);
}
catch (Exception e)
{
Log.Exception("|PluginManagement.GetManifest|Encountered error trying to download plugins manifest", e);

UserPlugins = new List<UserPlugin>();
}
finally
{
manifestUpdateLock.Release();
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@

namespace Flow.Launcher.Plugin.PluginsManager.Models
namespace Flow.Launcher.Core.ExternalPlugins
{
public class UserPlugin
public record UserPlugin
{
public string ID { get; set; }
public string Name { get; set; }
Expand All @@ -12,5 +11,6 @@ public class UserPlugin
public string Website { get; set; }
public string UrlDownload { get; set; }
public string UrlSourceCode { get; set; }
public string IcoPath { get; set; }
}
}
2 changes: 0 additions & 2 deletions Flow.Launcher.Infrastructure/UserSettings/Settings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,6 @@ public bool HideNotifyIcon
public bool RememberLastLaunchLocation { get; set; }
public bool IgnoreHotkeysOnFullscreen { get; set; }

public bool AutoHideScrollBar { get; set; }

public HttpProxy Proxy { get; set; } = new HttpProxy();

[JsonConverter(typeof(JsonStringEnumConverter))]
Expand Down
5 changes: 5 additions & 0 deletions Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,13 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Fody" Version="6.5.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
<PackageReference Include="JetBrains.Annotations" Version="2021.2.0" />
<PackageReference Include="PropertyChanged.Fody" Version="3.4.0" />
</ItemGroup>

</Project>
5 changes: 5 additions & 0 deletions Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ public interface IPublicAPI
/// <param name="subTitle">Optional message subtitle</param>
void ShowMsgError(string title, string subTitle = "");

/// <summary>
/// Show the MainWindow when hiding
/// </summary>
void ShowMainWindow();

/// <summary>
/// Show message box
/// </summary>
Expand Down
2 changes: 1 addition & 1 deletion Flow.Launcher/ActionKeywords.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ private void btnDone_OnClick(object sender, RoutedEventArgs _)
var oldActionKeyword = plugin.Metadata.ActionKeywords[0];
var newActionKeyword = tbAction.Text.Trim();
newActionKeyword = newActionKeyword.Length > 0 ? newActionKeyword : "*";
if (!pluginViewModel.IsActionKeywordRegistered(newActionKeyword))
if (!PluginViewModel.IsActionKeywordRegistered(newActionKeyword))
{
pluginViewModel.ChangeActionKeyword(newActionKeyword, oldActionKeyword);
Close();
Expand Down
221 changes: 221 additions & 0 deletions Flow.Launcher/App.xaml

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions Flow.Launcher/Flow.Launcher.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Fody" Version="6.5.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="InputSimulator" Version="1.0.4" />
<PackageReference Include="ModernWpfUI" Version="0.9.4" />
<PackageReference Include="NHotkey.Wpf" Version="2.1.0" />
Expand Down
33 changes: 24 additions & 9 deletions Flow.Launcher/Languages/en.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,50 +13,59 @@
<system:String x:Key="iconTraySettings">Settings</system:String>
<system:String x:Key="iconTrayAbout">About</system:String>
<system:String x:Key="iconTrayExit">Exit</system:String>
<system:String x:Key="closeWindow">Close</system:String>

<!--Setting General-->
<system:String x:Key="flowlauncher_settings">Flow Launcher Settings</system:String>
<system:String x:Key="general">General</system:String>
<system:String x:Key="portableMode">Portable Mode</system:String>
<system:String x:Key="portableModeToolTIp">Store all settings and user data in one folder (Useful when used with removable drives or cloud services).</system:String>
<system:String x:Key="startFlowLauncherOnSystemStartup">Start Flow Launcher on system startup</system:String>
<system:String x:Key="hideFlowLauncherWhenLoseFocus">Hide Flow Launcher when focus is lost</system:String>
<system:String x:Key="dontPromptUpdateMsg">Do not show new version notifications</system:String>
<system:String x:Key="rememberLastLocation">Remember last launch location</system:String>
<system:String x:Key="language">Language</system:String>
<system:String x:Key="lastQueryMode">Last Query Style</system:String>
<system:String x:Key="lastQueryModeToolTip">Show/Hide previous results when Flow Launcher is reactivated.</system:String>
<system:String x:Key="LastQueryPreserved">Preserve Last Query</system:String>
<system:String x:Key="LastQuerySelected">Select last Query</system:String>
<system:String x:Key="LastQueryEmpty">Empty last Query</system:String>
<system:String x:Key="maxShowResults">Maximum results shown</system:String>
<system:String x:Key="ignoreHotkeysOnFullscreen">Ignore hotkeys in fullscreen mode</system:String>
<system:String x:Key="ignoreHotkeysOnFullscreenToolTip">Disable Flow Launcher activation when a full screen application is active (Recommended for games).</system:String>
<system:String x:Key="pythonDirectory">Python Directory</system:String>
<system:String x:Key="autoUpdates">Auto Update</system:String>
<system:String x:Key="autoHideScrollBar">Auto Hide Scroll Bar</system:String>
<system:String x:Key="autoHideScrollBarToolTip">Automatically hides the Settings window scroll bar and show when hover the mouse over it</system:String>
<system:String x:Key="selectPythonDirectory">Select</system:String>
<system:String x:Key="hideOnStartup">Hide Flow Launcher on startup</system:String>
<system:String x:Key="hideNotifyIcon">Hide tray icon</system:String>
<system:String x:Key="querySearchPrecision">Query Search Precision</system:String>
<system:String x:Key="querySearchPrecisionToolTip">Changes minimum match score required for results.</system:String>
<system:String x:Key="ShouldUsePinyin">Should Use Pinyin</system:String>
<system:String x:Key="ShouldUsePinyinToolTip">Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese</system:String>
<system:String x:Key="shadowEffectNotAllowed">Shadow effect is not allowed while current theme has blur effect enabled</system:String>

<!--Setting Plugin-->
<system:String x:Key="plugin">Plugin</system:String>
<system:String x:Key="plugin">Plugins</system:String>
<system:String x:Key="browserMorePlugins">Find more plugins</system:String>
<system:String x:Key="enable">Enable</system:String>
<system:String x:Key="disable">Disable</system:String>
<system:String x:Key="actionKeywords">Action keyword:</system:String>
<system:String x:Key="enable">On</system:String>
<system:String x:Key="disable">Off</system:String>
<system:String x:Key="actionKeywords">Action keyword</system:String>
<system:String x:Key="currentActionKeywords">Current action keyword:</system:String>
<system:String x:Key="newActionKeyword">New action keyword:</system:String>
<system:String x:Key="currentPriority">Current Priority:</system:String>
<system:String x:Key="newPriority">New Priority:</system:String>
<system:String x:Key="priority">Priority:</system:String>
<system:String x:Key="priority">Priority</system:String>
<system:String x:Key="pluginDirectory">Plugin Directory</system:String>
<system:String x:Key="author">Author</system:String>
<system:String x:Key="author">Author:</system:String>
<system:String x:Key="plugin_init_time">Init time:</system:String>
<system:String x:Key="plugin_query_time">Query time:</system:String>


<!--Setting Plugin Store-->
<system:String x:Key="pluginStore">Plugin Store</system:String>
<system:String x:Key="refresh">Refresh</system:String>
<system:String x:Key="install">Install</system:String>

<!--Setting Theme-->
<system:String x:Key="theme">Theme</system:String>
<system:String x:Key="browserMoreThemes">Browse for more themes</system:String>
Expand All @@ -67,12 +76,17 @@
<system:String x:Key="opacity">Opacity</system:String>
<system:String x:Key="theme_load_failure_path_not_exists">Theme {0} not exists, fallback to default theme</system:String>
<system:String x:Key="theme_load_failure_parse_error">Fail to load theme {0}, fallback to default theme</system:String>
<system:String x:Key="ThemeFolder">Theme Folder</system:String>
<system:String x:Key="OpenThemeFolder">Open Theme Folder</system:String>

<!--Setting Hotkey-->
<system:String x:Key="hotkey">Hotkey</system:String>
<system:String x:Key="flowlauncherHotkey">Flow Launcher Hotkey</system:String>
<system:String x:Key="flowlauncherHotkeyToolTip">Enter shortcut to show/hide Flow Launcher.</system:String>
<system:String x:Key="openResultModifiers">Open Result Modifiers</system:String>
<system:String x:Key="openResultModifiersToolTip">Select a modifier to action results via keyboard.</system:String>
<system:String x:Key="showOpenResultHotkey">Show Hotkey</system:String>
<system:String x:Key="showOpenResultHotkeyToolTip">Show result selection hotkey with results.</system:String>
<system:String x:Key="customQueryHotkey">Custom Query Hotkey</system:String>
<system:String x:Key="customQuery">Query</system:String>
<system:String x:Key="delete">Delete</system:String>
Expand Down Expand Up @@ -117,6 +131,7 @@
<system:String x:Key="documentation">Usage Tips:</system:String>

<!--Priority Setting Dialog-->
<system:String x:Key="changePriorityWindow">Change Priority</system:String>
<system:String x:Key="priority_tips">Greater the number, the higher the result will be ranked. Try setting it as 5. If you want the results to be lower than any other plugin's, provide a negative number</system:String>
<system:String x:Key="invalidPriority">Please provide an valid integer for Priority!</system:String>

Expand Down Expand Up @@ -180,4 +195,4 @@
<system:String x:Key="update_flowlauncher_update_files">Update files</system:String>
<system:String x:Key="update_flowlauncher_update_upadte_description">Update description</system:String>

</ResourceDictionary>
</ResourceDictionary>
Loading