コード例 #1
0
ファイル: MainForm.cs プロジェクト: odalet/WSL-DistroManager
        private void PerformRefreshDistroList(bool triggeredByUser)
        {
            var items = SharedRoutines.LoadDistroList().ToArray();

            DistroListView.Items.Clear();
            foreach (var eachItem in items)
            {
                var lvItem = new ListViewItem(
                    eachItem.Properties.Select(x => x.Value).ToArray(),
                    eachItem.ImageKey)
                {
                    Tag = eachItem,
                };

                DistroListView.Items.Add(lvItem);
            }
            TotalCountLabel.Text = $"{items.Length} item{(items.Length > 1 ? "s" : "")}";

            if (DistroListView.Items.Count < 1)
            {
                DistroListView.Visible = false;
                emptyLabel.Visible     = true;
            }
            else
            {
                DistroListView.Visible = true;
                emptyLabel.Visible     = false;
            }

            if (!ShimGenerator.IsBusy)
            {
                ShimGenerator.RunWorkerAsync(new BackgroundWorkerArgument <DistroProperties[]>(triggeredByUser, items));
            }

            if (!ShortcutGenerator.IsBusy)
            {
                ShortcutGenerator.RunWorkerAsync(new BackgroundWorkerArgument <DistroProperties[]>(triggeredByUser, items));
            }
        }