public void updatePlayable() { //Save selected to set after refresh object tmpSelectedItem = null; if (lstPlayable.SelectedItem != null) { tmpSelectedItem = lstPlayable.SelectedItem; } //For multiDirectories show just one playable not all single files, for this save the added rootDirs LinkedList <string> addedRootDirs = new LinkedList <string>(); //Read all playable files in download directory String[] mkvFiles = System.IO.Directory.GetFiles(Properties.Settings.Default.DownloadDir, "*.mkv", System.IO.SearchOption.AllDirectories); String[] aviFiles = System.IO.Directory.GetFiles(Properties.Settings.Default.DownloadDir, "*.avi", System.IO.SearchOption.AllDirectories); lstPlayable.Items.Clear(); foreach (String tmp in mkvFiles) { playableData tmpPlayable = new playableData(tmp); //Kleinere Dateien als 100MB ignorieren, dies sind sehr wahrscheinlich nur samples if (tmpPlayable.getFileSizeMb() >= 100) { //Root dir handling, nur ein root dir hinzufügen bei multiDirs if (tmpPlayable.getMultiDir()) { if (!addedRootDirs.Contains(tmpPlayable.getRootDir())) { tmpPlayable.setIsRootDir(true); addedRootDirs.AddLast(tmpPlayable.getRootDir()); lstPlayable.Items.Add((object)tmpPlayable); } } else { lstPlayable.Items.Add((object)tmpPlayable); } } } foreach (String tmp in aviFiles) { playableData tmpPlayable = new playableData(tmp); //Kleinere Dateien als 100MB ignorieren, dies sind sehr wahrscheinlich nur samples if (tmpPlayable.getFileSizeMb() >= 100) { //Root dir handling, nur ein root dir hinzufügen bei multiDirs if (tmpPlayable.getMultiDir()) { if (!addedRootDirs.Contains(tmpPlayable.getRootDir())) { tmpPlayable.setIsRootDir(true); addedRootDirs.AddLast(tmpPlayable.getRootDir()); lstPlayable.Items.Add((object)tmpPlayable); } } else { lstPlayable.Items.Add((object)tmpPlayable); } } } //Zweiten optionalen Ordner mit abprüfen if (Directory.Exists(Properties.Settings.Default.OptDir)) { //Read all playable files in download directory String[] mkvFiles2 = System.IO.Directory.GetFiles(Properties.Settings.Default.OptDir, "*.mkv", System.IO.SearchOption.AllDirectories); String[] aviFiles2 = System.IO.Directory.GetFiles(Properties.Settings.Default.OptDir, "*.avi", System.IO.SearchOption.AllDirectories); foreach (String tmp in mkvFiles2) { playableData tmpPlayable = new playableData(tmp); //Kleinere Dateien als 100MB ignorieren, dies sind sehr wahrscheinlich nur samples if (tmpPlayable.getFileSizeMb() >= 100) { //Root dir handling, nur ein root dir hinzufügen bei multiDirs if (tmpPlayable.getMultiDir()) { if (!addedRootDirs.Contains(tmpPlayable.getRootDir())) { tmpPlayable.setIsRootDir(true); addedRootDirs.AddLast(tmpPlayable.getRootDir()); lstPlayable.Items.Add((object)tmpPlayable); } } else { lstPlayable.Items.Add((object)tmpPlayable); } } } foreach (String tmp in aviFiles2) { playableData tmpPlayable = new playableData(tmp); //Kleinere Dateien als 100MB ignorieren, dies sind sehr wahrscheinlich nur samples if (tmpPlayable.getFileSizeMb() >= 100) { //Root dir handling, nur ein root dir hinzufügen bei multiDirs if (tmpPlayable.getMultiDir()) { if (!addedRootDirs.Contains(tmpPlayable.getRootDir())) { tmpPlayable.setIsRootDir(true); addedRootDirs.AddLast(tmpPlayable.getRootDir()); lstPlayable.Items.Add((object)tmpPlayable); } } else { lstPlayable.Items.Add((object)tmpPlayable); } } } } lstPlayable.Refresh(); //Set to one item if (tmpSelectedItem != null) { lstPlayable.SelectedItem = tmpSelectedItem; } else if (lstPlayable.Items.Count >= 1) { lstPlayable.SelectedIndex = 0; } }
public void updatePlayable() { //Save selected to set after refresh object tmpSelectedItem = null; if (lstPlayable.SelectedItem != null) { tmpSelectedItem = lstPlayable.SelectedItem; } //For multiDirectories show just one playable not all single files, for this save the added rootDirs LinkedList<string> addedRootDirs = new LinkedList<string>(); //Read all playable files in download directory String[] mkvFiles = System.IO.Directory.GetFiles(Properties.Settings.Default.DownloadDir, "*.mkv", System.IO.SearchOption.AllDirectories); String[] aviFiles = System.IO.Directory.GetFiles(Properties.Settings.Default.DownloadDir, "*.avi", System.IO.SearchOption.AllDirectories); lstPlayable.Items.Clear(); foreach (String tmp in mkvFiles) { playableData tmpPlayable = new playableData(tmp); //Kleinere Dateien als 100MB ignorieren, dies sind sehr wahrscheinlich nur samples if (tmpPlayable.getFileSizeMb() >= 100) { //Root dir handling, nur ein root dir hinzufügen bei multiDirs if(tmpPlayable.getMultiDir()) { if (!addedRootDirs.Contains(tmpPlayable.getRootDir())) { tmpPlayable.setIsRootDir(true); addedRootDirs.AddLast(tmpPlayable.getRootDir()); lstPlayable.Items.Add((object)tmpPlayable); } } else lstPlayable.Items.Add((object)tmpPlayable); } } foreach (String tmp in aviFiles) { playableData tmpPlayable = new playableData(tmp); //Kleinere Dateien als 100MB ignorieren, dies sind sehr wahrscheinlich nur samples if (tmpPlayable.getFileSizeMb() >= 100) { //Root dir handling, nur ein root dir hinzufügen bei multiDirs if (tmpPlayable.getMultiDir()) { if (!addedRootDirs.Contains(tmpPlayable.getRootDir())) { tmpPlayable.setIsRootDir(true); addedRootDirs.AddLast(tmpPlayable.getRootDir()); lstPlayable.Items.Add((object)tmpPlayable); } } else lstPlayable.Items.Add((object)tmpPlayable); } } //Zweiten optionalen Ordner mit abprüfen if (Directory.Exists(Properties.Settings.Default.OptDir)) { //Read all playable files in download directory String[] mkvFiles2 = System.IO.Directory.GetFiles(Properties.Settings.Default.OptDir, "*.mkv", System.IO.SearchOption.AllDirectories); String[] aviFiles2 = System.IO.Directory.GetFiles(Properties.Settings.Default.OptDir, "*.avi", System.IO.SearchOption.AllDirectories); foreach (String tmp in mkvFiles2) { playableData tmpPlayable = new playableData(tmp); //Kleinere Dateien als 100MB ignorieren, dies sind sehr wahrscheinlich nur samples if (tmpPlayable.getFileSizeMb() >= 100) { //Root dir handling, nur ein root dir hinzufügen bei multiDirs if (tmpPlayable.getMultiDir()) { if (!addedRootDirs.Contains(tmpPlayable.getRootDir())) { tmpPlayable.setIsRootDir(true); addedRootDirs.AddLast(tmpPlayable.getRootDir()); lstPlayable.Items.Add((object)tmpPlayable); } } else lstPlayable.Items.Add((object)tmpPlayable); } } foreach (String tmp in aviFiles2) { playableData tmpPlayable = new playableData(tmp); //Kleinere Dateien als 100MB ignorieren, dies sind sehr wahrscheinlich nur samples if (tmpPlayable.getFileSizeMb() >= 100) { //Root dir handling, nur ein root dir hinzufügen bei multiDirs if (tmpPlayable.getMultiDir()) { if (!addedRootDirs.Contains(tmpPlayable.getRootDir())) { tmpPlayable.setIsRootDir(true); addedRootDirs.AddLast(tmpPlayable.getRootDir()); lstPlayable.Items.Add((object)tmpPlayable); } } else lstPlayable.Items.Add((object)tmpPlayable); } } } lstPlayable.Refresh(); //Set to one item if (tmpSelectedItem != null) lstPlayable.SelectedItem = tmpSelectedItem; else if (lstPlayable.Items.Count >= 1) { lstPlayable.SelectedIndex = 0; } }