Пример #1
0
        // 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;
            }
        }
Пример #2
0
        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));
            }
        }