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"/>
-
+
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
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