mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-18 12:47:56 +01:00
[Projects] Add Select all checkbox, Delete selected button
This commit is contained in:
@@ -88,7 +88,7 @@ namespace ProjectsEditor.ViewModels
|
||||
return false;
|
||||
}
|
||||
|
||||
return x.Applications.Any(app => app.IsSelected && app.AppName.Contains(_searchTerm, StringComparison.InvariantCultureIgnoreCase));
|
||||
return x.Applications.Any(app => app.AppName.Contains(_searchTerm, StringComparison.InvariantCultureIgnoreCase));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -159,18 +159,7 @@ namespace ProjectsEditor.ViewModels
|
||||
editedProject.IsShortcutNeeded = projectToSave.IsShortcutNeeded;
|
||||
editedProject.PreviewIcons = projectToSave.PreviewIcons;
|
||||
editedProject.PreviewImage = projectToSave.PreviewImage;
|
||||
for (int appIndex = editedProject.Applications.Count - 1; appIndex >= 0; appIndex--)
|
||||
{
|
||||
if (!projectToSave.Applications[appIndex].IsSelected)
|
||||
{
|
||||
editedProject.Applications.RemoveAt(appIndex);
|
||||
}
|
||||
else
|
||||
{
|
||||
editedProject.Applications[appIndex].IsSelected = true;
|
||||
editedProject.Applications[appIndex].CommandLineArguments = projectToSave.Applications[appIndex].CommandLineArguments;
|
||||
}
|
||||
}
|
||||
editedProject.Applications = projectToSave.Applications;
|
||||
|
||||
editedProject.OnPropertyChanged(new System.ComponentModel.PropertyChangedEventArgs("AppsCountString"));
|
||||
editedProject.Initialize();
|
||||
@@ -360,5 +349,23 @@ namespace ProjectsEditor.ViewModels
|
||||
project.IsPopupVisible = false;
|
||||
}
|
||||
}
|
||||
|
||||
internal void UpdateIsSelectedStates(Project project, bool newValue)
|
||||
{
|
||||
foreach (Application app in project.Applications)
|
||||
{
|
||||
app.IsSelected = newValue;
|
||||
}
|
||||
|
||||
project.OnPropertyChanged(new PropertyChangedEventArgs(nameof(Project.IsAnySelected)));
|
||||
}
|
||||
|
||||
internal void RemoveSelectedApps(Project project)
|
||||
{
|
||||
project.Applications.RemoveAll(app => app.IsSelected);
|
||||
project.OnPropertyChanged(new PropertyChangedEventArgs(nameof(Project.ApplicationsListed)));
|
||||
project.OnPropertyChanged(new PropertyChangedEventArgs(nameof(Project.IsAnySelected)));
|
||||
project.OnPropertyChanged(new PropertyChangedEventArgs(nameof(Project.CanBeSaved)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user