Exemple #1
0
        public void GenerateTreeview(string FolderPath)
        {
            PresetsTreeView.Nodes.Clear();

            Stack <TreeNode> stack         = new Stack <TreeNode>();
            DirectoryInfo    rootDirectory = new DirectoryInfo(FolderPath);
            TreeNode         node          = new TreeNode(rootDirectory.Name)
            {
                Tag = rootDirectory, ImageIndex = 1, SelectedImageIndex = 1
            };

            stack.Push(node);

            while (stack.Count > 0)
            {
                TreeNode        currentNode   = stack.Pop();
                DirectoryInfo   directoryInfo = (DirectoryInfo)currentNode.Tag;
                DirectoryInfo[] directories   = directoryInfo.GetDirectories();
                foreach (DirectoryInfo directory in directories)
                {
                    TreeNode childDirectoryNode = new TreeNode(directory.Name)
                    {
                        Tag = directory, ImageIndex = 1, SelectedImageIndex = 1
                    };
                    currentNode.Nodes.Add(childDirectoryNode);
                    stack.Push(childDirectoryNode);
                }
                FileInfo[] files = directoryInfo.GetFiles();
                foreach (FileInfo file in files)
                {
                    switch (file.Extension)
                    {
                    case ".lcpp":
                        try
                        {
                            LCPP CurrentPreset = new LCPP(file.FullName);
                            currentNode.Nodes.Add(new TreeNode($"\"{CurrentPreset.Name}\" by {CurrentPreset.Creator} ({file.Name})")
                            {
                                Tag = file, ImageIndex = 0, SelectedImageIndex = 0
                            });
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine($"Error Loading {file.Name}\n{e.Message}");
                            Console.WriteLine();
                            Console.WriteLine("Skipping...");
                        }
                        break;

                    case ".lcpb":
                        break;
                    }
                }
            }

            PresetsTreeView.Nodes.Add(node);
            PresetsTreeView.ExpandAll();
            Program.PresetCreatorNeedsReload = false;
        }
Exemple #2
0
        private void SavePresetButton_Click(object sender, EventArgs e)
        {
            FilenameTextBox.Text = FilenameTextBox.Text.Replace(".lcpp", "");
            if (FilenameTextBox.Text.Length == 0)
            {
                Console.WriteLine("File name is empty!\nPlease give a name to the file");
                return;
            }

            if (PresetsTreeView.SelectedNode?.Tag is FileInfo fi)
            {
                if (MessageBox.Show("Will you overwrite the existing file?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    LCPP OutFile = new LCPP()
                    {
                        Name = PresetNameTextBox.Text, Creator = PresetCreatorTextBox.Text
                    };
                    for (int i = 0; i < Cameras.Count; i++)
                    {
                        OutFile.Add(Cameras[i].Key);
                    }

                    OutFile.Save(fi.FullName, Properties.Settings.Default.IsCompressPresets);
                    Console.WriteLine("Preset Saved!");
                }
            }
            else if (PresetsTreeView.SelectedNode?.Tag is DirectoryInfo di)
            {
                if (di.GetFiles().Any(O => O.Name.Equals(FilenameTextBox.Text + ".lcpp")))
                {
                    if (MessageBox.Show("Will you overwrite the existing file?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
                    {
                        return;
                    }
                }
                LCPP OutFile = new LCPP()
                {
                    Name = PresetNameTextBox.Text, Creator = PresetCreatorTextBox.Text
                };
                for (int i = 0; i < Cameras.Count; i++)
                {
                    OutFile.Add(Cameras[i].Key);
                }

                OutFile.Save(Path.Combine(di.FullName, FilenameTextBox.Text + ".lcpp"), Properties.Settings.Default.IsCompressPresets);
                Console.WriteLine("Preset Saved!");
            }

            GenerateTreeview(Program.PresetPath);
            Program.PresetSelectorNeedsReload = true;
        }
Exemple #3
0
        /// <summary>
        /// Creates a backup....I can't find where to put this to make it actually helpful...
        /// </summary>
        /// <param name="Cameras"><see cref="CameraEditorForm.Cameras"/></param>
        public static void CreateBackup(BCAM Cameras)
        {
            LCPP Backup = new LCPP();

            for (int i = 0; i < Cameras.EntryCount; i++)
            {
                Backup.Add(Cameras[i]);
            }
            Backup.Creator = "LCP Backup Code";
            string date = DateTime.Now.ToString("MMMM dd yyyy | h:m:s tt");

            Backup.Name = "LCP Backup " + date;
            Backup.Save(Path.Combine(PresetPath, $"BACKUP-{date}.lcpp"), false);
        }
Exemple #4
0
 private void SelectButton_Click(object sender, EventArgs e)
 {
     if (((CameraEditorForm)ParentForm).Cameras == null)
     {
         Console.WriteLine(Program.ConsoleHalfSplitter);
         Console.WriteLine("Failed to add the preset!\nNo camera file is active");
         Console.WriteLine(Program.ConsoleHalfSplitter);
         return;
     }
     try
     {
         string full = ((FileInfo)PresetsTreeView.SelectedNode.Tag).FullName;
         if (!File.Exists(full))
         {
             PresetsTreeView.SelectedNode.Remove();
             throw new FileNotFoundException($"Could not find file '{full}'.");
         }
         Console.WriteLine("Loading preset...");
         LCPP CurrentPreset = new LCPP(full);
         for (int i = 0; i < CurrentPreset.Count; i++)
         {
             BCAMEntry entry = new BCAMEntry();
             entry.FromClipboard(CurrentPreset[i]);
             ((CameraEditorForm)ParentForm).AddCamera(entry);
             Console.Write($"\r{Math.Min(((float)(i + 1) / (float)CurrentPreset.Count) * 100.0f, 100.0f)}%          ");
         }
         Console.WriteLine();
         Console.WriteLine("Preset loaded successfully!");
         if (CurrentPreset.Count == 0)
         {
             Console.WriteLine("(Though the preset has no cameras...)");
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(Program.ConsoleHalfSplitter);
         Console.WriteLine("Preset Failed to load!\n" + ex.GetType().FullName + ": " + ex.Message);
         Console.WriteLine(Program.ConsoleHalfSplitter);
     }
 }