// Constructors public Browser() { selectedAttributes = new List <String>(); selectedDirs = new List <string>(); InitializeComponent(); bool initFromRecentPath = false; foreach (String line in File.ReadAllLines(Program.SettingsFile)) { if (line.Contains("RecentPath")) { String recentPath = line.Split('=')[1]; if (recentPath[recentPath.Length - 1] == ':') { recentPath += "\\"; } if (File.Exists(recentPath + "\\amj.attrlist")) { AmjFolder folder = new AmjFolder(recentPath); folder.loadContents(); populateAmjFolder(folder, 0); curFolder = folder; } else { RegularFolder folder = new RegularFolder(recentPath); folder.loadContents(); populateRegularFolder(folder); curFolder = folder; } foreach (String dir in recentPath.Split('\\')) { if (dir.Length > 0) { if (dir.Contains(":")) { selectedDirs.Add(dir + "\\"); } else { selectedDirs.Add(dir); } } } this.txtPath.Text = recentPath; initFromRecentPath = true; break; } } if (!initFromRecentPath) { RegularFolder rootFolder = new RegularFolder(""); rootFolder.loadContents(); populateRegularFolder(rootFolder); curFolder = rootFolder; } }
private void doOpen() { if (listView1.SelectedItems.Count == 0) { return; } AmjObject obj = (AmjObject)listView1.SelectedItems[0].Tag; if (obj is AmjFolder) { AmjFolder f = (AmjFolder)obj; curFolder = f; f.loadContents(); populateAmjFolder(f, 0); selectedDirs.Add(curFolder.name); } else if (obj is RegularFolder) { RegularFolder f = (RegularFolder)obj; curFolder = f; f.loadContents(); populateRegularFolder(f); selectedDirs.Add(curFolder.name); } else if (obj is RegularFile) { RegularFile f = (RegularFile)obj; f.open(); } else if (obj is AmjAttribute) { AmjAttribute a = (AmjAttribute)obj; selectedAttributes.Add(a.value == "Unknown"?"":a.value); populateAmjFolder((AmjFolder)curFolder, selectedAttributes.Count); selectedDirs.Add("[" + a.value + "]"); } this.txtPath.Text = ""; foreach (String dir in selectedDirs) { this.txtPath.Text += dir.Contains("\\") ? dir : dir + "\\"; } if (obj is RegularFolder) { File.WriteAllText(Program.SettingsFile, "RecentPath=" + this.txtPath.Text.Substring(0, this.txtPath.Text.Length - 1)); } }