Ejemplo n.º 1
0
        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);
        }