diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 000000000..454c4e976
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,17 @@
+# To get started with Dependabot version updates, you'll need to specify which
+# package ecosystems to update and where the package manifests are located.
+# Please see the documentation for all configuration options:
+# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+
+version: 2
+updates:
+ - package-ecosystem: "nuget" # See documentation for possible values
+ directory: "/" # Location of package manifests
+ schedule:
+ interval: "weekly"
+ ignore:
+ - dependency-name: "squirrel-windows"
+ reviewers:
+ - "jjw24"
+ - "taooceros"
+ - "JohnTheGr8"
diff --git a/Flow.Launcher.Core/Flow.Launcher.Core.csproj b/Flow.Launcher.Core/Flow.Launcher.Core.csproj
index 9f9fa8ff5..7d18c467b 100644
--- a/Flow.Launcher.Core/Flow.Launcher.Core.csproj
+++ b/Flow.Launcher.Core/Flow.Launcher.Core.csproj
@@ -54,7 +54,7 @@
-
+
diff --git a/Flow.Launcher.Core/Plugin/PluginManager.cs b/Flow.Launcher.Core/Plugin/PluginManager.cs
index 383689c83..3b4a6e445 100644
--- a/Flow.Launcher.Core/Plugin/PluginManager.cs
+++ b/Flow.Launcher.Core/Plugin/PluginManager.cs
@@ -166,18 +166,18 @@ namespace Flow.Launcher.Core.Plugin
public static ICollection ValidPluginsForQuery(Query query)
{
- if (NonGlobalPlugins.ContainsKey(query.ActionKeyword))
- {
- var plugin = NonGlobalPlugins[query.ActionKeyword];
- return new List
- {
- plugin
- };
- }
- else
- {
+ if (query is null)
+ return Array.Empty();
+
+ if (!NonGlobalPlugins.ContainsKey(query.ActionKeyword))
return GlobalPlugins;
- }
+
+
+ var plugin = NonGlobalPlugins[query.ActionKeyword];
+ return new List
+ {
+ plugin
+ };
}
public static async Task> QueryForPluginAsync(PluginPair pair, Query query, CancellationToken token)
diff --git a/Flow.Launcher.Core/Resource/Theme.cs b/Flow.Launcher.Core/Resource/Theme.cs
index 205abcd34..872c4543e 100644
--- a/Flow.Launcher.Core/Resource/Theme.cs
+++ b/Flow.Launcher.Core/Resource/Theme.cs
@@ -17,7 +17,7 @@ namespace Flow.Launcher.Core.Resource
{
public class Theme
{
- private const int ShadowExtraMargin = 12;
+ private const int ShadowExtraMargin = 32;
private readonly List _themeDirectories = new List();
private ResourceDictionary _oldResource;
@@ -238,9 +238,10 @@ namespace Flow.Launcher.Core.Resource
Property = Border.EffectProperty,
Value = new DropShadowEffect
{
- Opacity = 0.4,
- ShadowDepth = 2,
- BlurRadius = 15
+ Opacity = 0.3,
+ ShadowDepth = 12,
+ Direction = 270,
+ BlurRadius = 30
}
};
@@ -250,7 +251,7 @@ namespace Flow.Launcher.Core.Resource
marginSetter = new Setter()
{
Property = Border.MarginProperty,
- Value = new Thickness(ShadowExtraMargin),
+ Value = new Thickness(ShadowExtraMargin, 12, ShadowExtraMargin, ShadowExtraMargin),
};
windowBorderStyle.Setters.Add(marginSetter);
}
diff --git a/Flow.Launcher.Core/Updater.cs b/Flow.Launcher.Core/Updater.cs
index 976c4eec1..bad0344eb 100644
--- a/Flow.Launcher.Core/Updater.cs
+++ b/Flow.Launcher.Core/Updater.cs
@@ -141,6 +141,7 @@ namespace Flow.Launcher.Core
{
var translater = InternationalizationManager.Instance;
var tips = string.Format(translater.GetTranslation("newVersionTips"), version);
+
return tips;
}
diff --git a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj
index 930cf0b91..4a7bc20e3 100644
--- a/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj
+++ b/Flow.Launcher.Infrastructure/Flow.Launcher.Infrastructure.csproj
@@ -53,7 +53,7 @@
allruntime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
index d7b8f70d9..b0491762f 100644
--- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
+++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
@@ -47,6 +47,11 @@ namespace Flow.Launcher.Infrastructure.UserSettings
public string DateFormat { get; set; } = "MM'/'dd ddd";
public bool FirstLaunch { get; set; } = true;
+ public double SettingWindowWidth { get; set; } = 1000;
+ public double SettingWindowHeight { get; set; } = 700;
+ public double SettingWindowTop { get; set; }
+ public double SettingWindowLeft { get; set; }
+
public int CustomExplorerIndex { get; set; } = 0;
[JsonIgnore]
diff --git a/Flow.Launcher.Plugin/Result.cs b/Flow.Launcher.Plugin/Result.cs
index 136395467..7633e34a7 100644
--- a/Flow.Launcher.Plugin/Result.cs
+++ b/Flow.Launcher.Plugin/Result.cs
@@ -66,6 +66,10 @@ namespace Flow.Launcher.Plugin
}
}
}
+ ///
+ /// Determines if Icon has a border radius
+ ///
+ public bool RoundedIcon { get; set; } = false;
///
/// Delegate function, see
diff --git a/Flow.Launcher.sln b/Flow.Launcher.sln
index 9d5f355d8..09b1a0275 100644
--- a/Flow.Launcher.sln
+++ b/Flow.Launcher.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.29806.167
+# Visual Studio Version 17
+VisualStudioVersion = 17.3.32901.215
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Flow.Launcher.Test", "Flow.Launcher.Test\Flow.Launcher.Test.csproj", "{FF742965-9A80-41A5-B042-D6C7D3A21708}"
ProjectSection(ProjectDependencies) = postProject
diff --git a/Flow.Launcher/ActionKeywords.xaml b/Flow.Launcher/ActionKeywords.xaml
index e94aac9f6..740b0d402 100644
--- a/Flow.Launcher/ActionKeywords.xaml
+++ b/Flow.Launcher/ActionKeywords.xaml
@@ -58,7 +58,6 @@
throw new System.InvalidOperationException();
diff --git a/Flow.Launcher/Converters/OrdinalConverter.cs b/Flow.Launcher/Converters/OrdinalConverter.cs
index f9fa220e3..0c716ac7e 100644
--- a/Flow.Launcher/Converters/OrdinalConverter.cs
+++ b/Flow.Launcher/Converters/OrdinalConverter.cs
@@ -10,7 +10,10 @@ namespace Flow.Launcher.Converters
{
if (value is ListBoxItem listBoxItem
&& ItemsControl.ItemsControlFromItemContainer(listBoxItem) is ListBox listBox)
- return listBox.ItemContainerGenerator.IndexFromContainer(listBoxItem) + 1;
+ {
+ var res = listBox.ItemContainerGenerator.IndexFromContainer(listBoxItem) + 1;
+ return res == 10 ? 0 : res; // 10th item => HOTKEY+0
+ }
return 0;
}
diff --git a/Flow.Launcher/CustomQueryHotkeySetting.xaml b/Flow.Launcher/CustomQueryHotkeySetting.xaml
index 187f99d18..ddf0d0e45 100644
--- a/Flow.Launcher/CustomQueryHotkeySetting.xaml
+++ b/Flow.Launcher/CustomQueryHotkeySetting.xaml
@@ -64,7 +64,6 @@
Vælg
Skjul Flow Launcher ved opstartHide 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 PrecisionChanges minimum match score required for results.Should Use Pinyin
@@ -69,12 +70,14 @@
Current PriorityNew PriorityPriority
+ Change Plugin Results PriorityPlugin bibliotekafInitaliseringstid:Søgetid:| VersionWebsite
+ Uninstall
@@ -155,11 +158,13 @@
Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com,
or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually.
- Release Notes:
+ Release NotesUsage TipsDevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/de.xaml b/Flow.Launcher/Languages/de.xaml
index cf73baa22..a1b0b3b9b 100644
--- a/Flow.Launcher/Languages/de.xaml
+++ b/Flow.Launcher/Languages/de.xaml
@@ -50,6 +50,7 @@
AuswählenVerstecke Flow Launcher bei SystemstartStatusleistensymbol ausblenden
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.Suchgenauigkeit abfragenErforderliche Suchergebnisse.Pinyin aktivieren
@@ -69,12 +70,14 @@
Aktuelle PrioritätNeue PrioritätPriorität
+ Change Plugin Results PriorityPluginordnervonInitialisierungszeit:Abfragezeit:VersionWebseite
+ Deinstallieren
@@ -155,11 +158,13 @@
Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com,
or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually.
- Versionshinweise:
+ VersionshinweiseUsage TipsDevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/en.xaml b/Flow.Launcher/Languages/en.xaml
index 84d7e7ff0..e67a1ef68 100644
--- a/Flow.Launcher/Languages/en.xaml
+++ b/Flow.Launcher/Languages/en.xaml
@@ -59,6 +59,7 @@
SelectHide Flow Launcher on startupHide 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 PrecisionChanges minimum match score required for results.Should Use Pinyin
@@ -66,6 +67,10 @@
Shadow effect is not allowed while current theme has blur effect enabled
+ Search Plugin
+ Ctrl+F to search plugins
+ No results found
+ Please try a different search.PluginFind more pluginsOn
@@ -78,12 +83,14 @@
Current PriorityNew PriorityPriority
+ Change Plugin Results PriorityPlugin DirectorybyInit time:Query time:| VersionWebsite
+ Uninstall
@@ -171,6 +178,8 @@
DevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/es-419.xaml b/Flow.Launcher/Languages/es-419.xaml
index 8ce9f12cf..84a492d15 100644
--- a/Flow.Launcher/Languages/es-419.xaml
+++ b/Flow.Launcher/Languages/es-419.xaml
@@ -50,6 +50,7 @@
SeleccionarOcultar Flow Launcher al arrancar el sistemaOcultar icono de la bandeja
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.Precisión de la búsquedaCambia la puntuación mínima de similitud requerida para resultados.Debe usar Pinyin
@@ -69,12 +70,14 @@
Prioridad ActualNueva PrioridadPrioridad
+ Cambiar la prioridad del resultado del pluginDirectorio de PluginsporTiempo de inicio:Tiempo de consulta:| VersiónSitio web
+ Uninstall
@@ -160,6 +163,8 @@
Herramientas de desarrolloCarpeta de ConfiguraciónCarpeta de registros
+ Clear Logs
+ Are you sure you want to delete all logs?Asistente
diff --git a/Flow.Launcher/Languages/es.xaml b/Flow.Launcher/Languages/es.xaml
index d30cd16c9..0950595fa 100644
--- a/Flow.Launcher/Languages/es.xaml
+++ b/Flow.Launcher/Languages/es.xaml
@@ -50,6 +50,7 @@
SeleccionarOcultar Flow Launcher al inicioOcultar icono de la bandeja del sistema
+ Cuando el icono está oculto en la bandeja del sistema, se puede abrir el menú de configuración haciendo clic con el botón derecho en la ventana de búsqueda.Precisión en la búsqueda de consultasCambia la puntuación mínima requerida para la coincidencia de los resultados.Utilizar Pinyin
@@ -57,7 +58,7 @@
El efecto de sombra no está permitido mientras el tema actual tenga el efecto de desenfoque activado
- Complemento
+ ComplementosBuscar más complementosActivadoDesactivado
@@ -69,12 +70,14 @@
Prioridad actualNueva prioridadPrioridad
+ Cambiar la prioridad de los resultados del complementoCarpeta de complementosporTiempo de inicio:Tiempo de consulta:| VersiónSitio web
+ Desinstalar
@@ -157,9 +160,11 @@
Notas de la versiónConsejos de uso
- Herramientas de desarrolador
+ Herramientas de desarrolladorCarpeta de configuraciónCarpeta de registros
+ Eliminar registros
+ ¿Está seguro que desea eliminar todos los registros?Asistente
diff --git a/Flow.Launcher/Languages/fr.xaml b/Flow.Launcher/Languages/fr.xaml
index cbcd84307..141d868a2 100644
--- a/Flow.Launcher/Languages/fr.xaml
+++ b/Flow.Launcher/Languages/fr.xaml
@@ -50,6 +50,7 @@
SélectionnerCacher Flow Launcher au démarrageMasquer icône du plateau
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.Query Search PrecisionChanges minimum match score required for results.Devrait utiliser le pinyin
@@ -69,12 +70,14 @@
Current PriorityNew PriorityPriority
+ Change Plugin Results PriorityRépertoirebyChargement :Utilisation :| VersionWebsite
+ Désinstaller
@@ -154,11 +157,13 @@
Échec du téléchargement de la mise à jour, vérifiez votre connexion et vos paramètres de configuration proxy pour pouvoir acceder à github-cloud.s3.amazonaws.com, ou téléchargez manuelement la mise à jour sur https://github.com/Flow-Launcher/Flow.Launcher/releases.
- Notes de changement :
+ Notes de changementUsage TipsDevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/it.xaml b/Flow.Launcher/Languages/it.xaml
index 04655c226..4304aead8 100644
--- a/Flow.Launcher/Languages/it.xaml
+++ b/Flow.Launcher/Languages/it.xaml
@@ -10,23 +10,23 @@
Ultima esecuzione: {0}ApriImpostazioni
- About
+ InformazioniEsci
- Close
- Copy
- Cut
- Paste
+ Chiudi
+ Copia
+ Taglia
+ IncollaFile
- Folder
- Text
- Game Mode
- Suspend the use of Hotkeys.
+ Cartella
+ Testo
+ Modalità gioco
+ Sospendere l'uso dei tasti di scelta rapida.Impostaizoni Flow LauncherGenerale
- Portable Mode
- Store all settings and user data in one folder (Useful when used with removable drives or cloud services).
+ Modalità portatile
+ Memorizzare tutte le impostazioni e i dati dell'utente in un'unica cartella (utile se utilizzato con unità rimovibili o servizi cloud).Avvia Wow all'avvio di WindowsError setting launch on startupNascondi Flow Launcher quando perde il focus
@@ -34,80 +34,83 @@
Ricorda l'ultima posizione di avvio del launcherLinguaComportamento ultima ricerca
- Show/Hide previous results when Flow Launcher is reactivated.
+ Mostra/nasconde i risultati precedenti quando Flow Launcher viene riattivato.Conserva ultima ricercaSeleziona ultima ricercaCancella ultima ricercaNumero massimo di risultati mostratiIgnora i tasti di scelta rapida in applicazione a schermo pieno
- Disable Flow Launcher activation when a full screen application is active (Recommended for games).
- Default File Manager
- Select the file manager to use when opening the folder.
- Default Web Browser
- Setting for New Tab, New Window, Private Mode.
+ Disattivare l'attivazione di Flow Launcher quando è attiva un'applicazione a schermo intero (consigliato per i giochi).
+ Gestore File predefinito
+ Selezionare il Gestore file da usare all'apertura della cartella.
+ Browser predefinito
+ Impostazione per Nuova scheda, Nuova finestra, Modalità privata.Cartella PythonAggiornamento automaticoSelezionaNascondi Flow Launcher all'avvio
- Hide tray icon
- Query Search Precision
- Changes minimum match score required for results.
- Should Use Pinyin
- Allows using Pinyin to search. Pinyin is the standard system of romanized spelling for translating Chinese
- Shadow effect is not allowed while current theme has blur effect enabled
+ Nascondi Icona nell'Area di Notifica
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.
+ Precisione di ricerca delle query
+ Modifica il punteggio minimo richiesto per i risultati.
+ Dovrebbe usare il Pinyin
+ Consente di utilizzare il Pinyin per la ricerca. Il Pinyin è il sistema standard di ortografia romanizzata per la traduzione del cinese
+ L'effetto ombra non è consentito mentre il tema corrente ha un effetto di sfocatura abilitatoPluginCerca altri plugins
- On
+ AttivoDisabilita
- Action keyword Setting
+ Impostazioni parola chiave AzioneParole chiave
- Current action keyword
- New action keyword
- Change Action Keywords
- Current Priority
- New Priority
- Priority
+ Parola chiave di azione corrente
+ Nuova parola chiave d'azione
+ Cambia Keywords Azione
+ Priorità Attuale
+ Nuova Priorità
+ Priorità
+ Change Plugin Results PriorityCartella Plugin
- by
+ daTempo di avvio:Tempo ricerca:
- | Version
- Website
+ | Versione
+ Sito Web
+ Disinstalla
- Plugin Store
- Refresh
- Install
+ Negozio dei Plugin
+ Aggiorna
+ InstallaTemaSfoglia per altri temi
- How to create a theme
- Hi There
+ Come creare un tema
+ CiaoFont campo di ricercaFont campo risultatiModalità finestraOpacità
- Theme {0} not exists, fallback to default theme
- Fail to load theme {0}, fallback to default theme
- Theme Folder
- Open Theme Folder
- Color Scheme
- System Default
- Light
- Dark
- Sound Effect
- Play a small sound when the search window opens
- Animation
- Use Animation in UI
+ Il tema {0} non esiste, si ritorna al tema predefinito
+ Impossibile caricare il tema {0}, si torna al tema predefinito
+ Cartella temi
+ Apri cartella del tema
+ Schema di colore
+ Sistema predefinito
+ Chiaro
+ Scuro
+ Effetto sonoro
+ Riproduce un piccolo suono all'apertura della finestra di ricerca
+ Animazione
+ Usa l'animazione nell'interfaccia utenteTasti scelta rapidaTasto scelta rapida Flow Launcher
- Enter shortcut to show/hide Flow Launcher.
+ Immettere la scorciatoia per mostrare/nascondere Flow Launcher.Apri modificatori di risultatoSelect a modifier key to open selected result via keyboard.Mostra tasto di scelta rapida
@@ -130,7 +133,7 @@
Abilita Proxy HTTPServer HTTPPorta
- User Name
+ Nome utentePasswordProxy TestSalva
@@ -142,10 +145,10 @@
Connessione Proxy fallita
- About
- Website
+ Informazioni
+ Sito webGithub
- Docs
+ DocumentazioneVersioneHai usato Flow Launcher {0} volteCerca aggiornamenti
@@ -155,11 +158,13 @@
Download degli aggiornamenti fallito, per favore controlla la tua connessione ed eventuali impostazioni proxy per github-cloud.s3.amazonaws.com,
oppure vai su https://github.com/Flow-Launcher/Flow.Launcher/releases per scaricare gli aggiornamenti manualmente.
- Note di rilascio:
+ Note di rilascioUsage TipsDevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
@@ -173,10 +178,10 @@
Arg For File
- Default Web Browser
+ Browser predefinitoThe default setting follows the OS default browser setting. If specified separately, flow uses that browser.Browser
- Browser Name
+ Nome del browserBrowser PathNew WindowNew Tab
@@ -251,37 +256,37 @@
Descrizione aggiornamento
- Skip
+ SaltaWelcome to Flow LauncherHello, this is the first time you are running Flow Launcher!Before starting, this wizard will assist in setting up Flow Launcher. You can skip this if you wish. Please choose a language
- 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
- Finished. Enjoy Flow Launcher. Don't forget the hotkey to start :)
+ Cerca ed esegue tutti i file e le applicazioni presenti sul PC
+ Cerca tutto da applicazioni, file, segnalibri, YouTube, Twitter e altro ancora. Tutto dalla comodità della tastiera senza mai toccare il mouse.
+ Flow Launcher si avvia con il tasto di scelta rapida qui sotto, provatelo subito. Per cambiarlo, fate clic sull'input e premete il tasto di scelta rapida desiderato sulla tastiera.
+ Scorciatoie
+ Scorciatoie e comandi
+ Cercate sul web, avviate applicazioni o eseguite varie funzioni tramite i plugin di Flow Launcher. Alcune funzioni iniziano con una parola chiave di azione e, se necessario, possono essere utilizzate senza parole chiave di azione. Provate le query seguenti in Flow Launcher.
+ Avviamo Flow Launcher
+ Finito. Goditi Flow Launcher. Non dimenticare il tasto di scelta rapida per iniziare :)
- Back / Context Menu
- Item Navigation
- Open Context Menu
- Open Contaning Folder
- Run as Admin
- Query History
- Back to Result in Context Menu
- Autocomplete
- Open / Run Selected Item
- Open Setting Window
- Reload Plugin Data
+ Indietro / Menu contestuale
+ Navigazione tra le voci
+ Apri il menu di scelta rapida
+ Apri la cartella Contaning
+ Esegui come amministratore
+ Cronologia Query
+ Torna al risultato nel menu contestuale
+ Autocompleta
+ Apri / Esegui Elemento Selezionato
+ Aprire la finestra delle impostazioni
+ Ricarica i dati del plugin
- Weather
- Weather in Google Result
+ Meteo
+ Meteo nel risultato di Google> ping 8.8.8.8
- Shell Command
+ Comando Della shellBluetoothBluetooth in Windows Settingssn
diff --git a/Flow.Launcher/Languages/ja.xaml b/Flow.Launcher/Languages/ja.xaml
index e34c615b7..8c1386371 100644
--- a/Flow.Launcher/Languages/ja.xaml
+++ b/Flow.Launcher/Languages/ja.xaml
@@ -50,6 +50,7 @@
選択起動時にFlow Launcherを隠すトレイアイコンを隠す
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.Query Search PrecisionChanges minimum match score required for results.Should Use Pinyin
@@ -69,12 +70,14 @@
Current PriorityNew Priority重要度
+ Change Plugin Results Priorityプラグイン・ディレクトリby初期化時間:クエリ時間:| バージョンウェブサイト
+ アンインストール
@@ -155,11 +158,13 @@
更新のダウンロードに失敗しました、github-cloud.s3.amazonaws.com への接続とプロキシ設定を確認するか、
https://github.com/Flow-Launcher/Flow.Launcher/releases から手動でアップデートをダウンロードしてください。
- リリースノート:
+ リリースノートUsage TipsDevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/ko.xaml b/Flow.Launcher/Languages/ko.xaml
index a5ad2647f..809c5ccf8 100644
--- a/Flow.Launcher/Languages/ko.xaml
+++ b/Flow.Launcher/Languages/ko.xaml
@@ -50,6 +50,7 @@
선택시작 시 Flow Launcher 숨김트레이 아이콘 숨기기
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.쿼리 검색 정밀도검색 결과에 필요한 최소 매치 점수를 변경합니다.항상 Pinyin 사용
@@ -69,12 +70,14 @@
현재 중요도:새 중요도:중요도
+ 플러그인 결과 우선 순위 변경플러그인 폴더제작자초기화 시간:쿼리 시간:| 버전웹사이트
+ 제거
@@ -86,7 +89,7 @@
테마테마 갤러리테마 제작 안내
- 안녕하세요.
+ 안녕하세요!쿼리 상자 글꼴결과 항목 글꼴윈도우 모드
@@ -160,6 +163,8 @@
개발자도구설정 폴더로그 폴더
+ Clear Logs
+ Are you sure you want to delete all logs?마법사
diff --git a/Flow.Launcher/Languages/nb.xaml b/Flow.Launcher/Languages/nb.xaml
index 52885ea47..e90a32347 100644
--- a/Flow.Launcher/Languages/nb.xaml
+++ b/Flow.Launcher/Languages/nb.xaml
@@ -50,6 +50,7 @@
SelectHide Flow Launcher on startupHide 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 PrecisionChanges minimum match score required for results.Should Use Pinyin
@@ -69,12 +70,14 @@
Current PriorityNew PriorityPriority
+ Change Plugin Results PriorityPlugin DirectorybyInit time:Query time:| VersionWebsite
+ Uninstall
@@ -160,6 +163,8 @@
DevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/nl.xaml b/Flow.Launcher/Languages/nl.xaml
index 1223df76f..77a8e9e29 100644
--- a/Flow.Launcher/Languages/nl.xaml
+++ b/Flow.Launcher/Languages/nl.xaml
@@ -50,6 +50,7 @@
SelecteerVerberg Flow Launcher als systeem opstartSysteemvakpictogram verbergen
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.Zoekopdracht nauwkeurigheidWijzigt de minimale overeenkomst-score die vereist is voor resultaten.Zou Pinyin moeten gebruiken
@@ -69,12 +70,14 @@
Huidige PrioriteitNieuwe PrioriteitPrioriteit
+ Change Plugin Results PriorityPlugin mapdoorInit tijd:Query tijd:| VersieWebsite
+ Uninstall
@@ -155,11 +158,13 @@
Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com,
or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually.
- Release Notes:
+ Release NotesUsage TipsDevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/pl.xaml b/Flow.Launcher/Languages/pl.xaml
index 901083f07..bd7acd4e8 100644
--- a/Flow.Launcher/Languages/pl.xaml
+++ b/Flow.Launcher/Languages/pl.xaml
@@ -50,6 +50,7 @@
WybierzUruchamiaj Flow Launcher zminimalizowanyUkryj ikonę zasobnika
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.Query Search PrecisionChanges minimum match score required for results.Should Use Pinyin
@@ -69,12 +70,14 @@
Current PriorityNew PriorityPriority
+ Change Plugin Results PriorityFolder wtyczkibyCzas ładowania:Czas zapytania:| VersionWebsite
+ Odinstalowywanie
@@ -155,11 +158,13 @@
Download updates failed, please check your connection and proxy settings to github-cloud.s3.amazonaws.com,
or go to https://github.com/Flow-Launcher/Flow.Launcher/releases to download updates manually.
- Zmiany:
+ ZmianyUsage TipsDevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/pt-br.xaml b/Flow.Launcher/Languages/pt-br.xaml
index d23c24e7f..28ed30916 100644
--- a/Flow.Launcher/Languages/pt-br.xaml
+++ b/Flow.Launcher/Languages/pt-br.xaml
@@ -50,6 +50,7 @@
SelecionarEsconder Flow Launcher na inicializaçãoHide 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 PrecisionChanges minimum match score required for results.Should Use Pinyin
@@ -69,12 +70,14 @@
Current PriorityNew PriorityPriority
+ Change Plugin Results PriorityDiretório de PluginsbyTempo de inicialização:Tempo de consulta:| VersionWebsite
+ Desinstalar
@@ -160,6 +163,8 @@
DevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/pt-pt.xaml b/Flow.Launcher/Languages/pt-pt.xaml
index c78519966..e7179e6e8 100644
--- a/Flow.Launcher/Languages/pt-pt.xaml
+++ b/Flow.Launcher/Languages/pt-pt.xaml
@@ -50,6 +50,7 @@
SelecionarOcultar Flow Launcher ao arrancarOcultar ícone na bandeja
+ Se o ícone da bandeja estiver oculto, pode abrir as Definições com um clique com o botão direito do rato na caixa de pesquisa.Precisão da consultaAltera a precisão mínima necessário para obter resultadosUtilizar Pinyin
@@ -69,12 +70,14 @@
Prioridade atualNova prioridadePrioridade
+ Alterar prioridade dos resultados do pluginDiretório de pluginsdeTempo de arranque:Tempo de consulta:| VersãoSite
+ Desinstalar
@@ -159,6 +162,8 @@
DevToolsPasta de definiçõesPasta de registos
+ Clear Logs
+ Are you sure you want to delete all logs?Assistente
diff --git a/Flow.Launcher/Languages/ru.xaml b/Flow.Launcher/Languages/ru.xaml
index 691d37538..2c8ca9fa3 100644
--- a/Flow.Launcher/Languages/ru.xaml
+++ b/Flow.Launcher/Languages/ru.xaml
@@ -50,6 +50,7 @@
SelectHide Flow Launcher on startupHide 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 PrecisionChanges minimum match score required for results.Should Use Pinyin
@@ -69,12 +70,14 @@
Current PriorityNew PriorityPriority
+ Change Plugin Results PriorityДиректория плагиновbyИнициализация:Запрос:| VersionWebsite
+ Удалить
@@ -160,6 +163,8 @@
DevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/sk.xaml b/Flow.Launcher/Languages/sk.xaml
index 20b259f9f..c4d5de6bf 100644
--- a/Flow.Launcher/Languages/sk.xaml
+++ b/Flow.Launcher/Languages/sk.xaml
@@ -50,6 +50,7 @@
VybraťSchovať Flow Launcher po spusteníSchovať ikonu z oblasti oznámení
+ Keď je ikona skrytá z oblasti oznámení, nastavenia možno otvoriť kliknutím pravým tlačidlom myši na okno vyhľadávania.Presnosť vyhľadávaniaMení minimálne skóre zhody potrebné na zobrazenie výsledkov.Použiť Pinyin
@@ -69,12 +70,14 @@
Aktuálna prioritaNová prioritaPriorita
+ Zmena priority výsledkov pluginuPriečinok s pluginmiodInicializácia:Trvanie dopytu:| VerziaWebstránka
+ Odinštalovať
@@ -160,6 +163,8 @@
Nástroje pre vývojárovPriečinok s nastaveniamiPriečinok s logmi
+ Vymazať logy
+ Naozaj chcete odstrániť všetky logy?Sprievodca
diff --git a/Flow.Launcher/Languages/sr.xaml b/Flow.Launcher/Languages/sr.xaml
index b15bbc194..61f619fd0 100644
--- a/Flow.Launcher/Languages/sr.xaml
+++ b/Flow.Launcher/Languages/sr.xaml
@@ -50,6 +50,7 @@
IzaberiSakrij Flow Launcher pri podizanju sistemaHide 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 PrecisionChanges minimum match score required for results.Should Use Pinyin
@@ -69,12 +70,14 @@
Current PriorityNew PriorityPriority
+ Change Plugin Results PriorityPlugin direktorijumbyVreme inicijalizacije:Vreme upita:| VersionWebsite
+ Uninstall
@@ -155,11 +158,13 @@
Neuspešno preuzimanje ažuriranja, molim Vas proverite vašu vezu i podešavanja za proksi prema github-cloud.s3.amazonaws.com,
ili posetite https://github.com/Flow-Launcher/Flow.Launcher/releases da preuzmete ažuriranja ručno.
- U novoj verziji:
+ U novoj verzijiUsage TipsDevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/tr.xaml b/Flow.Launcher/Languages/tr.xaml
index ec609de37..fb8e1d6f6 100644
--- a/Flow.Launcher/Languages/tr.xaml
+++ b/Flow.Launcher/Languages/tr.xaml
@@ -50,6 +50,7 @@
SeçBaşlangıçta Flow Launcher'u gizleSistem çekmecesi simgesini gizle
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.Sorgu Arama HassasiyetiSonuçlar için gereken minimum maç puanını değiştirir.Pinyin kullanılmalı
@@ -69,12 +70,14 @@
Mevcut öncelikYeni ÖncelikÖncelik
+ Change Plugin Results PriorityEklenti KlasörüYapımcı:Açılış Süresi:Sorgu Süresi:Sürümİnternet Sitesi
+ Kaldır
@@ -155,11 +158,13 @@
Güncellemenin yüklenmesi başarısız oldu. Lütfen bağlantınız ve vekil sunucu ayarlarınızın github-cloud.s3.amazonaws.com
adresine ulaşabilir olduğunu kontrol edin ya da https://github.com/Flow-Launcher/Flow.Launcher/releases adresinden güncellemeyi elle indirin.
- Sürüm Notları:
+ Sürüm NotlarıUsage TipsDevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/uk-UA.xaml b/Flow.Launcher/Languages/uk-UA.xaml
index c2d5302a6..8115a5dd1 100644
--- a/Flow.Launcher/Languages/uk-UA.xaml
+++ b/Flow.Launcher/Languages/uk-UA.xaml
@@ -50,6 +50,7 @@
ВибратиСховати Flow Launcher при запуску системиПриховати значок в системному лотку
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.Точність пошуку запитівЗмінює мінімальний бал збігів, необхідних для результатів.Використовувати піньїнь
@@ -69,12 +70,14 @@
Поточний пріоритетНовий пріоритетПріоритет
+ Change Plugin Results PriorityДиректорія плагінівзаІніціалізація:Запит:| ВерсіяСайт
+ Uninstall
@@ -160,6 +163,8 @@
DevToolsSetting FolderLog Folder
+ Clear Logs
+ Are you sure you want to delete all logs?Wizard
diff --git a/Flow.Launcher/Languages/zh-cn.xaml b/Flow.Launcher/Languages/zh-cn.xaml
index b3bd5fd1f..d80bfdaf6 100644
--- a/Flow.Launcher/Languages/zh-cn.xaml
+++ b/Flow.Launcher/Languages/zh-cn.xaml
@@ -28,7 +28,7 @@
便携模式将所有设置和用户数据存储在一个文件夹中 (可用于可移除驱动器或云服务)。开机自启
- Error setting launch on startup
+ 设置开机自启时出错失去焦点时自动隐藏 Flow Launcher不显示新版本提示记住上次启动位置
@@ -40,7 +40,7 @@
清空上次搜索关键字最大结果显示个数全屏模式下忽略热键
- 当全屏应用程序激活时禁用快捷键(建议游戏时打开)。
+ 当全屏应用程序激活时禁用快捷键 (建议游戏时打开) 。默认文件管理器选择打开文件夹时要使用的文件管理器。默认浏览器
@@ -50,6 +50,7 @@
选择系统启动时不显示主窗口隐藏任务栏图标
+ 任务栏图标被隐藏时,右键点击搜索窗口即可打开设置菜单。查询搜索精度更改匹配成功所需的最低分数。启动拼音搜索
@@ -69,12 +70,14 @@
当前优先级新优先级优先级
+ 更改插件结果优先级插件目录出自加载耗时:查询耗时:| 版本官方网站
+ 卸载
@@ -108,10 +111,10 @@
热键Flow Launcher 激活热键输入显示/隐藏 Flow Launcher 的快捷键。
- 开放结果修饰符
- 指定修饰符用于打开指定的选项。
+ 打开结果快捷键修饰符
+ 选择一个用以打开搜索结果的按键修饰符。显示热键
- 显示热键用于快速选择选项。
+ 显示用于打开结果的快捷键。自定义查询热键查询删除
@@ -155,11 +158,13 @@
下载更新失败,请检查您与 github-cloud.s3.amazonaws.com 的连接状态或检查代理设置,
或访问 https://github.com/Flow-Launcher/Flow.Launcher/releases 手动下载更新
- 更新说明:
- 使用技巧:
+ 更新说明
+ 使用技巧开发工具设置目录日志目录
+ 清除日志
+ 你确定要删除所有的日志吗?向导
@@ -256,11 +261,11 @@
你好,这是你第一次运行 Flow Launcher!在启动前,这个向导将有助于设置 Flow Launcher。如果您愿意,您可以跳过。请选择一种语言搜索并运行您PC上的文件和应用程序
- 搜索所有应用程序、 文件、 书签、 YouTube、 Twitter等。所有都只需要键盘而不需要触摸鼠标。
+ 搜索所有应用程序、 文件、 书签、 YouTube、 Twitter等。所有都只需要键盘而不需要鼠标。Flow Launcher 默认使用下面的快捷键激活。 要更改它,请点击输入并按键盘上所需的热键。快捷键动作关键词和命令
- 通过 Flow Launcher 插件搜索网站、启动应用程序或运行各种功能。 某些函数起始于一个动作关键词,如有必要,它们可以在没有动作关键词的情况下使用。欢迎尝试一下的查询语句。
+ 通过 Flow Launcher 插件搜索网站、启动应用程序或运行各种功能。某些功能使用一个动作关键词激活,如有必要,它们也可以在没有动作关键词的情况下使用。欢迎尝试以下的查询语句。开始使用 Flow Launcher完成了!享受 Flow Launcher。不要忘记激活快捷键 :)
@@ -268,7 +273,7 @@
返回/上下文菜单选项导航
- 打开菜单目录
+ 打开上下文菜单打开所在目录以管理员身份运行查询历史
@@ -285,6 +290,6 @@
BluetoothWindows 设置中的蓝牙sn
- Sticky Notes
+ 便笺
diff --git a/Flow.Launcher/Languages/zh-tw.xaml b/Flow.Launcher/Languages/zh-tw.xaml
index fea505526..71cc887cf 100644
--- a/Flow.Launcher/Languages/zh-tw.xaml
+++ b/Flow.Launcher/Languages/zh-tw.xaml
@@ -42,7 +42,7 @@
全螢幕模式下忽略快捷鍵全螢幕模式下停用快捷鍵(推薦用於遊戲時)。預設檔案管理器
- 選擇打開資料夾時要使用的檔案管理器。
+ 選擇開啟資料夾時要使用的檔案管理器。預設瀏覽器設定新增分頁、視窗和無痕模式。Python 路徑
@@ -50,6 +50,7 @@
選擇啟動時不顯示主視窗隱藏任務欄圖標
+ When the icon is hidden from the tray, the Settings menu can be opened by right-clicking on the search window.查詢搜索精確度Changes minimum match score required for results.拼音搜索
@@ -69,12 +70,14 @@
目前優先新增優先優先
+ 更改插件結果優先順序外掛資料夾作者載入耗時:查詢耗時:| 版本官方網站
+ 解除安裝
@@ -155,11 +158,13 @@
下載更新失敗,請檢查您對 github-cloud.s3.amazonaws.com 的連線和代理設定,
或是到 https://github.com/Flow-Launcher/Flow.Launcher/releases 手動下載更新。
- 更新說明:
+ 更新說明使用技巧開發工具設定資料夾日誌資料夾
+ Clear Logs
+ Are you sure you want to delete all logs?嚮導
diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml
index bc1dda0e5..d79c1b336 100644
--- a/Flow.Launcher/MainWindow.xaml
+++ b/Flow.Launcher/MainWindow.xaml
@@ -150,6 +150,11 @@
Command="{Binding OpenResultCommand}"
CommandParameter="8"
Modifiers="{Binding OpenResultCommandModifiers}" />
+
@@ -174,6 +179,7 @@
PreviewDragOver="OnPreviewDragOver"
Style="{DynamicResource QueryBoxStyle}"
Text="{Binding QueryText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
+ PreviewKeyUp="QueryTextBox_KeyUp"
Visibility="Visible">
diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs
index 13f3d9e83..4aeb9062f 100644
--- a/Flow.Launcher/MainWindow.xaml.cs
+++ b/Flow.Launcher/MainWindow.xaml.cs
@@ -20,6 +20,8 @@ using Flow.Launcher.Infrastructure;
using System.Windows.Media;
using Flow.Launcher.Infrastructure.Hotkey;
using Flow.Launcher.Plugin.SharedCommands;
+using System.Windows.Data;
+using System.Diagnostics;
using System.Windows.Threading;
using System.Globalization;
@@ -172,22 +174,20 @@ namespace Flow.Launcher
}
case nameof(MainViewModel.ProgressBarVisibility):
{
- Dispatcher.Invoke(async () =>
+ Dispatcher.Invoke(() =>
{
if (_viewModel.ProgressBarVisibility == Visibility.Hidden && !isProgressBarStoryboardPaused)
{
- await Task.Delay(50);
_progressBarStoryboard.Stop(ProgressBar);
isProgressBarStoryboardPaused = true;
}
else if (_viewModel.MainWindowVisibilityStatus &&
- isProgressBarStoryboardPaused)
+ isProgressBarStoryboardPaused)
{
_progressBarStoryboard.Begin(ProgressBar, true);
isProgressBarStoryboardPaused = false;
}
- }, System.Windows.Threading.DispatcherPriority.Render);
-
+ });
break;
}
case nameof(MainViewModel.QueryTextCursorMovedToEnd):
@@ -649,5 +649,14 @@ namespace Flow.Launcher
ModernWpf.ThemeManager.Current.ApplicationTheme = ModernWpf.ApplicationTheme.Dark;
}
}
+
+ private void QueryTextBox_KeyUp(object sender, KeyEventArgs e)
+ {
+ if(_viewModel.QueryText != QueryTextBox.Text)
+ {
+ BindingExpression be = QueryTextBox.GetBindingExpression(System.Windows.Controls.TextBox.TextProperty);
+ be.UpdateSource();
+ }
+ }
}
}
diff --git a/Flow.Launcher/PriorityChangeWindow.xaml b/Flow.Launcher/PriorityChangeWindow.xaml
index d50bf82db..d6aadead9 100644
--- a/Flow.Launcher/PriorityChangeWindow.xaml
+++ b/Flow.Launcher/PriorityChangeWindow.xaml
@@ -63,7 +63,6 @@
@@ -2724,7 +2723,8 @@
Background="{DynamicResource CustomContextBackground}"
BorderBrush="{DynamicResource CustomContextBorder}"
BorderThickness="1"
- CornerRadius="8">
+ CornerRadius="8"
+ UseLayoutRounding="True">
+ Visibility="{Binding ShowIcon}">
+
+
+
+
+ Value="{Binding ResultProgress, Mode=OneWay}">
+
+
+
+
@@ -320,8 +322,6 @@
-
-
@@ -385,6 +385,55 @@
+
+
+
+
+
+
+
+ SnapsToDevicePixels="True"
+ Style="{DynamicResource PluginListStyle}">
@@ -952,7 +1058,7 @@
Padding="0"
Background="Transparent"
FlowDirection="RightToLeft"
- IsExpanded="{Binding Mode=TwoWay, Path=IsSelected, RelativeSource={RelativeSource AncestorType=ListBoxItem, Mode=FindAncestor}}"
+ IsExpanded="{Binding Mode=TwoWay, Path=IsExpanded}"
Style="{StaticResource ExpanderStyle1}">
+ ToolTip="{DynamicResource priorityToolTip}">
+
+
-
+
+ SelectionMode="Single"
+ Style="{DynamicResource StoreListStyle}">
@@ -1351,15 +1514,56 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VerticalAlignment="Top">
@@ -1442,12 +1651,13 @@
-
+ VerticalAlignment="Top">
+
-
+
-
+
-
@@ -2252,7 +2463,7 @@
@@ -2516,7 +2727,7 @@
@@ -2562,7 +2773,7 @@
@@ -2620,6 +2831,11 @@
Margin="0,0,12,0"
Click="OpenSettingFolder"
Content="{DynamicResource settingfolder}" />
+
diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs
index 92d3ffe8a..920d653d1 100644
--- a/Flow.Launcher/SettingWindow.xaml.cs
+++ b/Flow.Launcher/SettingWindow.xaml.cs
@@ -1,4 +1,5 @@
-using Flow.Launcher.Core.ExternalPlugins;
+using Droplex;
+using Flow.Launcher.Core.ExternalPlugins;
using Flow.Launcher.Core.Plugin;
using Flow.Launcher.Core.Resource;
using Flow.Launcher.Helper;
@@ -13,8 +14,10 @@ using Microsoft.Win32;
using ModernWpf;
using System;
using System.IO;
+using System.Linq;
using System.Windows;
using System.Windows.Controls;
+using System.Windows.Data;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Interop;
@@ -23,6 +26,7 @@ using System.Windows.Navigation;
using Button = System.Windows.Controls.Button;
using Control = System.Windows.Controls.Control;
using ListViewItem = System.Windows.Controls.ListViewItem;
+using KeyEventArgs = System.Windows.Input.KeyEventArgs;
using MessageBox = System.Windows.MessageBox;
using TextBox = System.Windows.Controls.TextBox;
using ThemeManager = ModernWpf.ThemeManager;
@@ -37,11 +41,12 @@ namespace Flow.Launcher
public SettingWindow(IPublicAPI api, SettingWindowViewModel viewModel)
{
- InitializeComponent();
settings = viewModel.Settings;
DataContext = viewModel;
this.viewModel = viewModel;
API = api;
+ InitializePosition();
+ InitializeComponent();
}
#region General
@@ -55,6 +60,14 @@ namespace Flow.Launcher
HwndTarget hwndTarget = hwndSource.CompositionTarget;
hwndTarget.RenderMode = RenderMode.SoftwareOnly;
ClockDisplay();
+
+ pluginListView = (CollectionView)CollectionViewSource.GetDefaultView(Plugins.ItemsSource);
+ pluginListView.Filter = PluginListFilter;
+
+ pluginStoreView = (CollectionView)CollectionViewSource.GetDefaultView(StoreListBox.ItemsSource);
+ pluginStoreView.Filter = PluginStoreFilter;
+
+ InitializePosition();
}
private void OnSelectPythonDirectoryClick(object sender, RoutedEventArgs e)
@@ -160,7 +173,7 @@ namespace Flow.Launcher
}
}
- private void OnAddCustomeHotkeyClick(object sender, RoutedEventArgs e)
+ private void OnAddCustomHotkeyClick(object sender, RoutedEventArgs e)
{
new CustomQueryHotkeySetting(this, settings).ShowDialog();
}
@@ -243,6 +256,8 @@ namespace Flow.Launcher
private void OnClosed(object sender, EventArgs e)
{
+ settings.SettingWindowTop = Top;
+ settings.SettingWindowLeft = Left;
viewModel.Save();
}
@@ -270,6 +285,20 @@ namespace Flow.Launcher
{
PluginManager.API.OpenDirectory(Path.Combine(DataLocation.DataDirectory(), Constant.Logs, Constant.Version));
}
+ private void ClearLogFolder(object sender, RoutedEventArgs e)
+ {
+ var confirmResult = MessageBox.Show(
+ InternationalizationManager.Instance.GetTranslation("clearlogfolderMessage"),
+ InternationalizationManager.Instance.GetTranslation("clearlogfolder"),
+ MessageBoxButton.YesNo);
+
+ if (confirmResult == MessageBoxResult.Yes)
+ {
+ viewModel.ClearLogFolder();
+
+ ClearLogFolderBtn.Content = viewModel.CheckLogFolder;
+ }
+ }
private void OnPluginStoreRefreshClick(object sender, RoutedEventArgs e)
{
@@ -320,6 +349,7 @@ namespace Flow.Launcher
private void OnCloseButtonClick(object sender, RoutedEventArgs e)
{
+
Close();
}
@@ -341,13 +371,120 @@ namespace Flow.Launcher
RefreshMaximizeRestoreButton();
}
- private void SelectedPluginChanged(object sender, SelectionChangedEventArgs e)
+ private CollectionView pluginListView;
+ private CollectionView pluginStoreView;
+
+ private bool PluginListFilter(object item)
{
- Plugins.ScrollIntoView(Plugins.SelectedItem);
+ if (string.IsNullOrEmpty(pluginFilterTxb.Text))
+ return true;
+ if (item is PluginViewModel model)
+ {
+ return StringMatcher.FuzzySearch(pluginFilterTxb.Text, model.PluginPair.Metadata.Name).IsSearchPrecisionScoreMet();
+ }
+ return false;
}
- private void ItemSizeChanged(object sender, SizeChangedEventArgs e)
+
+ private bool PluginStoreFilter(object item)
{
- Plugins.ScrollIntoView(Plugins.SelectedItem);
+ if (string.IsNullOrEmpty(pluginStoreFilterTxb.Text))
+ return true;
+ if (item is UserPlugin model)
+ {
+ return StringMatcher.FuzzySearch(pluginStoreFilterTxb.Text, model.Name).IsSearchPrecisionScoreMet()
+ || StringMatcher.FuzzySearch(pluginStoreFilterTxb.Text, model.Description).IsSearchPrecisionScoreMet();
+ }
+ return false;
+ }
+
+ private string lastPluginListSearch = "";
+ private string lastPluginStoreSearch = "";
+
+ private void RefreshPluginListEventHandler(object sender, RoutedEventArgs e)
+ {
+ if (pluginFilterTxb.Text != lastPluginListSearch)
+ {
+ lastPluginListSearch = pluginFilterTxb.Text;
+ pluginListView.Refresh();
+ }
+ }
+
+ private void RefreshPluginStoreEventHandler(object sender, RoutedEventArgs e)
+ {
+ if (pluginStoreFilterTxb.Text != lastPluginStoreSearch)
+ {
+ lastPluginStoreSearch = pluginStoreFilterTxb.Text;
+ pluginStoreView.Refresh();
+ }
+ }
+
+ private void PluginFilterTxb_OnKeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.Key == Key.Enter)
+ RefreshPluginListEventHandler(sender, e);
+ }
+
+ private void PluginStoreFilterTxb_OnKeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.Key == Key.Enter)
+ RefreshPluginStoreEventHandler(sender, e);
+ }
+
+ private void OnPluginSettingKeydown(object sender, KeyEventArgs e)
+ {
+ if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control && e.Key == Key.F)
+ pluginFilterTxb.Focus();
+ }
+
+ private void PluginStore_OnKeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.Key == Key.F && (Keyboard.Modifiers & ModifierKeys.Control) != 0)
+ {
+ pluginStoreFilterTxb.Focus();
+ }
+ }
+
+ public void InitializePosition()
+ {
+ if (settings.SettingWindowTop >= 0 && settings.SettingWindowLeft >= 0)
+ {
+ Top = settings.SettingWindowTop;
+ Left = settings.SettingWindowLeft;
+ }
+ else
+ {
+ Top = WindowTop();
+ Left = WindowLeft();
+ }
+ }
+ public double WindowLeft()
+ {
+ var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position);
+ var dip1 = WindowsInteropHelper.TransformPixelsToDIP(this, screen.WorkingArea.X, 0);
+ var dip2 = WindowsInteropHelper.TransformPixelsToDIP(this, screen.WorkingArea.Width, 0);
+ var left = (dip2.X - this.ActualWidth) / 2 + dip1.X;
+ return left;
+ }
+
+ public double WindowTop()
+ {
+ var screen = Screen.FromPoint(System.Windows.Forms.Cursor.Position);
+ var dip1 = WindowsInteropHelper.TransformPixelsToDIP(this, 0, screen.WorkingArea.Y);
+ var dip2 = WindowsInteropHelper.TransformPixelsToDIP(this, 0, screen.WorkingArea.Height);
+ var top = (dip2.Y - this.ActualHeight) / 2 + dip1.Y - 20;
+ return top;
+ }
+ private void OnExternalPluginUninstallClick(object sender, MouseButtonEventArgs e)
+ {
+ if (e.ChangedButton == MouseButton.Left)
+ {
+ var id = viewModel.SelectedPlugin.PluginPair.Metadata.Name;
+ var pluginsManagerPlugin = PluginManager.GetPluginForId("9f8f9b14-2518-4907-b211-35ab6290dee7");
+ var actionKeyword = pluginsManagerPlugin.Metadata.ActionKeywords.Count == 0 ? "" : pluginsManagerPlugin.Metadata.ActionKeywords[0];
+ API.ChangeQuery($"{actionKeyword} uninstall {id}");
+ API.ShowMainWindow();
+ }
+
}
private void ColorSchemeSelectedIndexChanged(object sender, SelectionChangedEventArgs e)
diff --git a/Flow.Launcher/Themes/Base.xaml b/Flow.Launcher/Themes/Base.xaml
index 3d0002ef9..77b0fd1c5 100644
--- a/Flow.Launcher/Themes/Base.xaml
+++ b/Flow.Launcher/Themes/Base.xaml
@@ -3,7 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xmlns:userSettings="clr-namespace:Flow.Launcher.Infrastructure.UserSettings;assembly=Flow.Launcher.Infrastructure">
-
+
@@ -88,7 +93,7 @@
- #356ef3
+ #19ffffff
+
-
-
-
-
-
-
-
-
-
-
- #356ef3
+ #19c9c9c9
-
-
-
-
+
@@ -32,9 +36,12 @@
TargetType="{x:Type Border}">
-
+
+
+
+
@@ -65,23 +72,34 @@
x:Key="ItemSubTitleStyle"
BasedOn="{StaticResource BaseItemSubTitleStyle}"
TargetType="{x:Type TextBlock}">
-
+
- #356ef3
+
+