コード例 #1
0
ファイル: Import.cs プロジェクト: Zakurab/GTAVTools
 public static void ImportFiles(DirectoryEntry entry)
 {
     OpenFileDialog fileDialog = new OpenFileDialog();
     fileDialog.Multiselect = true;
     if (fileDialog.ShowDialog() == DialogResult.OK) {
         foreach (String file in fileDialog.FileNames)
         {
             if (entry.GetEntries().Any(e => e.Name == Path.GetFileName(file)))
             {
                 // TODO: Ask for overwrite
                 MessageBox.Show(String.Format("Error: file {0} already exists.", Path.GetFileName(file)));
                 return;
             }
         }
         foreach (String file in fileDialog.FileNames)
         {
             // TODO: add resources, decide if to compress or not, all by extentions.
             // Right now all regular files compressed by default
             RegularFileEntry addedFile = new RegularFileEntry(Path.GetFileName(file), new ExternalFileStreamCreator(File.Open(file, FileMode.Open, FileAccess.Read, FileShare.Read)), true);
             entry.AddEntry(addedFile);
             if (entry.FilesListView != null)
             {
                 entry.FilesListView.Items.Add(new EntryListViewItem(addedFile));
             }
         }
     }
 }
コード例 #2
0
ファイル: GTA5.cs プロジェクト: Zakurab/GTAVTools
 public static EntryTreeNode GetTreeNodes(DirectoryEntry entry)
 {
     List<EntryTreeNode> children = new List<EntryTreeNode>();
     foreach (Entry childEntry in entry.GetEntries())
     {
         if (childEntry is DirectoryEntry)
         {
             children.Add(GetTreeNodes(childEntry as DirectoryEntry));
         }
     }
     return new EntryTreeNode(entry, children.ToArray());
 }
コード例 #3
0
ファイル: New.cs プロジェクト: Zakurab/GTAVTools
 public static void NewFolder(DirectoryEntry entry)
 {
     string name = "New Folder";
     int i = 1;
     for (; entry.GetEntries().Any(e => e.Name == name); ++i, name = String.Format("New Folder ({0})", i)) ;
     DirectoryEntry addedFolder = new DirectoryEntry(name, new List<Entry>());
     entry.AddEntry(addedFolder);
     entry.Node.Nodes.Add(new EntryTreeNode(addedFolder, new EntryTreeNode[]{}));
     if (!entry.Node.IsExpanded)
     {
         entry.Node.Expand();
     }
     addedFolder.Node.TreeView.SelectedNode = addedFolder.Node;
     addedFolder.Node.TreeView.LabelEdit = true;
     addedFolder.Node.BeginEdit();
 }