{\r
public partial class frmMain : Form\r
{\r
- // Declarations *******************************************************\r
// Objects which may be used by one or more other objects\r
Functions.Main hb_common_func = new Functions.Main();\r
Functions.Encode cliObj = new Functions.Encode();\r
Queue.Queue encodeQueue = new Queue.Queue();\r
Presets.PresetsHandler presetHandler = new Presets.PresetsHandler();\r
Parsing.Title selectedTitle;\r
+ Parsing.DVD thisDVD;\r
\r
// Objects belonging to this window only\r
PresetLoader presetLoader = new PresetLoader();\r
x264Panel x264PanelFunctions = new x264Panel();\r
QueryGenerator queryGen = new QueryGenerator();\r
\r
+ // Globals: Mainly used for tracking.\r
internal Process hbProc;\r
- private Parsing.DVD thisDVD;\r
private frmQueue queueWindow;\r
- private delegate void updateStatusChanger();\r
private string lastAction = null;\r
public int maxWidth = 0;\r
public int maxHeight = 0;\r
Form splash = new frmSplashScreen();\r
splash.Show();\r
\r
- // Initialize the queue window.\r
- queueWindow = new frmQueue(this);\r
//Create a label that can be updated from the parent thread.\r
Label lblStatus = new Label();\r
lblStatus.Size = new Size(250, 20);\r
lblStatus.Location = new Point(10, 280);\r
splash.Controls.Add(lblStatus);\r
-\r
InitializeComponent();\r
\r
// Update the users config file with the CLI version data.\r
lblStatus.Text = "Setting Version Data ...";\r
Application.DoEvents();\r
ArrayList x = hb_common_func.getCliVersionData();\r
- if (x != null)\r
- {\r
- try\r
- {\r
- Properties.Settings.Default.hb_build = int.Parse(x[1].ToString());\r
- Properties.Settings.Default.hb_version = x[0].ToString();\r
- }\r
- catch (Exception)\r
- {\r
- Properties.Settings.Default.hb_build = 0;\r
- Properties.Settings.Default.hb_version = "0";\r
- }\r
- }\r
+ Properties.Settings.Default.hb_build = int.Parse(x[1].ToString());\r
+ Properties.Settings.Default.hb_version = x[0].ToString();\r
\r
// show the form, but leave disabled until preloading is complete then show the main form\r
this.Enabled = false;\r
// Setup the GUI components\r
lblStatus.Text = "Setting up the GUI ...";\r
Application.DoEvents();\r
- setupH264Panel(); // Initalize the H.264 Panel\r
- loadPresetPanel(); // Load the Preset Panel\r
+ x264PanelFunctions.reset2Defaults(this); // Initialize all the x264 widgets to their default values\r
+ loadPresetPanel(); // Load the Preset Panel\r
+ treeView_presets.ExpandAll();\r
+ lbl_encode.Text = "";\r
+ queueWindow = new frmQueue(this); // Prepare the Queue\r
+\r
// Load the user's default settings or Normal Preset\r
- if (Properties.Settings.Default.defaultSettings == "Checked")\r
- loadUserDefaults();\r
+ if (Properties.Settings.Default.defaultSettings == "Checked" && Properties.Settings.Default.defaultUserSettings != "")\r
+ {\r
+ Functions.QueryParser presetQuery = Functions.QueryParser.Parse(Properties.Settings.Default.defaultUserSettings);\r
+ presetLoader.presetLoader(this, presetQuery, "User Defaults ");\r
+ }\r
else\r
loadNormalPreset();\r
- // Expand the preset Nodes\r
- treeView_presets.ExpandAll();\r
+\r
// Enabled GUI tooltip's if Required\r
if (Properties.Settings.Default.tooltipEnable == "Checked")\r
ToolTip.Active = true;\r
- lbl_encode.Text = "";\r
\r
//Finished Loading\r
lblStatus.Text = "Loading Complete!";\r
Application.DoEvents();\r
-\r
- //Close the splash screen\r
splash.Close();\r
splash.Dispose();\r
-\r
- // Turn the interface back to the user\r
this.Enabled = true;\r
\r
- // Some event Handlers. Used for minimize to taskbar\r
+ // Event Handlers\r
this.Resize += new EventHandler(frmMain_Resize);\r
\r
// Queue Recovery\r
}\r
\r
// Startup Functions\r
+ private delegate void updateStatusChanger();\r
private void startupUpdateCheck()\r
{\r
try\r
}\r
catch (Exception) { /* Do Nothing*/ }\r
}\r
- private void setupH264Panel()\r
- {\r
- // Set the default settings of the x264 panel\r
- drop_bFrames.Text = "Default (0)";\r
- drop_refFrames.Text = "Default (1)";\r
- drop_subpixelMotionEstimation.Text = "Default (4)";\r
- drop_trellis.Text = "Default (0)";\r
- drop_MotionEstimationMethod.Text = "Default (Hexagon)";\r
- drop_MotionEstimationRange.Text = "Default (16)";\r
- drop_directPrediction.Text = "Default (Spatial)";\r
- drop_deblockAlpha.Text = "Default (0)";\r
- drop_deblockBeta.Text = "Default (0)";\r
- drop_analysis.Text = "Default (some)";\r
- rtf_x264Query.Text = "";\r
- }\r
- private void loadUserDefaults()\r
- {\r
- // Try to load the users default settings.\r
- string userDefaults = Properties.Settings.Default.defaultUserSettings;\r
-\r
- if (userDefaults == "")\r
- loadNormalPreset();\r
- else\r
- {\r
- Functions.QueryParser presetQuery = Functions.QueryParser.Parse(userDefaults);\r
- presetLoader.presetLoader(this, presetQuery, "User Defaults ");\r
- }\r
- }\r
private void queueRecovery()\r
{\r
if (hb_common_func.check_queue_recovery() == true)\r
}\r
}\r
}\r
-\r
#endregion\r
\r
- // The Applications Main Menu and Menus *******************************\r
+ // User Interface Menus / Tool Strips *********************************\r
\r
#region File Menu\r
private void mnu_exit_Click(object sender, EventArgs e)\r
presetHandler.updateBuiltInPresets();\r
loadPresetPanel();\r
if (treeView_presets.Nodes.Count == 0)\r
- MessageBox.Show("Unable to load the presets.dat file. Please select \"Update Built-in Presets\" from the Presets Menu \nMake sure you are running the program in Admin mode if running on Vista. See Windows FAQ for details!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+ MessageBox.Show("Unable to load the presets.xml file. Please select \"Update Built-in Presets\" from the Presets Menu \nMake sure you are running the program in Admin mode if running on Vista. See Windows FAQ for details!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
else\r
MessageBox.Show("Presets have been updated!", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Information);\r
\r
private void mnu_delete_preset_Click(object sender, EventArgs e)\r
{\r
// Empty the preset file\r
- string presetsFile = Application.StartupPath.ToString() + "\\presets.dat";\r
+ string presetsFile = Application.StartupPath.ToString() + "\\presets.xml";\r
if (File.Exists(presetsFile))\r
File.Delete(presetsFile);\r
\r
}\r
#endregion\r
\r
- #region Preset Menu\r
+ #region Preset Bar\r
+ // Right Click Menu Code\r
private void pmnu_expandAll_Click(object sender, EventArgs e)\r
{\r
treeView_presets.ExpandAll();\r
}\r
treeView_presets.Select();\r
}\r
- #endregion\r
\r
- // MainWindow Components, Actions and Functions ***********************\r
- #region Actions\r
+ // Presets Management\r
+ private void btn_addPreset_Click(object sender, EventArgs e)\r
+ {\r
+ // Remember each nodes expanded status so we can reload it\r
+ List<Boolean> nodeStatus = saveTreeViewState();\r
+ nodeStatus.Add(true);\r
+\r
+ // Now add the new preset\r
+ Form preset = new frmAddPreset(this, queryGen.GenerateTheQuery(this), presetHandler);\r
+ preset.ShowDialog();\r
+\r
+ // Now reload the TreeView states\r
+ loadTreeViewStates(nodeStatus);\r
+ }\r
+ private void btn_removePreset_Click(object sender, EventArgs e)\r
+ {\r
+ DialogResult result = MessageBox.Show("Are you sure you wish to delete the selected preset?", "Preset", MessageBoxButtons.YesNo, MessageBoxIcon.Question);\r
+ if (result == DialogResult.Yes)\r
+ {\r
+ if (treeView_presets.SelectedNode != null)\r
+ presetHandler.remove(treeView_presets.SelectedNode.Text);\r
+\r
+ // Remember each nodes expanded status so we can reload it\r
+ List<Boolean> nodeStatus = saveTreeViewState();\r
+\r
+ // Now reload the preset panel\r
+ loadPresetPanel();\r
+\r
+ // Now reload the TreeView states\r
+ loadTreeViewStates(nodeStatus);\r
+ }\r
+ treeView_presets.Select();\r
+ }\r
+ private void btn_setDefault_Click(object sender, EventArgs e)\r
+ {\r
+ String query = queryGen.GenerateTheQuery(this);\r
+ Properties.Settings.Default.defaultUserSettings = query;\r
+ // Save the new default Settings\r
+ Properties.Settings.Default.Save();\r
+ MessageBox.Show("New default settings saved.", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);\r
+ }\r
+ private void treeView_presets_AfterSelect(object sender, TreeViewEventArgs e)\r
+ {\r
+ // Ok, so, we've selected a preset. Now we want to load it.\r
+ string presetName = treeView_presets.SelectedNode.Text;\r
+ string query = presetHandler.getCliForPreset(presetName);\r
+\r
+ if (query != null)\r
+ {\r
+ //Ok, Reset all the H264 widgets before changing the preset\r
+ x264PanelFunctions.reset2Defaults(this);\r
+\r
+ // Send the query from the file to the Query Parser class\r
+ Functions.QueryParser presetQuery = Functions.QueryParser.Parse(query);\r
+\r
+ // Now load the preset\r
+ presetLoader.presetLoader(this, presetQuery, presetName);\r
+\r
+ // The x264 widgets will need updated, so do this now:\r
+ x264PanelFunctions.X264_StandardizeOptString(this);\r
+ x264PanelFunctions.X264_SetCurrentSettingsInPanel(this);\r
+ }\r
+ }\r
+ private void treeView_presets_deleteKey(object sender, KeyEventArgs e)\r
+ {\r
+ if (e.KeyCode == Keys.Delete)\r
+ {\r
+ DialogResult result = MessageBox.Show("Are you sure you wish to delete the selected preset?", "Preset", MessageBoxButtons.YesNo, MessageBoxIcon.Question);\r
+ if (result == DialogResult.Yes)\r
+ {\r
+ if (treeView_presets.SelectedNode != null)\r
+ presetHandler.remove(treeView_presets.SelectedNode.Text);\r
+\r
+ // Remember each nodes expanded status so we can reload it\r
+ List<Boolean> nodeStatus = new List<Boolean>();\r
+ foreach (TreeNode node in treeView_presets.Nodes)\r
+ nodeStatus.Add(node.IsExpanded);\r
+\r
+ // Now reload the preset panel\r
+ loadPresetPanel();\r
+\r
+ // And finally, re-expand any of the nodes if required\r
+ int i = 0;\r
+ foreach (TreeNode node in treeView_presets.Nodes)\r
+ {\r
+ if (nodeStatus[i] == true)\r
+ node.Expand();\r
+\r
+ i++;\r
+ }\r
+ }\r
+ }\r
+ }\r
+ private List<Boolean> saveTreeViewState()\r
+ {\r
+ // Remember each nodes expanded status so we can reload it\r
+ List<Boolean> nodeStatus = new List<Boolean>();\r
+ foreach (TreeNode node in treeView_presets.Nodes)\r
+ {\r
+ nodeStatus.Add(node.IsExpanded);\r
+ foreach (TreeNode subNode in node.Nodes)\r
+ nodeStatus.Add(node.IsExpanded);\r
+ }\r
+ return nodeStatus;\r
+ }\r
+ private void loadTreeViewStates(List<Boolean> nodeStatus)\r
+ {\r
+ // And finally, re-expand any of the nodes if required\r
+ int i = 0;\r
+ foreach (TreeNode node in treeView_presets.Nodes)\r
+ {\r
+ if (nodeStatus[i] == true)\r
+ node.Expand();\r
+\r
+ foreach (TreeNode subNode in node.Nodes)\r
+ {\r
+ if (nodeStatus[i] == true)\r
+ subNode.Expand();\r
+ }\r
\r
- // ToolBar\r
+ i++;\r
+ }\r
+ }\r
+ private void loadNormalPreset()\r
+ {\r
+ treeView_presets.Nodes.Find("Normal", true);\r
+\r
+ foreach (TreeNode treenode in treeView_presets.Nodes)\r
+ {\r
+ foreach (TreeNode node in treenode.Nodes)\r
+ {\r
+ if (node.Text.ToString().Equals("Normal"))\r
+ treeView_presets.SelectedNode = treeView_presets.Nodes[treenode.Index].Nodes[0];\r
+ }\r
+ }\r
+ }\r
+ #endregion\r
+\r
+ #region ToolStrip\r
private void btn_source_Click(object sender, EventArgs e)\r
{\r
if (Properties.Settings.Default.drive_detection == "Checked")\r
frmActivityWindow ActivityWindow = new frmActivityWindow(file, this, queueWindow);\r
ActivityWindow.Show();\r
}\r
+ #endregion\r
+\r
+ #region System Tray Icon\r
+ private void frmMain_Resize(object sender, EventArgs e)\r
+ {\r
+ if (FormWindowState.Minimized == this.WindowState)\r
+ {\r
+ notifyIcon.Visible = true;\r
+ if (lbl_encode.Text != "")\r
+ notifyIcon.BalloonTipText = lbl_encode.Text;\r
+ else\r
+ notifyIcon.BalloonTipText = "Not Encoding";\r
+ notifyIcon.ShowBalloonTip(500);\r
+ this.Hide();\r
+ }\r
+ else if (FormWindowState.Normal == this.WindowState)\r
+ notifyIcon.Visible = false;\r
+ }\r
+ private void notifyIcon_MouseDoubleClick(object sender, MouseEventArgs e)\r
+ {\r
+ this.Visible = true;\r
+ this.Activate();\r
+ this.WindowState = FormWindowState.Normal;\r
+ notifyIcon.Visible = false;\r
+ }\r
+ private void btn_minimize_Click(object sender, EventArgs e)\r
+ {\r
+ this.WindowState = FormWindowState.Minimized;\r
+ }\r
+ private void btn_restore_Click(object sender, EventArgs e)\r
+ {\r
+ this.Visible = true;\r
+ this.Activate();\r
+ this.WindowState = FormWindowState.Normal;\r
+ notifyIcon.Visible = false;\r
+ }\r
+ #endregion\r
+\r
+ #region Tab Control\r
\r
//Source\r
private void btn_dvd_source_Click(object sender, EventArgs e)\r
setExtension(".avi");\r
else if (drop_format.SelectedIndex == 4)\r
setExtension(".ogm");\r
-\r
+ }\r
+ private void setExtension(string newExtension)\r
+ {\r
+ text_destination.Text = text_destination.Text.Replace(".mp4", newExtension);\r
+ text_destination.Text = text_destination.Text.Replace(".m4v", newExtension);\r
+ text_destination.Text = text_destination.Text.Replace(".mkv", newExtension);\r
+ text_destination.Text = text_destination.Text.Replace(".avi", newExtension);\r
+ text_destination.Text = text_destination.Text.Replace(".ogm", newExtension);\r
}\r
\r
//Video Tab\r
{\r
rtf_query.Clear();\r
}\r
+ #endregion\r
\r
- // Presets\r
- private void btn_addPreset_Click(object sender, EventArgs e)\r
- {\r
- // Remember each nodes expanded status so we can reload it\r
- List<Boolean> nodeStatus = saveTreeViewState();\r
- nodeStatus.Add(true);\r
-\r
- // Now add the new preset\r
- Form preset = new frmAddPreset(this, queryGen.GenerateTheQuery(this), presetHandler);\r
- preset.ShowDialog();\r
-\r
- // Now reload the TreeView states\r
- loadTreeViewStates(nodeStatus);\r
- }\r
- private void btn_removePreset_Click(object sender, EventArgs e)\r
- {\r
- DialogResult result = MessageBox.Show("Are you sure you wish to delete the selected preset?", "Preset", MessageBoxButtons.YesNo, MessageBoxIcon.Question);\r
- if (result == DialogResult.Yes)\r
- {\r
- if (treeView_presets.SelectedNode != null)\r
- presetHandler.remove(treeView_presets.SelectedNode.Text);\r
+ // MainWindow Components, Actions and Functions ***********************\r
\r
- // Remember each nodes expanded status so we can reload it\r
- List<Boolean> nodeStatus = saveTreeViewState();\r
+ #region Encoding\r
\r
- // Now reload the preset panel\r
- loadPresetPanel();\r
+ // Declarations\r
+ private delegate void UpdateUIHandler();\r
\r
- // Now reload the TreeView states\r
- loadTreeViewStates(nodeStatus);\r
- }\r
- treeView_presets.Select();\r
- }\r
- private void btn_setDefault_Click(object sender, EventArgs e)\r
- {\r
- String query = queryGen.GenerateTheQuery(this);\r
- Properties.Settings.Default.defaultUserSettings = query;\r
- // Save the new default Settings\r
- Properties.Settings.Default.Save();\r
- MessageBox.Show("New default settings saved.", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);\r
- }\r
- private void treeView_presets_AfterSelect(object sender, TreeViewEventArgs e)\r
+ // Encoding Functions\r
+ private void procMonitor(object state)\r
{\r
- // Ok, so, we've selected a preset. Now we want to load it.\r
- string presetName = treeView_presets.SelectedNode.Text;\r
- string query = presetHandler.getCliForPreset(presetName);\r
-\r
- if (query != null)\r
+ // Make sure we are not already encoding and if we are then display an error.\r
+ if (hbProc != null)\r
+ hbProc.CloseMainWindow();\r
+ else\r
{\r
- //Ok, Reset all the H264 widgets before changing the preset\r
- x264PanelFunctions.reset2Defaults(this);\r
-\r
- // Send the query from the file to the Query Parser class\r
- Functions.QueryParser presetQuery = Functions.QueryParser.Parse(query);\r
-\r
- // Now load the preset\r
- presetLoader.presetLoader(this, presetQuery, presetName);\r
+ hbProc = cliObj.runCli(this, (string)state);\r
+ hbProc.WaitForExit();\r
+ setEncodeLabelFinished();\r
+ hbProc = null;\r
\r
- // The x264 widgets will need updated, so do this now:\r
- x264PanelFunctions.X264_StandardizeOptString(this);\r
- x264PanelFunctions.X264_SetCurrentSettingsInPanel(this);\r
- }\r
- }\r
- private void treeView_presets_deleteKey(object sender, KeyEventArgs e)\r
- {\r
- if (e.KeyCode == Keys.Delete)\r
- {\r
- DialogResult result = MessageBox.Show("Are you sure you wish to delete the selected preset?", "Preset", MessageBoxButtons.YesNo, MessageBoxIcon.Question);\r
- if (result == DialogResult.Yes)\r
+ // If the window is minimized, display the notification in a popup.\r
+ if (FormWindowState.Minimized == this.WindowState)\r
{\r
- if (treeView_presets.SelectedNode != null)\r
- presetHandler.remove(treeView_presets.SelectedNode.Text);\r
-\r
- // Remember each nodes expanded status so we can reload it\r
- List<Boolean> nodeStatus = new List<Boolean>();\r
- foreach (TreeNode node in treeView_presets.Nodes)\r
- nodeStatus.Add(node.IsExpanded);\r
-\r
- // Now reload the preset panel\r
- loadPresetPanel();\r
-\r
- // And finally, re-expand any of the nodes if required\r
- int i = 0;\r
- foreach (TreeNode node in treeView_presets.Nodes)\r
- {\r
- if (nodeStatus[i] == true)\r
- node.Expand();\r
-\r
- i++;\r
- }\r
+ notifyIcon.BalloonTipText = lbl_encode.Text;\r
+ notifyIcon.ShowBalloonTip(500);\r
}\r
- }\r
- }\r
\r
- #endregion\r
-\r
- #region Preset Expand / Collaspe\r
- private List<Boolean> saveTreeViewState()\r
- {\r
- // Remember each nodes expanded status so we can reload it\r
- List<Boolean> nodeStatus = new List<Boolean>();\r
- foreach (TreeNode node in treeView_presets.Nodes)\r
- {\r
- nodeStatus.Add(node.IsExpanded);\r
- foreach (TreeNode subNode in node.Nodes)\r
- nodeStatus.Add(node.IsExpanded);\r
+ // After the encode is done, we may want to shutdown, suspend etc.\r
+ cliObj.addCLIQueryToLog((string)state);\r
+ cliObj.copyLog((string)state, text_destination.Text); // Make a copy of the log in the users desired location if necessary\r
+ cliObj.afterEncodeAction();\r
}\r
- return nodeStatus;\r
}\r
-\r
- private void loadTreeViewStates(List<Boolean> nodeStatus)\r
+ private void setEncodeLabelFinished()\r
{\r
- // And finally, re-expand any of the nodes if required\r
- int i = 0;\r
- foreach (TreeNode node in treeView_presets.Nodes)\r
+ if (this.InvokeRequired)\r
{\r
- if (nodeStatus[i] == true)\r
- node.Expand();\r
-\r
- foreach (TreeNode subNode in node.Nodes)\r
- {\r
- if (nodeStatus[i] == true)\r
- subNode.Expand();\r
- }\r
-\r
- i++;\r
+ this.BeginInvoke(new UpdateUIHandler(setEncodeLabelFinished));\r
+ return;\r
}\r
+ lbl_encode.Text = "Encoding Finished";\r
+ btn_start.Text = "Start";\r
+ btn_start.ToolTipText = "Start the encoding process";\r
+ btn_start.Image = Properties.Resources.Play;\r
}\r
- #endregion\r
\r
- #region Functions\r
- private void loadNormalPreset()\r
- {\r
- treeView_presets.Nodes.Find("Normal", true);\r
-\r
- foreach (TreeNode treenode in treeView_presets.Nodes)\r
- {\r
- foreach (TreeNode node in treenode.Nodes)\r
- {\r
- if (node.Text.ToString().Equals("Normal"))\r
- treeView_presets.SelectedNode = treeView_presets.Nodes[treenode.Index].Nodes[0];\r
- }\r
- }\r
- }\r
- /// <summary>\r
- /// Take in a File destination and change it's file extension to a new Extension\r
- /// </summary>\r
- /// <param name="destination"></param>\r
- /// <param name="newExtension"></param>\r
- /// <returns>String of the new file path and extension</returns>\r
- public void setExtension(string newExtension)\r
- {\r
- text_destination.Text = text_destination.Text.Replace(".mp4", newExtension);\r
- text_destination.Text = text_destination.Text.Replace(".m4v", newExtension);\r
- text_destination.Text = text_destination.Text.Replace(".mkv", newExtension);\r
- text_destination.Text = text_destination.Text.Replace(".avi", newExtension);\r
- text_destination.Text = text_destination.Text.Replace(".ogm", newExtension);\r
- }\r
#endregion\r
\r
- #region Drive Detection\r
+ #region DVD Drive Detection\r
// Source Button Drive Detection\r
private delegate void ProgressUpdateHandler();\r
private void getDriveInfoThread()\r
}\r
#endregion\r
\r
- #region Audio Panel Stuff\r
+ #region Audio Panel Code Helpers\r
public void setAudioByContainer(String path)\r
{\r
string oldval = "";\r
}\r
#endregion\r
\r
- #region Encoding\r
-\r
- // Declarations\r
- private delegate void UpdateUIHandler();\r
-\r
- // Encoding Functions\r
- private void procMonitor(object state)\r
- {\r
- // Make sure we are not already encoding and if we are then display an error.\r
- if (hbProc != null)\r
- hbProc.CloseMainWindow();\r
- else\r
- {\r
- hbProc = cliObj.runCli(this, (string)state);\r
- hbProc.WaitForExit();\r
- setEncodeLabelFinished();\r
- hbProc = null;\r
-\r
- // If the window is minimized, display the notification in a popup.\r
- if (FormWindowState.Minimized == this.WindowState)\r
- {\r
- notifyIcon.BalloonTipText = lbl_encode.Text;\r
- notifyIcon.ShowBalloonTip(500);\r
- }\r
-\r
- // After the encode is done, we may want to shutdown, suspend etc.\r
- cliObj.addCLIQueryToLog((string)state);\r
- cliObj.copyLog((string)state, text_destination.Text); // Make a copy of the log in the users desired location if necessary\r
- cliObj.afterEncodeAction();\r
- }\r
- }\r
- private void setEncodeLabelFinished()\r
- {\r
- if (this.InvokeRequired)\r
- {\r
- this.BeginInvoke(new UpdateUIHandler(setEncodeLabelFinished));\r
- return;\r
- }\r
- lbl_encode.Text = "Encoding Finished";\r
- btn_start.Text = "Start";\r
- btn_start.ToolTipText = "Start the encoding process";\r
- btn_start.Image = Properties.Resources.Play;\r
- }\r
-\r
- #endregion\r
-\r
#region Public Methods\r
\r
/// <summary>\r
\r
#endregion\r
\r
- #region Taskbar Tray Icon\r
- private void frmMain_Resize(object sender, EventArgs e)\r
- {\r
- if (FormWindowState.Minimized == this.WindowState)\r
- {\r
- notifyIcon.Visible = true;\r
- if (lbl_encode.Text != "")\r
- notifyIcon.BalloonTipText = lbl_encode.Text;\r
- else\r
- notifyIcon.BalloonTipText = "Not Encoding";\r
- notifyIcon.ShowBalloonTip(500);\r
- this.Hide();\r
- }\r
- else if (FormWindowState.Normal == this.WindowState)\r
- notifyIcon.Visible = false;\r
- }\r
- private void notifyIcon_MouseDoubleClick(object sender, MouseEventArgs e)\r
- {\r
- this.Visible = true;\r
- this.Activate();\r
- this.WindowState = FormWindowState.Normal;\r
- notifyIcon.Visible = false;\r
- }\r
- private void btn_minimize_Click(object sender, EventArgs e)\r
- {\r
- this.WindowState = FormWindowState.Minimized;\r
- }\r
- private void btn_restore_Click(object sender, EventArgs e)\r
- {\r
- this.Visible = true;\r
- this.Activate();\r
- this.WindowState = FormWindowState.Normal;\r
- notifyIcon.Visible = false;\r
- }\r
- #endregion\r
-\r
// This is the END of the road ------------------------------------------------------------------------------\r
}\r
}
\ No newline at end of file