/// <summary> /// Refreshes the UI and its contents /// </summary> public void RefreshContents() { Logger.Log("Refreshing"); lstManga.Items.Clear(); lstHentai.Items.Clear(); mangas.Clear(); DirectoryInfo root = new DirectoryInfo(homeFolder); DirectoryInfo[] dirs = root.GetDirectories("*", SearchOption.TopDirectoryOnly); foreach (DirectoryInfo dir in dirs) { // Logger.Log("Refreshing data for directory '" + dir.Name + "'"); if (dir.Name == "update") { continue; } else if (!dir.Name.StartsWith("h")) { var json = File.ReadAllText(dir.FullName + "\\manga.json"); var tracker = File.ReadAllText(dir.FullName + "\\tracker"); string[] trackerData = tracker.Split('|'); // Deserialize the JSON file dynamic contents = JsonConvert.DeserializeObject(json); string mangaName = contents.manga.title; Manga m = new Manga(mangaName, dir, trackerData[0], trackerData[1]); m.LoadSettings(); if (m.settings.name == "" || m.settings.name == null) { m.SaveSettings(m.settings.lang, m.settings.group, mangaName); m.LoadSettings(); } mangas.Add(m); string name = m.settings.name; if (name.Length > 21) { name = name.Substring(0, 21); } else { name = name.PadRight(21); } lstManga.Items.Add(name + " » c" + trackerData[0] + ",p" + trackerData[1]); } else // Hentai { string title = File.ReadAllText(dir.FullName + "\\title"); var tracker = File.ReadAllText(dir.FullName + "\\tracker"); string[] trackerData = tracker.Split('|'); Manga m = new Manga(title, dir, trackerData[0], trackerData[1]); mangas.Add(m); string name = m.name; if (name.Length > 21) { name = name.Substring(0, 21); } else { name = name.PadRight(21); } lstHentai.Items.Add(name + " » p" + trackerData[1]); } } if (lstManga.Items.Count > 0) { lstManga.SelectedIndex = 0; } if (lstHentai.Items.Count > 0) { lstHentai.SelectedIndex = 0; } }
private void Save() { m.SaveSettings(cmboLang.SelectedItem.ToString().Substring(0, 2), cmboGroup.SelectedItem.ToString(), txtName.Text); m.LoadSettings(); DialogResult = DialogResult.OK; }