From eaaf7c2e4a07dee3426b4d7b7d90d0612a6aec64 Mon Sep 17 00:00:00 2001 From: Nguyen Tran Date: Wed, 17 May 2023 20:24:03 -0400 Subject: [PATCH] Plugin Store search works after refresh button clicked --- Flow.Launcher/SettingWindow.xaml.cs | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs index b80208a0cf0..7ac9c8cb61f 100644 --- a/Flow.Launcher/SettingWindow.xaml.cs +++ b/Flow.Launcher/SettingWindow.xaml.cs @@ -9,6 +9,7 @@ using ModernWpf; using ModernWpf.Controls; using System; +using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Security.Policy; @@ -58,12 +59,24 @@ private void OnLoaded(object sender, RoutedEventArgs e) pluginListView = (CollectionView)CollectionViewSource.GetDefaultView(Plugins.ItemsSource); pluginListView.Filter = PluginListFilter; - pluginStoreView = (CollectionView)CollectionViewSource.GetDefaultView(StoreListBox.ItemsSource); + pluginStoreView = (CollectionView)CollectionViewSource.GetDefaultView(StoreListBox.ItemsSource); pluginStoreView.Filter = PluginStoreFilter; + viewModel.PropertyChanged += new PropertyChangedEventHandler(SettingsWindowViewModelChanged); + InitializePosition(); } + private void SettingsWindowViewModelChanged(object sender, PropertyChangedEventArgs e) + { + if (e.PropertyName == nameof(viewModel.ExternalPlugins)) + { + pluginStoreView = (CollectionView)CollectionViewSource.GetDefaultView(StoreListBox.ItemsSource); + pluginStoreView.Filter = PluginStoreFilter; + pluginStoreView.Refresh(); + } + } + private void OnSelectPythonPathClick(object sender, RoutedEventArgs e) { var selectedFile = viewModel.GetFileFromDialog( @@ -257,9 +270,9 @@ private void ClearLogFolder(object sender, RoutedEventArgs e) { var confirmResult = MessageBox.Show( InternationalizationManager.Instance.GetTranslation("clearlogfolderMessage"), - InternationalizationManager.Instance.GetTranslation("clearlogfolder"), + InternationalizationManager.Instance.GetTranslation("clearlogfolder"), MessageBoxButton.YesNo); - + if (confirmResult == MessageBoxResult.Yes) { viewModel.ClearLogFolder(); @@ -390,7 +403,7 @@ private void OnAddCustomShortCutClick(object sender, RoutedEventArgs e) } #endregion - + private CollectionView pluginListView; private CollectionView pluginStoreView;