Esempio n. 1
0
        private void refillListView()
        {
            listViewAaxFiles.Items.Clear();
            foreach (var pr in _fileItems)
            {
                var fi  = pr.FileItem;
                var lvi = pr.ListViewItem;
                if (lvi is null)
                {
                    lvi = new ListViewItem {
                        Text = fi.BookTitle,
                    };
                    lvi.SubItems.Add(fi.Author);
                    lvi.SubItems.Add($"{fi.FileSize / (1024 * 1024)} MB");
                    lvi.SubItems.Add(fi.Duration.ToStringHMS());
                    lvi.SubItems.Add(fi.PublishingDate?.Year.ToString());
                    lvi.SubItems.Add(fi.Narrator);
                    lvi.SubItems.Add($"{fi.SampleRate} Hz");
                    lvi.SubItems.Add($"{fi.AvgBitRate} kb/s");

                    lvi.SubItems[0].Tag = _converter.SortingTitleWithPart(fi);
                    lvi.SubItems[2].Tag = fi.FileSize;
                    lvi.SubItems[6].Tag = fi.SampleRate;
                    lvi.SubItems[7].Tag = fi.AvgBitRate;

                    pr.ListViewItem = lvi;
                }
                listViewAaxFiles.Items.Add(lvi);
            }

            if (listViewAaxFiles.Items.Count > 0)
            {
                listViewAaxFiles.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                listViewAaxFiles.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            }

            if (listViewAaxFiles.Items.Count == 1)
            {
                listViewAaxFiles.Items[0].Selected = true;
            }
        }
Esempio n. 2
0
        private void refillListView(bool recreate = false)
        {
            var ci   = Thread.CurrentThread.CurrentCulture;
            var ciui = Thread.CurrentThread.CurrentUICulture;

            if (ciui is null)
            {
                ciui = ci;
            }

            Thread.CurrentThread.CurrentCulture = ciui;
            using (new ResourceGuard(() => Thread.CurrentThread.CurrentCulture = ci)) {
                listViewAaxFiles.Items.Clear();
                foreach (var pr in _fileItems)
                {
                    var fi  = pr.FileItem;
                    var lvi = pr.ListViewItem;
                    if (lvi is null || recreate)
                    {
                        lvi = new ListViewItem {
                            Text = fi.BookTitle,
                        };
                        lvi.SubItems.Add(fi.Author);
                        lvi.SubItems.Add($"{fi.FileSize / (1024 * 1024)} MB");
                        lvi.SubItems.Add(fi.Duration.ToStringHMS());
                        lvi.SubItems.Add(fi.PublishingDate?.Year.ToString());
                        lvi.SubItems.Add(fi.Narrator);
                        lvi.SubItems.Add($"{fi.SampleRate} Hz");
                        lvi.SubItems.Add($"{fi.AvgBitRate} kb/s");

                        if (Settings.FileDateColumn)
                        {
                            lvi.SubItems.Add(fi.FileDate.ToShortDateString());
                        }

                        lvi.SubItems[0].Tag = _converter.SortingTitleWithPart(fi);
                        lvi.SubItems[2].Tag = fi.FileSize;
                        lvi.SubItems[6].Tag = fi.SampleRate;
                        lvi.SubItems[7].Tag = fi.AvgBitRate;

                        if (Settings.FileDateColumn)
                        {
                            lvi.SubItems[8].Tag = fi.FileDate;
                        }

                        pr.ListViewItem = lvi;

                        Log(3, this, () => {
                            const string CC = "taslynmbd";
                            var sb          = new StringBuilder();
                            int cnt         = lvi.SubItems.Count;
                            int n           = Math.Min(CC.Length, cnt);
                            for (int i = 0; i < n; i++)
                            {
                                if (sb.Length > 0)
                                {
                                    sb.Append(", ");
                                }
                                string qt = (i <= 1 || i == 5) ? "\"" : string.Empty;
                                sb.Append($"{CC[i]}={qt}{lvi.SubItems[i].Text}{qt}");
                            }
                            return(sb.ToString());
                        });
                    }
                    listViewAaxFiles.Items.Add(lvi);
                }
            }

            adjustListViewColumnWidths();

            if (listViewAaxFiles.Items.Count == 1)
            {
                listViewAaxFiles.Items[0].Selected = true;
            }
        }