From d1328f41ca28b67a3431a0c277c75c16405f4dfe Mon Sep 17 00:00:00 2001 From: Jeremy Wu Date: Thu, 30 Apr 2020 18:55:15 +1000 Subject: [PATCH] Folder plugin- default result sorting and refreshview update --- .../FolderPluginSettings.xaml.cs | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Folder/FolderPluginSettings.xaml.cs b/Plugins/Flow.Launcher.Plugin.Folder/FolderPluginSettings.xaml.cs index 24c512cd6..cb38ac1a5 100644 --- a/Plugins/Flow.Launcher.Plugin.Folder/FolderPluginSettings.xaml.cs +++ b/Plugins/Flow.Launcher.Plugin.Folder/FolderPluginSettings.xaml.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System.Collections.Generic; +using System.ComponentModel; using System.IO; using System.Linq; using System.Windows; @@ -22,6 +23,31 @@ namespace Flow.Launcher.Plugin.Folder InitializeComponent(); _settings = settings; lbxFolders.ItemsSource = _settings.FolderLinks; + + RefreshView(); + } + + public void RefreshView() + { + lbxFolders.Items.SortDescriptions.Add(new SortDescription("Path", ListSortDirection.Ascending)); + + if (lbxFolders.Items.Count == 0 + && btnDelete.Visibility == Visibility.Visible + && btnEdit.Visibility == Visibility.Visible) + { + btnDelete.Visibility = Visibility.Hidden; + btnEdit.Visibility = Visibility.Hidden; + } + + if (lbxFolders.Items.Count > 0 + && btnDelete.Visibility == Visibility.Hidden + && btnEdit.Visibility == Visibility.Hidden) + { + btnDelete.Visibility = Visibility.Visible; + btnEdit.Visibility = Visibility.Visible; + } + + lbxFolders.Items.Refresh(); } private void btnDelete_Click(object sender, RoutedEventArgs e) @@ -34,7 +60,7 @@ namespace Flow.Launcher.Plugin.Folder if (MessageBox.Show(msg, string.Empty, MessageBoxButton.YesNo) == MessageBoxResult.Yes) { _settings.FolderLinks.Remove(selectedFolder); - lbxFolders.Items.Refresh(); + RefreshView(); } } else @@ -57,7 +83,7 @@ namespace Flow.Launcher.Plugin.Folder link.Path = folderBrowserDialog.SelectedPath; } - lbxFolders.Items.Refresh(); + RefreshView(); } else { @@ -84,7 +110,7 @@ namespace Flow.Launcher.Plugin.Folder _settings.FolderLinks.Add(newFolder); } - lbxFolders.Items.Refresh(); + RefreshView(); } private void lbxFolders_Drop(object sender, DragEventArgs e) @@ -110,7 +136,7 @@ namespace Flow.Launcher.Plugin.Folder _settings.FolderLinks.Add(newFolder); } - lbxFolders.Items.Refresh(); + RefreshView(); } } }