public void InvertSelectedItems(object sender, EventArgs e) { var selected = _listView.ListView.CheckBoxes ? _listView.CheckedObjects : _listView.SelectedObjects; var inverted = FilteredUninstallers.Except(selected); ChangeSelection(inverted); }
public void InvertSelectedItems(object sender, EventArgs e) { var selectedObjects = _listView.SelectedObjects; _listView.ListView.DeselectAll(); _listView.ListView.SelectObjects(FilteredUninstallers.Where(x => !selectedObjects.Contains(x)).ToList()); _listView.ListView.Focus(); }
/// <summary> /// Select first item starting with the keycode. /// If keycode leads to a valid selection true is returned. Otherwise, if there is nothing relevant to select false is /// returned. /// </summary> public bool SelectItemFromKeystroke(Keys keyCode) { var keyName = keyCode.ToLetterOrNumberString(); if (keyName != null) { var selectedObj = FilteredUninstallers.FirstOrDefault(x => x.DisplayName.StartsWith(keyName, StringComparison.InvariantCultureIgnoreCase)); _listView.ListView.DeselectAll(); if (selectedObj != null) { _listView.ListView.SelectObject(selectedObj, true); _listView.ListView.EnsureModelVisible(selectedObj); return(true); } } return(false); }
/*public bool DisplayWindowsFeatures() * { * if (ListRefreshIsRunning) * return false; * * ListRefreshIsRunning = true; * _reference.LockApplication(true); * * var error = LoadingDialog.ShowDialog(Localisable.LoadingDialogTitleLoadingWindowsFeatures, x => * { * var items = UninstallManager.GetWindowsFeaturesList(y => * { * x.SetMaximum(y.TotalCount); * x.SetProgress(y.CurrentCount); * }); * * AllUninstallers = * AllUninstallers.Where(e => e.UninstallerKind != UninstallerType.Dism).Concat(items).ToList(); * _listView.ListView.SafeInvoke(() => _listView.ListView.SetObjects(AllUninstallers, false)); * }); * * if (error != null) * PremadeDialogs.GenericError(error); * * _reference.LockApplication(false); * ListRefreshIsRunning = false; * * return error == null; * }*/ /// <summary> /// Get total size of all visible uninstallers. /// </summary> public FileSize GetFilteredSize() { return(FilteredUninstallers.Select(x => x.EstimatedSize).DefaultIfEmpty(FileSize.Empty) .Aggregate((size1, size2) => size1 + size2)); }