From 56d6433db014bcdae97e304d19f6269b2bca9aba Mon Sep 17 00:00:00 2001 From: Filip Horvat Date: Mon, 19 Dec 2022 21:07:07 +0100 Subject: [PATCH 1/2] Improve folder editor experience --- .../ContextMenu.cs | 9 +++-- .../Languages/da.xaml | 2 + .../Languages/de.xaml | 2 + .../Languages/en.xaml | 2 + .../Languages/es-419.xaml | 2 + .../Languages/es.xaml | 2 + .../Languages/fr.xaml | 2 + .../Languages/it.xaml | 2 + .../Languages/ja.xaml | 2 + .../Languages/ko.xaml | 2 + .../Languages/nb.xaml | 2 + .../Languages/nl.xaml | 2 + .../Languages/pl.xaml | 2 + .../Languages/pt-br.xaml | 2 + .../Languages/pt-pt.xaml | 2 + .../Languages/ru.xaml | 2 + .../Languages/sk.xaml | 2 + .../Languages/sr.xaml | 2 + .../Languages/tr.xaml | 2 + .../Languages/uk-UA.xaml | 2 + .../Languages/zh-cn.xaml | 2 + .../Languages/zh-tw.xaml | 2 + .../Flow.Launcher.Plugin.Explorer/Settings.cs | 4 +- .../ViewModels/SettingsViewModel.cs | 29 ++++++++++++-- .../Views/ExplorerSettings.xaml | 39 ++++++++++++++++--- 25 files changed, 109 insertions(+), 14 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/ContextMenu.cs b/Plugins/Flow.Launcher.Plugin.Explorer/ContextMenu.cs index 4733e09e9d2..afcfe89ee19 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/ContextMenu.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/ContextMenu.cs @@ -40,7 +40,10 @@ public List LoadContextMenus(Result selectedResult) if (selectedResult.ContextData is SearchResult record) { if (record.Type == ResultType.File && !string.IsNullOrEmpty(Settings.EditorPath)) - contextMenus.Add(CreateOpenWithEditorResult(record)); + contextMenus.Add(CreateOpenWithEditorResult(record, Settings.EditorPath)); + + if (record.Type == ResultType.Folder && !string.IsNullOrEmpty(Settings.FolderEditorPath)) + contextMenus.Add(CreateOpenWithEditorResult(record, Settings.FolderEditorPath)); if (record.Type == ResultType.Folder && record.WindowsIndexed) { @@ -309,10 +312,8 @@ private Result CreateOpenContainingFolderResult(SearchResult record) - private Result CreateOpenWithEditorResult(SearchResult record) + private Result CreateOpenWithEditorResult(SearchResult record, string editorPath) { - string editorPath = Settings.EditorPath; - var name = $"{Context.API.GetTranslation("plugin_explorer_openwitheditor")} {Path.GetFileNameWithoutExtension(editorPath)}"; return new Result diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/da.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/da.xaml index 4431e811eb3..331a2174250 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/da.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/da.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + Filredigeringssti + Mapperedigeringssti Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/de.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/de.xaml index 8ed355b8c9e..0f345f2cec2 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/de.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/de.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + Datei-Editor-Pfad + Ordner-Editor-Pfad Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml index d44c67bf017..6d6ae34207e 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml @@ -46,6 +46,8 @@ Everything Windows Index Direct Enumeration + File Editor Path + Folder Editor Path Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es-419.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es-419.xaml index 8b8d26f4cf5..047ecac398d 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es-419.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es-419.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + Ruta del editor + Folder Editor Path Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es.xaml index 04647d44dad..0b56f8a6260 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/es.xaml @@ -45,6 +45,8 @@ Everything Índice de Windows Enumeración directa + Ruta del editor + Ruta del editor de carpetas Motor de búsqueda de contenido Motor de búsqueda recursiva de directorio diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/fr.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/fr.xaml index dafe01173ea..d6ed3f049d0 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/fr.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/fr.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + Chemin de l'éditeur de fichiers + Chemin de l'éditeur de dossier Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/it.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/it.xaml index 264fadc0943..84cd85a0157 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/it.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/it.xaml @@ -45,6 +45,8 @@ Tutto Windows Index Direct Enumeration + Percorso dell'editor di file + Percorso dell'editor delle cartelle Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ja.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ja.xaml index 478df410311..51bdd025905 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ja.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ja.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + ファイル エディターのパス + フォルダー エディターのパス Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ko.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ko.xaml index 30cc5e1c73a..63d067606e0 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ko.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ko.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + 파일 편집기 경로 + 폴더 편집기 경로 Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nb.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nb.xaml index c8fd77ac2cc..0d078644725 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nb.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nb.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + Filredigeringsbane + Mapperedigeringsbane Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nl.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nl.xaml index eeb64b0dab6..05c08606ce7 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nl.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/nl.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + Bestandseditor pad + Pad naar mapeditor Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pl.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pl.xaml index 55713796e99..6ba8b2c9d17 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pl.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pl.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + Ścieżka edytora plików + Ścieżka edytora folderów Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-br.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-br.xaml index 1beae76c3f7..7f52531040d 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-br.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-br.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + File Editor Path + Folder Editor Path Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-pt.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-pt.xaml index 560078ab1dc..564e9850da6 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-pt.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/pt-pt.xaml @@ -45,6 +45,8 @@ Everything Índice do Windows Enumeração direta + File Editor Path + Folder Editor Path Mecanismo de pesquisa para conteúdo Mecanismo de pesquisa recursiva de diretórios diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ru.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ru.xaml index 45f63fcba64..2afd0a8ab4e 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ru.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/ru.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + Путь к редактору файлов + Путь к редактору папки Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sk.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sk.xaml index aa51a07a25b..7198bc2f3e0 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sk.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sk.xaml @@ -45,6 +45,8 @@ Everything Index Windowsu Zoznam priečinkov + Cesta editora súborov + Cesta editora priečinkov Vyhľadávač obsahu Priečinkový rekurzívny vyhľadávač diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sr.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sr.xaml index 629dbd18c1f..dc14c9b59e3 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sr.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/sr.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + File Editor Path + Folder Editor Path Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/tr.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/tr.xaml index 28b7712fa98..dd797f68ae6 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/tr.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/tr.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + Düzenleyici Konumu + Folder Editor Path Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml index 11a778fab7c..3f5d97e4b94 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/uk-UA.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + Шлях редактора файлів + Шлях редактора папок Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-cn.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-cn.xaml index 63783d10892..1c40ef00835 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-cn.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-cn.xaml @@ -45,6 +45,8 @@ Everything Windows 索引 直接枚举 + 文件编辑器路径 + 文件夹编辑器路径 文件内容搜索引擎 目录递归搜索引擎 diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-tw.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-tw.xaml index 499f659f427..c125664f0e5 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-tw.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/zh-tw.xaml @@ -45,6 +45,8 @@ Everything Windows Index Direct Enumeration + 文件編輯器路徑 + 文件夾編輯器路徑 Content Search Engine Directory Recursive Search Engine diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs index 67c4061d4c5..97bd67f2ef2 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Settings.cs @@ -1,4 +1,4 @@ -using Flow.Launcher.Plugin.Everything.Everything; +using Flow.Launcher.Plugin.Everything.Everything; using Flow.Launcher.Plugin.Explorer.Search; using Flow.Launcher.Plugin.Explorer.Search.Everything; using Flow.Launcher.Plugin.Explorer.Search.QuickAccessLinks; @@ -23,6 +23,8 @@ public class Settings public string EditorPath { get; set; } = ""; + public string FolderEditorPath { get; set; } = ""; + public string ShellPath { get; set; } = "cmd"; diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/ViewModels/SettingsViewModel.cs b/Plugins/Flow.Launcher.Plugin.Explorer/ViewModels/SettingsViewModel.cs index 5975d3f16e1..bc026d0951f 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/ViewModels/SettingsViewModel.cs +++ b/Plugins/Flow.Launcher.Plugin.Explorer/ViewModels/SettingsViewModel.cs @@ -315,15 +315,26 @@ internal static void OpenWindowsIndexingOptions() Process.Start(psi); } - private ICommand? _openEditorPathCommand; + private ICommand? _openFileEditorPathCommand; - public ICommand OpenEditorPath => _openEditorPathCommand ??= new RelayCommand(_ => + public ICommand OpenFileEditorPath => _openFileEditorPathCommand ??= new RelayCommand(_ => { var path = PromptUserSelectPath(ResultType.File, Settings.EditorPath != null ? Path.GetDirectoryName(Settings.EditorPath) : null); if (path is null) return; - EditorPath = path; + FileEditorPath = path; + }); + + private ICommand? _openFolderEditorPathCommand; + + public ICommand OpenFolderEditorPath => _openFolderEditorPathCommand ??= new RelayCommand(_ => + { + var path = PromptUserSelectPath(ResultType.File, Settings.FolderEditorPath != null ? Path.GetDirectoryName(Settings.FolderEditorPath) : null); + if (path is null) + return; + + FolderEditorPath = path; }); private ICommand? _openShellPathCommand; @@ -338,7 +349,7 @@ internal static void OpenWindowsIndexingOptions() }); - public string EditorPath + public string FileEditorPath { get => Settings.EditorPath; set @@ -348,6 +359,16 @@ public string EditorPath } } + public string FolderEditorPath + { + get => Settings.FolderEditorPath; + set + { + Settings.FolderEditorPath = value; + OnPropertyChanged(); + } + } + public string ShellPath { get => Settings.ShellPath; diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Views/ExplorerSettings.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Views/ExplorerSettings.xaml index 6b2877bf5e7..4a7baa56649 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/Views/ExplorerSettings.xaml +++ b/Plugins/Flow.Launcher.Plugin.Explorer/Views/ExplorerSettings.xaml @@ -175,7 +175,8 @@ - + +