diff --git a/src/modules/Projects/ProjectsEditor/Models/Application.cs b/src/modules/Projects/ProjectsEditor/Models/Application.cs index 52d41ef05c..1e1fc3aabb 100644 --- a/src/modules/Projects/ProjectsEditor/Models/Application.cs +++ b/src/modules/Projects/ProjectsEditor/Models/Application.cs @@ -71,8 +71,21 @@ namespace ProjectsEditor.Models } } + private bool _isSelected; + [JsonIgnore] - public bool IsSelected { get; set; } + public bool IsSelected + { + get => _isSelected; + set + { + if (_isSelected != value) + { + _isSelected = value; + OnPropertyChanged(new PropertyChangedEventArgs(nameof(IsSelected))); + } + } + } [JsonIgnore] public bool IsHighlighted { get; set; } diff --git a/src/modules/Projects/ProjectsEditor/Models/Project.cs b/src/modules/Projects/ProjectsEditor/Models/Project.cs index aca89d99ca..e246773175 100644 --- a/src/modules/Projects/ProjectsEditor/Models/Project.cs +++ b/src/modules/Projects/ProjectsEditor/Models/Project.cs @@ -121,7 +121,7 @@ namespace ProjectsEditor.Models public bool CanBeSaved { - get => Name.Length > 0 && Applications.Where(x => x.IsSelected).Any(); + get => Name.Length > 0 && Applications.Count > 0; } private bool _isPopupVisible; @@ -177,11 +177,13 @@ namespace ProjectsEditor.Models { get { - int count = Applications.Where(x => x.IsSelected).Count(); + int count = Applications.Count; return count.ToString(CultureInfo.InvariantCulture) + " " + (count == 1 ? Properties.Resources.App : Properties.Resources.Apps); } } + public bool IsAnySelected { get => Applications?.Any(x => x.IsSelected) == true; } + public List Monitors { get; set; } private BitmapImage _previewIcons; @@ -216,7 +218,7 @@ namespace ProjectsEditor.Models PackageFullName = item.PackageFullName, Minimized = item.Minimized, Maximized = item.Maximized, - IsSelected = item.IsSelected, + IsSelected = false, MonitorNumber = item.MonitorNumber, IsNotFound = item.IsNotFound, Position = new Application.WindowPosition() { X = item.Position.X, Y = item.Position.Y, Height = item.Position.Height, Width = item.Position.Width }, diff --git a/src/modules/Projects/ProjectsEditor/ProjectEditorPage.xaml b/src/modules/Projects/ProjectsEditor/ProjectEditorPage.xaml index e52aefe5cc..a067be2500 100644 --- a/src/modules/Projects/ProjectsEditor/ProjectEditorPage.xaml +++ b/src/modules/Projects/ProjectsEditor/ProjectEditorPage.xaml @@ -103,7 +103,7 @@ @@ -151,21 +151,41 @@ Foreground="{DynamicResource PrimaryForegroundBrush}" VerticalAlignment="Center"/> - - - - + + +