/// </summary>\r
/// <param name="presetName">String, The name of the new preset</param>\r
/// <param name="query">String, the CLI query for the new preset</param>\r
+ /// <param name="pictureSettings"> Bool, store crop/picture sizes in the presets</param>\r
public Boolean addPreset(string presetName, string query, Boolean pictureSettings)\r
{\r
if (checkIfPresetExists(presetName) == false)\r
}\r
user_presets = newUserPresets;\r
\r
- // Now, Update the presets.xml and user_presets.xml file with the new items.\r
- string userPresets = Application.StartupPath.ToString() + "\\user_presets.xml";\r
- string presetsFile = Application.StartupPath.ToString() + "\\presets.xml";\r
-\r
// Rebuild the user_presets.xml file\r
updateUserPresetsFile();\r
updatePresetsFile();\r
}\r
\r
/// <summary>\r
+ /// Save changes to a given preset in the user preset list.\r
+ /// </summary>\r
+ /// <param name="presetName">String, The name of the new preset</param>\r
+ /// <param name="query">String, the CLI query for the new preset</param>\r
+ /// <param name="pictureSettings"> Bool, store crop/picture sizes in the preset</param>\r
+ public void updatePreset(string presetName, string query, Boolean pictureSettings)\r
+ {\r
+ // User Presets\r
+ foreach (Preset item in user_presets)\r
+ {\r
+ if (item.Name == presetName)\r
+ {\r
+ item.Query = query;\r
+ item.PictureSettings = pictureSettings;\r
+ MessageBox.Show("Changes to \"" + presetName + "\" Saved", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);\r
+ }\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
/// Get a List of all the built in preset names.\r
/// </summary>\r
/// <returns>List<String> of preset names</returns>\r
\r
return false;\r
}\r
+\r
+ /// <summary>\r
+ /// Check if the user preset "name" exists in user_presets list.\r
+ /// </summary>\r
+ /// <param name="name"></param>\r
+ /// <returns></returns>\r
+ public Boolean checkIfUserPresetExists(string name)\r
+ {\r
+ if (name == string.Empty)\r
+ return false;\r
+\r
+ // User Presets\r
+ foreach (Preset item in user_presets)\r
+ {\r
+ if (item.Name == name)\r
+ return true;\r
+ }\r
+\r
+ return false;\r
+ }\r
}\r
}
\ No newline at end of file
this.pmnu_expandAll = new System.Windows.Forms.ToolStripMenuItem();\r
this.pmnu_collapse = new System.Windows.Forms.ToolStripMenuItem();\r
this.sep1 = new System.Windows.Forms.ToolStripSeparator();\r
+ this.pmnu_saveChanges = new System.Windows.Forms.ToolStripMenuItem();\r
this.pmnu_delete = new System.Windows.Forms.ToolStripMenuItem();\r
this.toolStrip1 = new System.Windows.Forms.ToolStrip();\r
this.btn_source = new System.Windows.Forms.ToolStripDropDownButton();\r
this.pmnu_expandAll,\r
this.pmnu_collapse,\r
this.sep1,\r
+ this.pmnu_saveChanges,\r
this.pmnu_delete});\r
this.presets_menu.Name = "presets_menu";\r
- this.presets_menu.Size = new System.Drawing.Size(140, 76);\r
+ this.presets_menu.Size = new System.Drawing.Size(155, 120);\r
+ this.presets_menu.Text = ";";\r
+ this.presets_menu.Opening += new System.ComponentModel.CancelEventHandler(this.presets_menu_Opening);\r
// \r
// pmnu_expandAll\r
// \r
this.pmnu_expandAll.Name = "pmnu_expandAll";\r
- this.pmnu_expandAll.Size = new System.Drawing.Size(139, 22);\r
+ this.pmnu_expandAll.Size = new System.Drawing.Size(154, 22);\r
this.pmnu_expandAll.Text = "Expand All";\r
this.pmnu_expandAll.Click += new System.EventHandler(this.pmnu_expandAll_Click);\r
// \r
// pmnu_collapse\r
// \r
this.pmnu_collapse.Name = "pmnu_collapse";\r
- this.pmnu_collapse.Size = new System.Drawing.Size(139, 22);\r
+ this.pmnu_collapse.Size = new System.Drawing.Size(154, 22);\r
this.pmnu_collapse.Text = "Collapse All";\r
this.pmnu_collapse.Click += new System.EventHandler(this.pmnu_collapse_Click);\r
// \r
// sep1\r
// \r
this.sep1.Name = "sep1";\r
- this.sep1.Size = new System.Drawing.Size(136, 6);\r
+ this.sep1.Size = new System.Drawing.Size(151, 6);\r
+ // \r
+ // pmnu_saveChanges\r
+ // \r
+ this.pmnu_saveChanges.Name = "pmnu_saveChanges";\r
+ this.pmnu_saveChanges.Size = new System.Drawing.Size(154, 22);\r
+ this.pmnu_saveChanges.Text = "Save Changes";\r
+ this.pmnu_saveChanges.Click += new System.EventHandler(this.pmnu_saveChanges_Click);\r
// \r
// pmnu_delete\r
// \r
this.pmnu_delete.Name = "pmnu_delete";\r
- this.pmnu_delete.Size = new System.Drawing.Size(139, 22);\r
+ this.pmnu_delete.Size = new System.Drawing.Size(154, 22);\r
this.pmnu_delete.Text = "Delete";\r
this.pmnu_delete.Click += new System.EventHandler(this.pmnu_delete_click);\r
// \r
private System.Windows.Forms.ToolStripDropDownButton tb_preview;\r
private System.Windows.Forms.ToolStripMenuItem mnu_qtpreview;\r
private System.Windows.Forms.ToolStripMenuItem mnu_vlcpreview;\r
+ private System.Windows.Forms.ToolStripMenuItem pmnu_saveChanges;\r
\r
}\r
}
\ No newline at end of file
using System.Collections;\r
using System.Collections.Generic;\r
using System.Drawing;\r
-using System.Text;\r
using System.Windows.Forms;\r
using System.IO;\r
using System.Diagnostics;\r
using System.Threading;\r
-using System.Runtime.InteropServices;\r
-using System.Globalization;\r
-using System.Text.RegularExpressions;\r
\r
namespace Handbrake\r
{\r
events();\r
\r
// Queue Recovery\r
- queueRecovery(); \r
+ queueRecovery();\r
}\r
\r
// Startup Functions\r
{\r
treeView_presets.CollapseAll();\r
}\r
+ private void pmnu_saveChanges_Click(object sender, EventArgs e)\r
+ {\r
+ DialogResult result = MessageBox.Show("Do you wish to include picture settings when updating the preset: " + treeView_presets.SelectedNode.Text, "Update Preset", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);\r
+ if (result == DialogResult.Yes)\r
+ presetHandler.updatePreset(treeView_presets.SelectedNode.Text, queryGen.generateTabbedComponentsQuery(this), true);\r
+ else if (result == DialogResult.No)\r
+ presetHandler.updatePreset(treeView_presets.SelectedNode.Text, queryGen.generateTabbedComponentsQuery(this), false);\r
+ }\r
private void pmnu_delete_click(object sender, EventArgs e)\r
{\r
if (treeView_presets.SelectedNode != null)\r
}\r
treeView_presets.Select();\r
}\r
+ private void presets_menu_Opening(object sender, System.ComponentModel.CancelEventArgs e)\r
+ {\r
+ // Make sure that the save menu is always disabled by default\r
+ pmnu_saveChanges.Enabled = false;\r
+\r
+ // Now enable the save menu if the selected preset is a user preset\r
+ if (treeView_presets.SelectedNode != null)\r
+ {\r
+ if (presetHandler.checkIfUserPresetExists(treeView_presets.SelectedNode.Text))\r
+ {\r
+ pmnu_saveChanges.Enabled = true;\r
+ }\r
+ }\r
+ treeView_presets.Select();\r
+ }\r
\r
// Presets Management\r
private void btn_addPreset_Click(object sender, EventArgs e)\r
HandBrakeCLI = aProc[0];\r
HandBrakeCLI.Kill();\r
}\r
- \r
+\r
// Update the GUI\r
setEncodeFinished();\r
}\r
\r
setEncodeStarted(); // Encode is running, so setup the GUI appropriately\r
encodeQueue.startEncode(); // Start The Queue Encoding Process\r
- \r
+\r
}\r
else if (text_source.Text == string.Empty || text_source.Text == "Click 'Source' to continue" || text_destination.Text == string.Empty)\r
MessageBox.Show("No source OR destination selected.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
\r
#endregion\r
\r
+\r
+\r
+\r
// This is the END of the road ------------------------------------------------------------------------------\r
}\r
}
\ No newline at end of file