public void UpdateInstancesList() { GameInstancesListView.Items.Clear(); UpdateButtonState(); GameInstancesListView.Items.AddRange(_manager.Instances .OrderByDescending(instance => instance.Value.Version()) .Select(instance => new ListViewItem(new string[] { !instance.Value.Valid ? string.Format(Properties.Resources.ManageGameInstancesNameColumnInvalid, instance.Key) : _manager.CurrentInstance != instance.Value && instance.Value.IsMaybeLocked ? string.Format(Properties.Resources.ManageGameInstancesNameColumnLocked, instance.Key) : instance.Key, instance.Value.game.ShortName, FormatVersion(instance.Value.Version()), instance.Value.GameDir().Replace('/', Path.DirectorySeparatorChar) }) { Tag = instance.Key }) .ToArray() ); GameInstancesListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); GameInstancesListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }
public void UpdateInstancesList() { GameInstancesListView.Items.Clear(); UpdateButtonState(); var allSameGame = _manager.Instances.Select(i => i.Value.game).Distinct().Count() <= 1; var hasPlayTime = _manager.Instances.Any(instance => (instance.Value.playTime?.Time ?? TimeSpan.Zero) > TimeSpan.Zero); AddOrRemoveColumn(GameInstancesListView, Game, !allSameGame); AddOrRemoveColumn(GameInstancesListView, GamePlayTime, hasPlayTime); GameInstancesListView.Items.AddRange(_manager.Instances .OrderByDescending(instance => instance.Value.Version()) .Select(instance => new ListViewItem(rowItems(instance.Value, !allSameGame, hasPlayTime)) { Tag = instance.Key }) .ToArray() ); GameInstancesListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); GameInstancesListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }