From cc9b7d62df7a08fdbba31471fa662da6df531d38 Mon Sep 17 00:00:00 2001 From: donlaci Date: Fri, 14 Jun 2024 10:36:09 +0200 Subject: [PATCH 1/3] extend search for projects by search over the containing apps' names --- .../ViewModels/MainViewModel.cs | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/modules/Projects/ProjectsEditor/ViewModels/MainViewModel.cs b/src/modules/Projects/ProjectsEditor/ViewModels/MainViewModel.cs index 536e87fe60..49d832b5b8 100644 --- a/src/modules/Projects/ProjectsEditor/ViewModels/MainViewModel.cs +++ b/src/modules/Projects/ProjectsEditor/ViewModels/MainViewModel.cs @@ -8,12 +8,10 @@ using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Drawing; -using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Threading.Tasks; using System.Timers; -using System.Windows.Media.Imaging; using ManagedCommon; using ProjectsEditor.Models; using ProjectsEditor.Utils; @@ -31,7 +29,7 @@ namespace ProjectsEditor.ViewModels { get { - IEnumerable projects = string.IsNullOrEmpty(_searchTerm) ? Projects : Projects.Where(x => x.Name.Contains(_searchTerm, StringComparison.InvariantCultureIgnoreCase)); + IEnumerable projects = GetFilteredProjects(); if (projects == null) { return Enumerable.Empty(); @@ -53,6 +51,30 @@ namespace ProjectsEditor.ViewModels } } + // return those projects where the project name or any of the selected apps' name contains the search term + private IEnumerable GetFilteredProjects() + { + if (string.IsNullOrEmpty(_searchTerm)) + { + return Projects; + } + + return Projects.Where(x => + { + if (x.Name.Contains(_searchTerm, StringComparison.InvariantCultureIgnoreCase)) + { + return true; + } + + if (x.Applications == null) + { + return false; + } + + return x.Applications.Any(app => app.IsSelected && app.AppName.Contains(_searchTerm, StringComparison.InvariantCultureIgnoreCase)); + }); + } + private string _searchTerm; public string SearchTerm From 9cac577b7f086597a7be57797a77ef41d5fe8c67 Mon Sep 17 00:00:00 2001 From: donlaci Date: Fri, 14 Jun 2024 10:50:26 +0200 Subject: [PATCH 2/3] [Projects] fix grammatical issue #43 (1 app - many apps) --- .../Projects/ProjectsEditor/Models/Project.cs | 3 ++- .../Properties/Resources.Designer.cs | 18 ++++++++++++++++++ .../ProjectsEditor/Properties/Resources.resx | 6 ++++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/modules/Projects/ProjectsEditor/Models/Project.cs b/src/modules/Projects/ProjectsEditor/Models/Project.cs index 0fc07d6953..b25ab4ebf7 100644 --- a/src/modules/Projects/ProjectsEditor/Models/Project.cs +++ b/src/modules/Projects/ProjectsEditor/Models/Project.cs @@ -176,7 +176,8 @@ namespace ProjectsEditor.Models { get { - return Applications.Where(x => x.IsSelected).Count().ToString(CultureInfo.InvariantCulture) + " apps"; + int count = Applications.Where(x => x.IsSelected).Count(); + return count.ToString(CultureInfo.InvariantCulture) + " " + (count == 1 ? Properties.Resources.App : Properties.Resources.Apps); } } diff --git a/src/modules/Projects/ProjectsEditor/Properties/Resources.Designer.cs b/src/modules/Projects/ProjectsEditor/Properties/Resources.Designer.cs index 87aa3c446a..807fce6024 100644 --- a/src/modules/Projects/ProjectsEditor/Properties/Resources.Designer.cs +++ b/src/modules/Projects/ProjectsEditor/Properties/Resources.Designer.cs @@ -60,6 +60,15 @@ namespace ProjectsEditor.Properties { } } + /// + /// Looks up a localized string similar to app. + /// + public static string App { + get { + return ResourceManager.GetString("App", resourceCulture); + } + } + /// /// Looks up a localized string similar to App name. /// @@ -69,6 +78,15 @@ namespace ProjectsEditor.Properties { } } + /// + /// Looks up a localized string similar to apps. + /// + public static string Apps { + get { + return ResourceManager.GetString("Apps", resourceCulture); + } + } + /// /// Looks up a localized string similar to Are you sure?. /// diff --git a/src/modules/Projects/ProjectsEditor/Properties/Resources.resx b/src/modules/Projects/ProjectsEditor/Properties/Resources.resx index f659fb83d0..fbb95e7d6e 100644 --- a/src/modules/Projects/ProjectsEditor/Properties/Resources.resx +++ b/src/modules/Projects/ProjectsEditor/Properties/Resources.resx @@ -117,6 +117,12 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + app + + + apps + App name From 68a66ff03d81c0a5c5989b07f1b79633e30b9329 Mon Sep 17 00:00:00 2001 From: donlaci Date: Fri, 14 Jun 2024 11:50:56 +0200 Subject: [PATCH 3/3] [Projects] Editor: Main page: fix layout if there are many apps, launch button not disappearing on the right side --- src/modules/Projects/ProjectsEditor/MainPage.xaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/modules/Projects/ProjectsEditor/MainPage.xaml b/src/modules/Projects/ProjectsEditor/MainPage.xaml index ded6b0ef43..5efcc48b42 100644 --- a/src/modules/Projects/ProjectsEditor/MainPage.xaml +++ b/src/modules/Projects/ProjectsEditor/MainPage.xaml @@ -178,8 +178,12 @@ - - + + + + + + - + @@ -259,7 +263,7 @@ BorderThickness="1" Click="LaunchButton_Click"/> - +