private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            TreeNodeFolder tnf = e.Node as TreeNodeFolder;

            if (tnf != null && !tnf.NextLevelLoaded)
            {
                tnf.NextLevelLoaded = true;
                List <TreeNodeLoader> l = new List <TreeNodeLoader>();
                for (int i = 0; i < e.Node.Nodes.Count; i++)
                {
                    TreeNodeLoader tnl = e.Node.Nodes[i] as TreeNodeLoader;
                    if (tnl != null)
                    {
                        l.Add(tnl);
                    }
                }
                if (l.Count > 0)
                {
                    for (int i = 0; i < l.Count; i++)
                    {
                        e.Node.Nodes.Remove(l[i]);
                    }
                    for (int i = 0; i < l.Count; i++)
                    {
                        l[i].LoadNextLevel(tnf);
                    }
                }
            }
        }
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            TreeNodeFolder tnf = e.Node as TreeNodeFolder;

            if (tnf != null)
            {
                textBoxFolder.Text = tnf.WebFolder;
            }
        }
示例#3
0
文件: Program.cs 项目: kvd-vcs/skvd
        private static string SaveEmptyTree()
        {
            EnsureSystemFolderCreated();

            var tree = new TreeNodeFolder("");

            var hashString = SaveObjectToStorage(tree, TreesStorage);

            return(hashString);
        }
 public void LoadNextLevel(TreeNodeFolder parent)
 {
     string[] ss = Directory.GetDirectories(parent.Folder);
     if (ss != null && ss.Length > 0)
     {
         for (int i = 0; i < ss.Length; i++)
         {
             parent.Nodes.Add(new TreeNodeFolder(ss[i]));
         }
     }
 }
示例#5
0
 private void RefreshFolders()
 {
     treeView1.Nodes.Clear();
     foreach (var fol in Program.Settings.Folders)
     {
         var TR = new TreeNodeFolder();
         TR.ImageIndex         = 0;
         TR.SelectedImageIndex = 1;
         TR.Folder             = fol;
         treeView1.Nodes.Add(TR);
     }
 }
        private void buttonCreateFolder_Click(object sender, EventArgs e)
        {
            TreeNodeFolder tnf = treeView1.SelectedNode as TreeNodeFolder;

            if (tnf == null)
            {
                tnf = treeView1.Nodes[0] as TreeNodeFolder;
            }
            tnf.Expand();
            DialogCreateWebFolder dlg = new DialogCreateWebFolder();

            dlg.LoadData(tnf.Folder);
            if (dlg.ShowDialog(this) == DialogResult.OK)
            {
                tnf.Nodes.Add(new TreeNodeFolder(dlg.NewFolder));
            }
        }
示例#7
0
文件: Program.cs 项目: kvd-vcs/skvd
        private static string CreateInitCommit()
        {
            EnsureSystemFolderCreated();

            var tree     = new TreeNodeFolder("");
            var treeHash = SaveObjectToStorage(tree, TreesStorage);

            var hashes      = new Dictionary <string, string>();
            var hashAddress = SaveObjectToStorage(hashes, ModHashesStorage);

            var commitObject = new CommitModel()
            {
                Parents = null,
                Labels  = new Dictionary <string, string>()
                {
                    ["message"] = "init"
                },
                HashesAddress = hashAddress,
                TreeHash      = treeHash
            };

            return(SaveObjectToStorage(commitObject, CommitsStorage));
        }
示例#8
0
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (treeView1.SelectedNode == null)
            {
                return;
            }
            listView1.Items.Clear();
            pictureBox1.Image = Resources.NESDoc;
            richTextBox1.Text = "";
            var TR = (TreeNodeFolder)treeView1.SelectedNode;

            _SelectedFolder = TR;
            //Properties
            listView2.Items.Clear();
            listView2.Items.Add("Name");
            listView2.Items[listView2.Items.Count - 1].SubItems.Add(TR.Folder.Name);
            listView2.Items.Add("Path");
            listView2.Items[listView2.Items.Count - 1].SubItems.Add(TR.Folder.Path);
            listView2.Items.Add("Snapshots Path");
            listView2.Items[listView2.Items.Count - 1].SubItems.Add(TR.Folder.ImagesFolder);
            listView2.Items.Add("Info Texts Path");
            listView2.Items[listView2.Items.Count - 1].SubItems.Add(TR.Folder.InfosFolder);
            TextBox1_mapper.Text = _SelectedFolder.Folder.Mapper.ToString();
            switch (_SelectedFolder.Folder.Filter)
            {
            case FolderFilter.All:
                ComboBox1_nav.SelectedIndex = 0;
                TextBox1_mapper.Enabled     = false;
                break;

            case FolderFilter.SupportedMappersOnly:
                ComboBox1_nav.SelectedIndex = 1;
                TextBox1_mapper.Enabled     = false;
                break;

            case FolderFilter.Mapper:
                ComboBox1_nav.SelectedIndex = 2;
                TextBox1_mapper.Enabled     = true;
                break;
            }
            if (!Directory.Exists(TR.Folder.Path))
            {
                MessageBox.Show("This folder isn't exist on the disk !!");
                DeleteFolder(this, null);
            }
            else
            {
                var Dirs = Directory.GetFiles(TR.Folder.Path);
                foreach (var Dir in Dirs)
                {
                    var EXT = Path.GetExtension(Dir);
                    switch (EXT.ToLower())
                    {
                    case ".nes":
                        var IT = new ListViewItemRom();
                        IT.RomPath    = Dir;
                        IT.ImageIndex = 2;
                        IT.Text       = Path.GetFileName(Dir);
                        IT.SubItems.Add(Program.GetFileSize(Dir));
                        var header = new NesHeaderReader(Dir);
                        if (header.ValidRom)
                        {
                            IT.SubItems.Add(header.MemoryMapper.ToString() + ", " + header.GetMapperName());
                        }
                        switch (TR.Folder.Filter)
                        {
                        case FolderFilter.All:
                            listView1.Items.Add(IT);
                            break;

                        case FolderFilter.SupportedMappersOnly:
                            if (header.SupportedMapper())
                            {
                                listView1.Items.Add(IT);
                            }
                            break;

                        case FolderFilter.Mapper:
                            if (header.MemoryMapper == Convert.ToInt32(TextBox1_mapper.Text))
                            {
                                listView1.Items.Add(IT);
                            }
                            break;
                        }
                        break;

                    case ".rar":
                        var IT1 = new ListViewItemRom();
                        IT1.ImageIndex = 3;
                        IT1.RomPath    = Dir;
                        IT1.Text       = Path.GetFileName(Dir);
                        IT1.SubItems.Add(Program.GetFileSize(Dir));
                        IT1.SubItems.Add("N/A");
                        listView1.Items.Add(IT1);
                        break;

                    case ".zip":
                        var IT2 = new ListViewItemRom();
                        IT2.ImageIndex = 3;
                        IT2.RomPath    = Dir;
                        IT2.Text       = Path.GetFileName(Dir);
                        IT2.SubItems.Add(Program.GetFileSize(Dir));
                        IT2.SubItems.Add("N/A");
                        listView1.Items.Add(IT2);
                        break;

                    case ".7z":
                        var IT3 = new ListViewItemRom();
                        IT3.ImageIndex = 3;
                        IT3.RomPath    = Dir;
                        IT3.Text       = Path.GetFileName(Dir);
                        IT3.SubItems.Add(Program.GetFileSize(Dir));
                        IT3.SubItems.Add("N/A");
                        listView1.Items.Add(IT3);
                        break;
                    }
                }
                label1_status.Text = listView1.Items.Count.ToString() + " items found.";
            }
        }
 private void buttonOK_Click(object sender, EventArgs e)
 {
     try
     {
         string f = textBoxFile.Text.Trim();
         if (string.IsNullOrEmpty(f))
         {
             MessageBox.Show(this, "The filename is empty", Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         else
         {
             if (!File.Exists(f))
             {
                 WebFile           = f;
                 this.DialogResult = System.Windows.Forms.DialogResult.OK;
             }
             else
             {
                 string         webFolder = string.Empty;
                 string         folder    = _webPhysicalFolder;
                 TreeNodeFolder tnf       = treeView1.SelectedNode as TreeNodeFolder;
                 if (tnf != null)
                 {
                     folder    = tnf.Folder;                          //web physical folder to copy file to
                     webFolder = tnf.WebFolder;                       //web virtual folder to appear in html
                 }
                 if (string.IsNullOrEmpty(folder))
                 {
                     MessageBox.Show(this, "The web folder is empty", Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
                 else
                 {
                     if (!Directory.Exists(folder))
                     {
                         MessageBox.Show(this, string.Format(CultureInfo.InvariantCulture, "The web folder does not exist. [{0}]", folder), Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
                     else
                     {
                         try
                         {
                             WebFile = Path.GetFileName(f);
                             string tgt = Path.Combine(folder, WebFile);
                             if (string.Compare(f, tgt, StringComparison.OrdinalIgnoreCase) != 0)
                             {
                                 if (!File.Exists(tgt))
                                 {
                                     File.Copy(f, tgt);
                                 }
                             }
                             if (!string.IsNullOrEmpty(webFolder))
                             {
                                 WebFile = string.Format(CultureInfo.InvariantCulture, "{0}/{1}", webFolder, WebFile);
                             }
                             this.DialogResult = DialogResult.OK;
                         }
                         catch (Exception e0)
                         {
                             MessageBox.Show(this, e0.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                         }
                     }
                 }
             }
         }
     }
     catch (Exception err)
     {
         MessageBox.Show(this, err.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }