private ListViewItem SetFileStats(List <String> ignoredf, String f, String pathdb) { FileInfo fi = new FileInfo(f); ListViewItem item = new ListViewItem(fi.Name); double l = fi.Length / (1024.0 * 1024.0); item.SubItems.Add(l.ToString("F1") + " " + _daddy.GetTranslator().GetString("LblMO")); item.SubItems.Add(fi.LastWriteTime.ToLongDateString());//String.Format("{0:d/M/yyyy HH:mm:ss}", fi.LastWriteTime)); String key = StartupFilesConfig.GetKeyFromFilename(pathdb, f); item.SubItems.Add(key); item.Tag = key; if (ignoredf.Contains(key)) { item.Checked = false; // ignored = unchecked } else { item.Checked = true; // keep it : check } return(item); }
/// <summary> /// Constructor /// </summary> /// <param name="daddy">Reference to main window (MainWindow instance), used for callback purposes</param> public StartupFilesConfig(MainWindow daddy) { _daddy = daddy; InitializeComponent(); this.Text = _daddy.GetTranslator().GetString("DlgStartupFilecfg"); label1.Text = _daddy.GetTranslator().GetString("LblCheckFileToLoad"); button1startupconf.Text = _daddy.GetTranslator().GetString("BtnOk"); button2startupconf.Text = _daddy.GetTranslator().GetString("BtnCancel"); button3startupconf.Text = _daddy.GetTranslator().GetString("BtnCheckAll"); button4startupconf.Text = _daddy.GetTranslator().GetString("BtnUncheckAll"); button5startupconf.Text = _daddy.GetTranslator().GetString("BtnLoadSelectedFiles"); label11.Text = _daddy.GetTranslator().GetString("LblDatabase"); // Init listview listView1startupconf.Columns.Add(_daddy.GetTranslator().GetString("ColFileName"), 250); listView1startupconf.Columns.Add(_daddy.GetTranslator().GetString("ColSizeMo") + " (" + _daddy.GetTranslator().GetString("LblMO") + ")", 50); listView1startupconf.Columns.Add(_daddy.GetTranslator().GetString("ColCreationDate"), 150); listView1startupconf.Columns.Add(_daddy.GetTranslator().GetString("ColFilePath"), 150); // Build list from configuration List <String> ignoredf; ignoredf = StartupFilesConfig.GetListOfExcludedFiles(); // And finally add all the files from the saved DB if they are missing // DB names ListTextCoord b = _daddy.GetBookmarks(); cbDBListstartupconf.Items.Add(_daddy.GetTranslator().GetString("CBNewDB")); cbDBListstartupconf.SelectedIndex = 0; foreach (DatabaseOfFiles db in b._Databases) { cbDBListstartupconf.Items.Add(db); } // Load files String pathdb = _daddy.GetUserDataPath() + Path.DirectorySeparatorChar + "GPX"; string[] filePaths = Directory.GetFiles(pathdb, "*.gpx", SearchOption.AllDirectories); foreach (string f in filePaths) { ListViewItem item = SetFileStats(ignoredf, f, pathdb); listView1startupconf.Items.Add(item); } filePaths = Directory.GetFiles(pathdb, "*.zip", SearchOption.AllDirectories); foreach (string f in filePaths) { ListViewItem item = SetFileStats(ignoredf, f, pathdb); listView1startupconf.Items.Add(item); } filePaths = Directory.GetFiles(pathdb, "*.ggz", SearchOption.AllDirectories); foreach (string f in filePaths) { ListViewItem item = SetFileStats(ignoredf, f, pathdb); listView1startupconf.Items.Add(item); } // now complete with non existing files if any foreach (String s in ignoredf) { bool bfound = false; foreach (ListViewItem item in listView1startupconf.Items) { if (item.Tag.ToString() == s) { bfound = true; break; } } if (!bfound) { // On ne l'ajoute pas !!!! /* * String cleaned = s; * int ipos = s.LastIndexOf('\\'); * if (ipos != -1) * cleaned = s.Substring(ipos + 1); * * ListViewItem item = new ListViewItem(cleaned); * item.SubItems.Add("?"); * item.SubItems.Add("?"); * item.SubItems.Add(s); * item.Tag = s; * item.Checked = false; // ignored = unchecked * listView1.Items.Add(item); */ } } // On resauve tout ça après le nettoyage, ça évite de se trainer les fichiers qui ont disparu SaveListOfExcludedFiles(); _FilesToload.Clear(); _daddy.TranslateTooltips(this, null); }