From 26639ca8fdc6fe326a45c07e088a62e3f5c92bb1 Mon Sep 17 00:00:00 2001 From: Robert Date: Fri, 12 Nov 2021 20:39:02 +0100 Subject: [PATCH] Settings - Added plugin search --- .../Plugins/Views/PluginSettingsView.axaml | 6 +++--- .../Screens/Root/Views/RootView.axaml | 14 ++++++-------- .../Tabs/ViewModels/PluginsTabViewModel.cs | 15 +++++++++------ .../Settings/Tabs/Views/PluginsTabView.axaml | 9 ++++++--- src/Artemis.UI.Avalonia/Styles/Button.axaml | 5 +++++ 5 files changed, 29 insertions(+), 20 deletions(-) diff --git a/src/Artemis.UI.Avalonia/Screens/Plugins/Views/PluginSettingsView.axaml b/src/Artemis.UI.Avalonia/Screens/Plugins/Views/PluginSettingsView.axaml index d3fb1d745..20feaa0ae 100644 --- a/src/Artemis.UI.Avalonia/Screens/Plugins/Views/PluginSettingsView.axaml +++ b/src/Artemis.UI.Avalonia/Screens/Plugins/Views/PluginSettingsView.axaml @@ -7,7 +7,7 @@ xmlns:shared="clr-namespace:Artemis.UI.Avalonia.Shared.Controls;assembly=Artemis.UI.Avalonia.Shared" mc:Ignorable="d" d:DesignWidth="900" d:DesignHeight="450" x:Class="Artemis.UI.Avalonia.Screens.Plugins.Views.PluginSettingsView"> - + - - diff --git a/src/Artemis.UI.Avalonia/Screens/Root/Views/RootView.axaml b/src/Artemis.UI.Avalonia/Screens/Root/Views/RootView.axaml index 016362e0f..50de48c2e 100644 --- a/src/Artemis.UI.Avalonia/Screens/Root/Views/RootView.axaml +++ b/src/Artemis.UI.Avalonia/Screens/Root/Views/RootView.axaml @@ -13,14 +13,12 @@ - - - - - - - - + + + + + + \ No newline at end of file diff --git a/src/Artemis.UI.Avalonia/Screens/Settings/Tabs/ViewModels/PluginsTabViewModel.cs b/src/Artemis.UI.Avalonia/Screens/Settings/Tabs/ViewModels/PluginsTabViewModel.cs index df9af3656..bbf898563 100644 --- a/src/Artemis.UI.Avalonia/Screens/Settings/Tabs/ViewModels/PluginsTabViewModel.cs +++ b/src/Artemis.UI.Avalonia/Screens/Settings/Tabs/ViewModels/PluginsTabViewModel.cs @@ -19,12 +19,12 @@ namespace Artemis.UI.Avalonia.Screens.Settings.Tabs.ViewModels { public class PluginsTabViewModel : ActivatableViewModelBase { - private readonly IPluginManagementService _pluginManagementService; private readonly INotificationService _notificationService; - private readonly IWindowService _windowService; + private readonly IPluginManagementService _pluginManagementService; private readonly ISettingsVmFactory _settingsVmFactory; - private string? _searchPluginInput; + private readonly IWindowService _windowService; private List? _instances; + private string? _searchPluginInput; public PluginsTabViewModel(IPluginManagementService pluginManagementService, INotificationService notificationService, IWindowService windowService, ISettingsVmFactory settingsVmFactory) { @@ -36,7 +36,7 @@ namespace Artemis.UI.Avalonia.Screens.Settings.Tabs.ViewModels DisplayName = "Plugins"; Plugins = new ObservableCollection(); - this.WhenAnyValue(x => x.SearchPluginInput).Throttle(TimeSpan.FromMilliseconds(300)).Subscribe(SearchPlugins); + this.WhenAnyValue(x => x.SearchPluginInput).Throttle(TimeSpan.FromMilliseconds(100)).Subscribe(SearchPlugins); this.WhenActivated((CompositeDisposable _) => GetPluginInstances()); } @@ -48,7 +48,10 @@ namespace Artemis.UI.Avalonia.Screens.Settings.Tabs.ViewModels set => this.RaiseAndSetIfChanged(ref _searchPluginInput, value); } - public void OpenUrl(string url) => Utilities.OpenUrl(url); + public void OpenUrl(string url) + { + Utilities.OpenUrl(url); + } public async Task ImportPlugin() { @@ -66,7 +69,7 @@ namespace Artemis.UI.Avalonia.Screens.Settings.Tabs.ViewModels // Enable it via the VM to enable the prerequisite dialog PluginSettingsViewModel pluginViewModel = Plugins.FirstOrDefault(i => i.Plugin == plugin); - if (pluginViewModel is { IsEnabled: false }) + if (pluginViewModel is {IsEnabled: false}) pluginViewModel.IsEnabled = true; _notificationService.CreateNotification() diff --git a/src/Artemis.UI.Avalonia/Screens/Settings/Tabs/Views/PluginsTabView.axaml b/src/Artemis.UI.Avalonia/Screens/Settings/Tabs/Views/PluginsTabView.axaml index cba39cedb..b3027c1b9 100644 --- a/src/Artemis.UI.Avalonia/Screens/Settings/Tabs/Views/PluginsTabView.axaml +++ b/src/Artemis.UI.Avalonia/Screens/Settings/Tabs/Views/PluginsTabView.axaml @@ -2,7 +2,10 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" + mc:Ignorable="d" d:DesignWidth="1200" d:DesignHeight="450" x:Class="Artemis.UI.Avalonia.Screens.Settings.Tabs.Views.PluginsTabView"> - - + + + + + \ No newline at end of file diff --git a/src/Artemis.UI.Avalonia/Styles/Button.axaml b/src/Artemis.UI.Avalonia/Styles/Button.axaml index e1856b64e..4afc0526b 100644 --- a/src/Artemis.UI.Avalonia/Styles/Button.axaml +++ b/src/Artemis.UI.Avalonia/Styles/Button.axaml @@ -49,6 +49,11 @@ + +