diff --git a/Flow.Launcher.Infrastructure/FileExplorerHelper.cs b/Flow.Launcher.Infrastructure/FileExplorerHelper.cs
index b738b9c88..d908b0fde 100644
--- a/Flow.Launcher.Infrastructure/FileExplorerHelper.cs
+++ b/Flow.Launcher.Infrastructure/FileExplorerHelper.cs
@@ -68,7 +68,7 @@ namespace Flow.Launcher.Infrastructure
var numRemaining = hWnds.Count;
PInvoke.EnumWindows((wnd, _) =>
{
- var searchIndex = hWnds.FindIndex(x => x.HWND == wnd.Value);
+ var searchIndex = hWnds.FindIndex(x => new IntPtr(x.HWND) == wnd);
if (searchIndex != -1)
{
z[searchIndex] = index;
diff --git a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj
index 1475252ca..1d6ee5c86 100644
--- a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj
+++ b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj
@@ -53,7 +53,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Flow.Launcher.Infrastructure/NativeMethods.txt b/Flow.Launcher.Infrastructure/NativeMethods.txt
index d8777ff27..f117534a1 100644
--- a/Flow.Launcher.Infrastructure/NativeMethods.txt
+++ b/Flow.Launcher.Infrastructure/NativeMethods.txt
@@ -16,7 +16,4 @@ WM_KEYUP
WM_SYSKEYDOWN
WM_SYSKEYUP
-EnumWindows
-
-OleInitialize
-OleUninitialize
\ No newline at end of file
+EnumWindows
\ No newline at end of file
diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
index 5b5d10e6e..c412fb32f 100644
--- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
+++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
@@ -230,7 +230,7 @@ namespace Flow.Launcher.Infrastructure.UserSettings
[JsonIgnore]
public ObservableCollection BuiltinShortcuts { get; set; } = new()
{
- new BuiltinShortcutModel("{clipboard}", "shortcut_clipboard_description", () => Win32Helper.StartSTATaskAsync(Clipboard.GetText).Result),
+ new BuiltinShortcutModel("{clipboard}", "shortcut_clipboard_description", Clipboard.GetText),
new BuiltinShortcutModel("{active_explorer_path}", "shortcut_active_explorer_path", FileExplorerHelper.GetActiveExplorerPath)
};
diff --git a/Flow.Launcher.Infrastructure/Win32Helper.cs b/Flow.Launcher.Infrastructure/Win32Helper.cs
index 6d6c72864..867fef4f5 100644
--- a/Flow.Launcher.Infrastructure/Win32Helper.cs
+++ b/Flow.Launcher.Infrastructure/Win32Helper.cs
@@ -1,150 +1,12 @@
using System;
using System.Runtime.InteropServices;
-using System.Threading;
-using System.Threading.Tasks;
using System.Windows.Interop;
using System.Windows;
-using Windows.Win32;
namespace Flow.Launcher.Infrastructure
{
public static class Win32Helper
{
- #region STA Thread
-
- /*
- Found on https://github.com/files-community/Files
- */
-
- public static Task StartSTATaskAsync(Action action)
- {
- var taskCompletionSource = new TaskCompletionSource();
- Thread thread = new(() =>
- {
- PInvoke.OleInitialize();
-
- try
- {
- action();
- taskCompletionSource.SetResult();
- }
- catch (System.Exception)
- {
- taskCompletionSource.SetResult();
- }
- finally
- {
- PInvoke.OleUninitialize();
- }
- })
- {
- IsBackground = true,
- Priority = ThreadPriority.Normal
- };
-
- thread.SetApartmentState(ApartmentState.STA);
- thread.Start();
-
- return taskCompletionSource.Task;
- }
-
- public static Task StartSTATaskAsync(Func func)
- {
- var taskCompletionSource = new TaskCompletionSource();
- Thread thread = new(async () =>
- {
- PInvoke.OleInitialize();
-
- try
- {
- await func();
- taskCompletionSource.SetResult();
- }
- catch (System.Exception)
- {
- taskCompletionSource.SetResult();
- }
- finally
- {
- PInvoke.OleUninitialize();
- }
- })
- {
- IsBackground = true,
- Priority = ThreadPriority.Normal
- };
-
- thread.SetApartmentState(ApartmentState.STA);
- thread.Start();
-
- return taskCompletionSource.Task;
- }
-
- public static Task StartSTATaskAsync(Func func)
- {
- var taskCompletionSource = new TaskCompletionSource();
-
- Thread thread = new(() =>
- {
- PInvoke.OleInitialize();
-
- try
- {
- taskCompletionSource.SetResult(func());
- }
- catch (System.Exception)
- {
- taskCompletionSource.SetResult(default);
- }
- finally
- {
- PInvoke.OleUninitialize();
- }
- })
- {
- IsBackground = true,
- Priority = ThreadPriority.Normal
- };
-
- thread.SetApartmentState(ApartmentState.STA);
- thread.Start();
-
- return taskCompletionSource.Task;
- }
-
- public static Task StartSTATaskAsync(Func> func)
- {
- var taskCompletionSource = new TaskCompletionSource();
-
- Thread thread = new(async () =>
- {
- PInvoke.OleInitialize();
- try
- {
- taskCompletionSource.SetResult(await func());
- }
- catch (System.Exception)
- {
- taskCompletionSource.SetResult(default);
- }
- finally
- {
- PInvoke.OleUninitialize();
- }
- })
- {
- IsBackground = true,
- Priority = ThreadPriority.Normal
- };
-
- thread.SetApartmentState(ApartmentState.STA);
- thread.Start();
-
- return taskCompletionSource.Task;
- }
-
- #endregion
-
#region Blur Handling
/*
diff --git a/Flow.Launcher.Plugin/Result.cs b/Flow.Launcher.Plugin/Result.cs
index f2050cc9f..c6ca81cf3 100644
--- a/Flow.Launcher.Plugin/Result.cs
+++ b/Flow.Launcher.Plugin/Result.cs
@@ -157,27 +157,6 @@ namespace Flow.Launcher.Plugin
}
}
- ///
- public override bool Equals(object obj)
- {
- var r = obj as Result;
-
- var equality = string.Equals(r?.Title, Title) &&
- string.Equals(r?.SubTitle, SubTitle) &&
- string.Equals(r?.AutoCompleteText, AutoCompleteText) &&
- string.Equals(r?.CopyText, CopyText) &&
- string.Equals(r?.IcoPath, IcoPath) &&
- TitleHighlightData == r.TitleHighlightData;
-
- return equality;
- }
-
- ///
- public override int GetHashCode()
- {
- return HashCode.Combine(Title, SubTitle, AutoCompleteText, CopyText, IcoPath);
- }
-
///
public override string ToString()
{
diff --git a/Flow.Launcher.Test/Plugins/JsonRPCPluginTest.cs b/Flow.Launcher.Test/Plugins/JsonRPCPluginTest.cs
index 3d05e5679..42a4630fe 100644
--- a/Flow.Launcher.Test/Plugins/JsonRPCPluginTest.cs
+++ b/Flow.Launcher.Test/Plugins/JsonRPCPluginTest.cs
@@ -63,28 +63,5 @@ namespace Flow.Launcher.Test.Plugins
})
};
- [TestCaseSource(typeof(JsonRPCPluginTest), nameof(ResponseModelsSource))]
- public async Task GivenModel_WhenSerializeWithDifferentNamingPolicy_ThenExpectSameResult_Async(JsonRPCQueryResponseModel reference)
- {
- var camelText = JsonSerializer.Serialize(reference, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase });
-
- var pascalText = JsonSerializer.Serialize(reference);
-
- var results1 = await QueryAsync(new Query { Search = camelText }, default);
- var results2 = await QueryAsync(new Query { Search = pascalText }, default);
-
- Assert.IsNotNull(results1);
- Assert.IsNotNull(results2);
-
- foreach (var ((result1, result2), referenceResult) in results1.Zip(results2).Zip(reference.Result))
- {
- Assert.AreEqual(result1, result2);
- Assert.AreEqual(result1, referenceResult);
-
- Assert.IsNotNull(result1);
- Assert.IsNotNull(result1.AsyncAction);
- }
- }
-
}
}
diff --git a/Flow.Launcher/Flow.Launcher.csproj b/Flow.Launcher/Flow.Launcher.csproj
index 4ec249c2b..788beddfb 100644
--- a/Flow.Launcher/Flow.Launcher.csproj
+++ b/Flow.Launcher/Flow.Launcher.csproj
@@ -99,7 +99,7 @@
-
+
diff --git a/Flow.Launcher/Languages/de.xaml b/Flow.Launcher/Languages/de.xaml
index 7f2e2bd8d..c7e775ae3 100644
--- a/Flow.Launcher/Languages/de.xaml
+++ b/Flow.Launcher/Languages/de.xaml
@@ -65,8 +65,8 @@
Letzte Abfrage beibehalten
Letzte Abfrage auswählen
Letzte Abfrage leeren
- Preserve Last Action Keyword
- Select Last Action Keyword
+ Letztes Aktions-Schlüsselwort beibehalten
+ Letztes Aktions-Schlüsselwort auswählen
Feste Fensterhöhe
Die Fensterhöhe ist durch Ziehen nicht anpassbar.
Maximal gezeigte Ergebnisse
diff --git a/Flow.Launcher/Languages/es.xaml b/Flow.Launcher/Languages/es.xaml
index bf22aea48..c7595f69b 100644
--- a/Flow.Launcher/Languages/es.xaml
+++ b/Flow.Launcher/Languages/es.xaml
@@ -65,8 +65,8 @@
Mantener la última consulta
Seleccionar la última consulta
Limpiar la última consulta
- Conservar palabra clave de última acción
- Seleccionar palabra clave de última acción
+ Conservar última palabra clave de acción
+ Seleccionar última palabra clave de acción
Altura de la ventana fija
La altura de la ventana no se puede ajustar arrastrando el ratón.
Número máximo de resultados mostrados
diff --git a/Flow.Launcher/Languages/he.xaml b/Flow.Launcher/Languages/he.xaml
index eeb33da17..f3c9bb307 100644
--- a/Flow.Launcher/Languages/he.xaml
+++ b/Flow.Launcher/Languages/he.xaml
@@ -9,7 +9,7 @@
אנא בחר את קובץ ההפעלה {0}
לא ניתן להגדיר נתיב הפעלה {0}, אנא נסה שוב בהגדרות Flow (גלול עד למטה).
נכשל בהפעלת תוספים
- תוספים: {0} - נכשלים בטעינה ויהיו מושבתים, אנא צור קשר עם יוצרי התוספים לקבלת עזרה
+ תוספים: {0} - נכשלו בטעינה ויושבתו, אנא צור קשר עם יוצרי התוספים לקבלת עזרה
רישום מקש הקיצור "{0}" נכשל. ייתכן שמקש הקיצור נמצא בשימוש על ידי תוכנה אחרת. שנה למקש קיצור אחר, או צא מהתוכנה האחרת.
@@ -54,10 +54,10 @@
צג ראשי
צג מותאם אישית
Search Window Position on Monitor
- Center
- Center Top
- Left Top
- Right Top
+ מרכז
+ מרכז עליון
+ שמאל עליון
+ ימין עליון
Custom Position
שפה
Last Query Style
@@ -83,16 +83,16 @@
Please select pythonw.exe
Always Start Typing in English Mode
Temporarily change your input method to English mode when activating Flow.
- Auto Update
- Select
+ עדכון אוטומטי
+ בחר
Hide Flow Launcher on startup
Flow Launcher search window is hidden in the tray after starting up.
Hide tray icon
When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.
Query Search Precision
Changes minimum match score required for results.
- None
- Low
+ ללא
+ נמוך
Regular
Search with Pinyin
Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese.
@@ -120,26 +120,26 @@
Priority
Change Plugin Results Priority
Plugin Directory
- by
+ מאת
Init time:
Query time:
- Version
- Website
- Uninstall
+ גרסה
+ אתר
+ הסר התקנה
חנות תוספים
- New Release
+ שחרור חדש
Recently Updated
תוספים
- Installed
+ מותקן
רענן
התקן
- Uninstall
+ הסר התקנה
עדכון
Plugin already installed
- New Version
+ גרסה חדשה
This plugin has been updated within the last 7 days
New Update is Available
@@ -164,7 +164,7 @@
Query Box Font
Result Title Font
Result Subtitle Font
- Reset
+ אפס
Customize
Window Mode
Opacity
@@ -196,9 +196,9 @@
- Hotkey
- Hotkeys
- Open Flow Launcher
+ מקש קיצור
+ מקשי קיצור
+ פתח את Flow Launcher
Enter shortcut to show/hide Flow Launcher.
Toggle Preview
Enter shortcut to show/hide preview in search window.
@@ -206,24 +206,24 @@
List of currently registered hotkeys
Open Result Modifier Key
Select a modifier key to open selected result via keyboard.
- Show Hotkey
+ הצג מקש קיצור
Show result selection hotkey with results.
Auto Complete
Runs autocomplete for the selected items.
Select Next Item
Select Previous Item
- Next Page
- Previous Page
+ הדף הבא
+ הדף הקודם
Cycle Previous Query
Cycle Next Query
Open Context Menu
Open Native Context Menu
Open Setting Window
- Copy File Path
+ העתק את נתיב הקובץ
Toggle Game Mode
Toggle History
Open Containing Folder
- Run As Admin
+ הרץ כמנהל
Refresh Search Results
Reload Plugins Data
Quick Adjust Window Width
@@ -234,13 +234,13 @@
Custom Query Shortcuts
Built-in Shortcuts
שאילתה
- Shortcut
- Expansion
- Description
+ קיצור דרך
+ הרחבה
+ תיאור
מחק
ערוך
הוסף
- None
+ ללא
אנא בחר פריט
Are you sure you want to delete {0} plugin hotkey?
Are you sure you want to delete shortcut: {0} with expansion {1}?
@@ -259,8 +259,8 @@
Enable HTTP Proxy
HTTP Server
Port
- User Name
- Password
+ שם משתמש
+ סיסמא
Test Proxy
שמור
Server field can't be empty
@@ -272,11 +272,11 @@
אודות
- Website
- GitHub
- Docs
- Version
- Icons
+ אתר אינטרנט
+ Github
+ תיעוד
+ גרסה
+ סמלים
You have activated Flow Launcher {0} times
Check for Updates
Become A Sponsor
@@ -302,8 +302,8 @@
Select File Manager
Please specify the file location of the file manager you using and add arguments as required. The "%d" represents the directory path to open for, used by the Arg for Folder field and for commands opening specific directories. The "%f" represents the file path to open for, used by the Arg for File field and for commands opening specific files.
For example, if the file manager uses a command such as "totalcmd.exe /A c:\windows" to open the c:\windows directory, the File Manager Path will be totalcmd.exe, and the Arg For Folder will be /A "%d". Certain file managers like QTTabBar may just require a path to be supplied, in this instance use "%d" as the File Manager Path and leave the rest of the fileds blank.
- File Manager
- Profile Name
+ מנהל קבצים
+ שם פרופיל
File Manager Path
Arg For Folder
Arg For File
@@ -314,9 +314,9 @@
Browser
Browser Name
Browser Path
- New Window
- New Tab
- Private Mode
+ חלון חדש
+ כרטיסייה חדשה
+ מצב פרטיות
Change Priority
@@ -362,14 +362,14 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
שמור
Overwrite
ביטול
- Reset
+ אפס
מחק
- OK
- Yes
- No
+ אישור
+ כן
+ לא
- Version
+ גרסה
זמן
Please tell us how application crashed so we can fix it
שלח דיווח
@@ -377,21 +377,21 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
כללי
חריגים
Exception Type
- Source
+ מקור
Stack Trace
- Sending
+ שולח
Report sent successfully
Failed to send report
Flow Launcher got an error
- Please wait...
+ אנא המתן...
Checking for new update
You already have the latest Flow Launcher version
- Update found
- Updating...
+ עדכון נמצא
+ מעדכן...
Flow Launcher was not able to move your user profile data to the new update version.
Please manually move your profile data folder from {0} to {1}
@@ -405,7 +405,7 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
Check your connection and try updating proxy settings to github-cloud.s3.amazonaws.com.
This upgrade will restart Flow Launcher
Following files will be updated
- Update files
+ עדכן קבצים
Update description
@@ -416,7 +416,7 @@ If you add an '@' prefix while inputting a shortcut, it matches any position in
Search and run all files and applications on your PC
Search everything from applications, files, bookmarks, YouTube, Twitter and more. All from the comfort of your keyboard without ever touching the mouse.
Flow Launcher starts with the hotkey below, go ahead and try it out now. To change it, click on the input and press the desired hotkey on the keyboard.
- Hotkeys
+ מקשי קיצור
Action Keyword and Commands
Search the web, launch applications or run various functions through Flow Launcher plugins. Certain functions start with an action keyword, and if necessary, they can be used without action keywords. Try the queries below in Flow Launcher.
Let's Start Flow Launcher
diff --git a/Flow.Launcher/PublicAPIInstance.cs b/Flow.Launcher/PublicAPIInstance.cs
index dcdb798ff..f0295cf24 100644
--- a/Flow.Launcher/PublicAPIInstance.cs
+++ b/Flow.Launcher/PublicAPIInstance.cs
@@ -117,38 +117,35 @@ namespace Flow.Launcher
ShellCommand.Execute(startInfo);
}
- public async void CopyToClipboard(string stringToCopy, bool directCopy = false, bool showDefaultNotification = true)
+ public void CopyToClipboard(string stringToCopy, bool directCopy = false, bool showDefaultNotification = true)
{
if (string.IsNullOrEmpty(stringToCopy))
return;
- await Win32Helper.StartSTATaskAsync(() =>
+ var isFile = File.Exists(stringToCopy);
+ if (directCopy && (isFile || Directory.Exists(stringToCopy)))
{
- var isFile = File.Exists(stringToCopy);
- if (directCopy && (isFile || Directory.Exists(stringToCopy)))
- {
- var paths = new StringCollection
+ var paths = new StringCollection
{
stringToCopy
};
- Clipboard.SetFileDropList(paths);
+ Clipboard.SetFileDropList(paths);
- if (showDefaultNotification)
- ShowMsg(
- $"{GetTranslation("copy")} {(isFile ? GetTranslation("fileTitle") : GetTranslation("folderTitle"))}",
- GetTranslation("completedSuccessfully"));
- }
- else
- {
- Clipboard.SetDataObject(stringToCopy);
+ if (showDefaultNotification)
+ ShowMsg(
+ $"{GetTranslation("copy")} {(isFile ? GetTranslation("fileTitle") : GetTranslation("folderTitle"))}",
+ GetTranslation("completedSuccessfully"));
+ }
+ else
+ {
+ Clipboard.SetDataObject(stringToCopy);
- if (showDefaultNotification)
- ShowMsg(
- $"{GetTranslation("copy")} {GetTranslation("textTitle")}",
- GetTranslation("completedSuccessfully"));
- }
- });
+ if (showDefaultNotification)
+ ShowMsg(
+ $"{GetTranslation("copy")} {GetTranslation("textTitle")}",
+ GetTranslation("completedSuccessfully"));
+ }
}
public void StartLoadingBar() => _mainVM.ProgressBarVisibility = Visibility.Visible;
diff --git a/Flow.Launcher/ViewModel/ResultsViewModel.cs b/Flow.Launcher/ViewModel/ResultsViewModel.cs
index 107372e01..7d2b5bc93 100644
--- a/Flow.Launcher/ViewModel/ResultsViewModel.cs
+++ b/Flow.Launcher/ViewModel/ResultsViewModel.cs
@@ -182,7 +182,7 @@ namespace Flow.Launcher.ViewModel
///
/// To avoid deadlock, this method should not called from main thread
///
- public void AddResults(IEnumerable resultsForUpdates, CancellationToken token, bool reselect = true)
+ public void AddResults(ICollection resultsForUpdates, CancellationToken token, bool reselect = true)
{
var newResults = NewResults(resultsForUpdates);
@@ -228,12 +228,12 @@ namespace Flow.Launcher.ViewModel
.ToList();
}
- private List NewResults(IEnumerable resultsForUpdates)
+ private List NewResults(ICollection resultsForUpdates)
{
if (!resultsForUpdates.Any())
return Results;
- return Results.Where(r => r != null && !resultsForUpdates.Any(u => u.ID == r.Result.PluginID))
+ return Results.Where(r => r?.Result != null && resultsForUpdates.All(u => u.ID != r.Result.PluginID))
.Concat(resultsForUpdates.SelectMany(u => u.Results, (u, r) => new ResultViewModel(r, _settings)))
.OrderByDescending(rv => rv.Result.Score)
.ToList();
diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj b/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj
index 69c03b877..1b985acf9 100644
--- a/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj
+++ b/Plugins/Flow.Launcher.Plugin.Calculator/Flow.Launcher.Plugin.Calculator.csproj
@@ -62,7 +62,7 @@
-
+
\ No newline at end of file
diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/he.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/he.xaml
index 0e1753d67..f87dd7d63 100644
--- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/he.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/he.xaml
@@ -29,8 +29,8 @@
Everything Setting
Preview Panel
Size
- Date Created
- Date Modified
+ תאריך יצירה
+ תאריך שינוי
Display File Info
Date and time format
Sort Option:
@@ -126,20 +126,20 @@
Failed to load Everything SDK
אזהרה: שירות Everything אינו פועל
שגיאה במהלך שאילתה לEverything
- Sort By
+ מיין לפי
Name
- Path
+ נתיב
Size
Extension
Type Name
- Date Created
- Date Modified
- Attributes
+ תאריך יצירה
+ תאריך שינוי
+ מאפיינים
File List FileName
Run Count
- Date Recently Changed
- Date Accessed
- Date Run
+ תאריך שינוי אחרון
+ תאריך גישה
+ תאריך הרצה
↑
↓
Warning: This is not a Fast Sort option, searches may be slow
@@ -149,11 +149,11 @@
Click to launch or install Everything
Everything Installation
- Installing Everything service. Please wait...
- Successfully installed Everything service
- Failed to automatically install Everything service. Please manually install it from https://www.voidtools.com
+ מתקין את שירות Everything. אנא המתן...
+ שירות Everything הותקן בהצלחה
+ התקנה אוטומטית של שירות Everything נכשלה. אנא הורד אותו ידנית מ- https://www.voidtools.com
Click here to start it
- Unable to find an Everything installation, would you like to manually select a location?{0}{0}Click no and Everything will be automatically installed for you
+ לא מצליח למצוא התקנה של Everything, האם תרצה לבחור מיקום באופן ידני?{0}{0}לחץ על לא וEverything יותקן עבורך אוטומטית
Do you want to enable content search for Everything?
It can be very slow without index (which is only supported in Everything v1.5+)
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs
index 9800fa020..743f5b25b 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/Utilities.cs
@@ -1,10 +1,9 @@
using Flow.Launcher.Core.ExternalPlugins;
-using Flow.Launcher.Infrastructure.UserSettings;
using ICSharpCode.SharpZipLib.Zip;
-using Newtonsoft.Json;
using System.IO;
using System.IO.Compression;
using System.Linq;
+using System.Text.Json;
namespace Flow.Launcher.Plugin.PluginsManager
{
@@ -72,12 +71,9 @@ namespace Flow.Launcher.Plugin.PluginsManager
if (pluginJsonEntry != null)
{
- using (StreamReader reader = new StreamReader(pluginJsonEntry.Open()))
- {
- string pluginJsonContent = reader.ReadToEnd();
- plugin = JsonConvert.DeserializeObject(pluginJsonContent);
- plugin.IcoPath = "Images\\zipfolder.png";
- }
+ using Stream stream = pluginJsonEntry.Open();
+ plugin = JsonSerializer.Deserialize(stream);
+ plugin.IcoPath = "Images\\zipfolder.png";
}
}
diff --git a/Plugins/Flow.Launcher.Plugin.WindowsSettings/Properties/Resources.de-DE.resx b/Plugins/Flow.Launcher.Plugin.WindowsSettings/Properties/Resources.de-DE.resx
index dac5f82bc..dcc74d520 100644
--- a/Plugins/Flow.Launcher.Plugin.WindowsSettings/Properties/Resources.de-DE.resx
+++ b/Plugins/Flow.Launcher.Plugin.WindowsSettings/Properties/Resources.de-DE.resx
@@ -2130,7 +2130,7 @@
Ändern, wie der Mauszeiger ausschaut
- Change power-saving settings
+ Energiespareinstellungen ändern
Optimieren für Blindheit
@@ -2143,7 +2143,7 @@
Windows-Features ein- oder ausschalten
- Show which operating system your computer is running
+ Betriebssystem, welches auf deinem Computer läuft, anzeigen
Lokale Dienste ansehen