System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmActivityWindow));\r
this.rtf_actLog = new System.Windows.Forms.RichTextBox();\r
this.ToolTip = new System.Windows.Forms.ToolTip(this.components);\r
+ this.toolStrip1 = new System.Windows.Forms.ToolStrip();\r
+ this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton();\r
+ this.btn_encode_log = new System.Windows.Forms.ToolStripMenuItem();\r
+ this.btn_scan_log = new System.Windows.Forms.ToolStripMenuItem();\r
this.panel1 = new System.Windows.Forms.Panel();\r
- this.panel1.SuspendLayout();\r
+ this.statusStrip1 = new System.Windows.Forms.StatusStrip();\r
+ this.txt_log = new System.Windows.Forms.ToolStripStatusLabel();\r
+ this.toolStrip1.SuspendLayout();\r
+ this.statusStrip1.SuspendLayout();\r
this.SuspendLayout();\r
// \r
// rtf_actLog\r
this.rtf_actLog.Cursor = System.Windows.Forms.Cursors.IBeam;\r
this.rtf_actLog.DetectUrls = false;\r
this.rtf_actLog.Dock = System.Windows.Forms.DockStyle.Fill;\r
- this.rtf_actLog.Location = new System.Drawing.Point(0, 0);\r
+ this.rtf_actLog.Location = new System.Drawing.Point(0, 25);\r
this.rtf_actLog.Name = "rtf_actLog";\r
this.rtf_actLog.ReadOnly = true;\r
- this.rtf_actLog.Size = new System.Drawing.Size(441, 512);\r
+ this.rtf_actLog.Size = new System.Drawing.Size(471, 530);\r
this.rtf_actLog.TabIndex = 29;\r
this.rtf_actLog.Text = "";\r
// \r
// \r
this.ToolTip.Active = false;\r
// \r
+ // toolStrip1\r
+ // \r
+ this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;\r
+ this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
+ this.toolStripDropDownButton1});\r
+ this.toolStrip1.Location = new System.Drawing.Point(0, 0);\r
+ this.toolStrip1.Name = "toolStrip1";\r
+ this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;\r
+ this.toolStrip1.Size = new System.Drawing.Size(471, 25);\r
+ this.toolStrip1.TabIndex = 96;\r
+ this.toolStrip1.Text = "toolStrip1";\r
+ // \r
+ // toolStripDropDownButton1\r
+ // \r
+ this.toolStripDropDownButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;\r
+ this.toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
+ this.btn_encode_log,\r
+ this.btn_scan_log});\r
+ this.toolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton1.Image")));\r
+ this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+ this.toolStripDropDownButton1.Name = "toolStripDropDownButton1";\r
+ this.toolStripDropDownButton1.Size = new System.Drawing.Size(69, 22);\r
+ this.toolStripDropDownButton1.Text = "Select Log";\r
+ // \r
+ // btn_encode_log\r
+ // \r
+ this.btn_encode_log.Image = global::Handbrake.Properties.Resources.ActivityWindow_small;\r
+ this.btn_encode_log.Name = "btn_encode_log";\r
+ this.btn_encode_log.Size = new System.Drawing.Size(152, 22);\r
+ this.btn_encode_log.Text = "Encode Log";\r
+ this.btn_encode_log.Click += new System.EventHandler(this.btn_encode_log_Click);\r
+ // \r
+ // btn_scan_log\r
+ // \r
+ this.btn_scan_log.Image = global::Handbrake.Properties.Resources.Movies_Small;\r
+ this.btn_scan_log.Name = "btn_scan_log";\r
+ this.btn_scan_log.Size = new System.Drawing.Size(152, 22);\r
+ this.btn_scan_log.Text = "Scan Log";\r
+ this.btn_scan_log.Click += new System.EventHandler(this.btn_scan_log_Click);\r
+ // \r
// panel1\r
// \r
- this.panel1.Controls.Add(this.rtf_actLog);\r
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;\r
- this.panel1.Location = new System.Drawing.Point(0, 0);\r
+ this.panel1.Location = new System.Drawing.Point(0, 25);\r
this.panel1.Name = "panel1";\r
- this.panel1.Size = new System.Drawing.Size(441, 512);\r
- this.panel1.TabIndex = 95;\r
+ this.panel1.Size = new System.Drawing.Size(471, 552);\r
+ this.panel1.TabIndex = 97;\r
+ // \r
+ // statusStrip1\r
+ // \r
+ this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
+ this.txt_log});\r
+ this.statusStrip1.Location = new System.Drawing.Point(0, 555);\r
+ this.statusStrip1.Name = "statusStrip1";\r
+ this.statusStrip1.Size = new System.Drawing.Size(471, 22);\r
+ this.statusStrip1.TabIndex = 98;\r
+ this.statusStrip1.Text = "statusStrip1";\r
+ // \r
+ // txt_log\r
+ // \r
+ this.txt_log.BackColor = System.Drawing.Color.Transparent;\r
+ this.txt_log.Name = "txt_log";\r
+ this.txt_log.Size = new System.Drawing.Size(74, 17);\r
+ this.txt_log.Text = "{selected log}";\r
// \r
// frmActivityWindow\r
// \r
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F);\r
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
this.BackColor = System.Drawing.SystemColors.ControlLight;\r
- this.ClientSize = new System.Drawing.Size(441, 512);\r
+ this.ClientSize = new System.Drawing.Size(471, 577);\r
+ this.Controls.Add(this.rtf_actLog);\r
+ this.Controls.Add(this.statusStrip1);\r
this.Controls.Add(this.panel1);\r
+ this.Controls.Add(this.toolStrip1);\r
this.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));\r
this.MaximizeBox = false;\r
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show;\r
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;\r
this.Text = "Activity Window";\r
- this.panel1.ResumeLayout(false);\r
+ this.toolStrip1.ResumeLayout(false);\r
+ this.toolStrip1.PerformLayout();\r
+ this.statusStrip1.ResumeLayout(false);\r
+ this.statusStrip1.PerformLayout();\r
this.ResumeLayout(false);\r
+ this.PerformLayout();\r
\r
}\r
\r
\r
internal System.Windows.Forms.RichTextBox rtf_actLog;\r
internal System.Windows.Forms.ToolTip ToolTip;\r
+ private System.Windows.Forms.ToolStrip toolStrip1;\r
private System.Windows.Forms.Panel panel1;\r
+ private System.Windows.Forms.StatusStrip statusStrip1;\r
+ private System.Windows.Forms.ToolStripStatusLabel txt_log;\r
+ private System.Windows.Forms.ToolStripDropDownButton toolStripDropDownButton1;\r
+ private System.Windows.Forms.ToolStripMenuItem btn_encode_log;\r
+ private System.Windows.Forms.ToolStripMenuItem btn_scan_log;\r
}\r
}
\ No newline at end of file
{\r
public partial class frmActivityWindow : Form\r
{\r
+ delegate void SetTextCallback(string text);\r
String read_file;\r
Thread monitor;\r
frmMain mainWindow;\r
/// <summary>\r
/// This window should be used to display the RAW output of the handbrake CLI which is produced during an encode.\r
/// </summary>\r
- /// \r
public frmActivityWindow(string file, frmMain fm, frmQueue fq)\r
{\r
InitializeComponent();\r
read_file = file;\r
position = 0;\r
\r
+ // Print the Log header in the Rich text box.\r
+ displayLogHeader();\r
+\r
+ // Start a new thread which will montior and keep the log window up to date if required/\r
+ startLogThread(read_file);\r
+\r
+ if (file == "dvdinfo.dat")\r
+ txt_log.Text = "Selected Log: Scan Log";\r
+ else if (file == "hb_encode_log.dat")\r
+ txt_log.Text = "Selected Log: Encode Log";\r
+\r
+\r
+ // When the window closes, we want to abort the monitor thread.\r
+ this.Disposed += new EventHandler(forceQuit);\r
+ }\r
+\r
+ /// <summary>\r
+ /// Displays the Log header\r
+ /// </summary>\r
+ private void displayLogHeader()\r
+ {\r
// System Information\r
Functions.SystemInfo info = new Functions.SystemInfo();\r
\r
// Add a header to the log file indicating that it's from the Windows GUI and display the windows version\r
- rtf_actLog.AppendText("### Windows GUI \n");\r
+ rtf_actLog.AppendText(String.Format("### Windows GUI {1} {0} \n", Properties.Settings.Default.hb_build, Properties.Settings.Default.hb_version));\r
rtf_actLog.AppendText(String.Format("### Running: {0} \n###\n", Environment.OSVersion.ToString()));\r
rtf_actLog.AppendText(String.Format("### CPU: {0} \n", info.getCpuCount()));\r
rtf_actLog.AppendText(String.Format("### Ram: {0} MB \n", info.TotalPhysicalMemory()));\r
rtf_actLog.AppendText(String.Format("### Install Dir: {0} \n", Application.StartupPath));\r
rtf_actLog.AppendText(String.Format("### Data Dir: {0} \n", Application.UserAppDataPath));\r
rtf_actLog.AppendText("#########################################\n\n");\r
+ }\r
\r
- string logFile = Path.Combine(Path.GetTempPath(), read_file);\r
+ /// <summary>\r
+ /// Starts a new thread which runs the autoUpdate function.\r
+ /// </summary>\r
+ /// <param name="file"> File which will be used to populate the Rich text box.</param>\r
+ private void startLogThread(string file)\r
+ {\r
+ string logFile = Path.Combine(Path.GetTempPath(), file);\r
if (File.Exists(logFile))\r
{\r
// Start a new thread to run the autoUpdate process\r
}\r
else\r
rtf_actLog.AppendText("\n\n\nERROR: The log file could not be found. \nMaybe you cleared your system's tempory folder or maybe you just havn't run an encode yet. \nTried to find the log file in: " + logFile);\r
- \r
- // When the window closes, we want to abort the monitor thread.\r
- this.Disposed += new EventHandler(forceQuit);\r
}\r
\r
- private void forceQuit(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Change the log file to be displayed to hb_encode_log.dat\r
+ /// </summary>\r
+ /// <param name="sender"></param>\r
+ /// <param name="e"></param>\r
+ private void btn_scan_log_Click(object sender, EventArgs e)\r
{\r
if (monitor != null)\r
monitor.Abort();\r
\r
- this.Close();\r
+ rtf_actLog.Clear();\r
+ read_file = "dvdinfo.dat";\r
+ displayLogHeader();\r
+ startLogThread(read_file);\r
+ txt_log.Text = "Selected Log: Scan Log";\r
+ }\r
+\r
+ /// <summary>\r
+ /// Change the log file to be displayed to dvdinfo.dat\r
+ /// </summary>\r
+ /// <param name="sender"></param>\r
+ /// <param name="e"></param>\r
+ private void btn_encode_log_Click(object sender, EventArgs e)\r
+ {\r
+ if (monitor != null)\r
+ monitor.Abort();\r
+\r
+ rtf_actLog.Clear();\r
+ read_file = "hb_encode_log.dat";\r
+ position = 0;\r
+ displayLogHeader();\r
+ startLogThread(read_file);\r
+ txt_log.Text = "Selected Log: Encode Log";\r
}\r
\r
- // Update the Activity window every 5 seconds with the latest log data.\r
+ /// <summary>\r
+ /// Updates the log window with any new data which is in the log file.\r
+ /// This is done every 5 seconds.\r
+ /// </summary>\r
+ /// <param name="state"></param>\r
private void autoUpdate(object state)\r
{\r
Boolean lastUpdate = false;\r
}\r
}\r
\r
+ /// <summary>\r
+ /// Finds any new text in the log file and calls a funciton to display this new text.\r
+ /// </summary>\r
private void updateTextFromThread()\r
{\r
string text = "";\r
{\r
text = data[position].ToString();\r
if (data[position].ToString().Contains("has exited"))\r
- text = "\n ############ End of Encode ############## \n";\r
+ text = "\n ############ End of Log ############## \n";\r
position++;\r
\r
SetText(text);\r
}\r
}\r
- delegate void SetTextCallback(string text);\r
+\r
+ /// <summary>\r
+ /// Updates the rich text box with anything in the string text.\r
+ /// </summary>\r
+ /// <param name="text"></param>\r
private void SetText(string text)\r
{\r
// InvokeRequired required compares the thread ID of the\r
}\r
}\r
\r
+ /// <summary>\r
+ /// Read the log file, and store the data in a List.\r
+ /// </summary>\r
+ /// <returns></returns>\r
private List<string> readFile()\r
{\r
// Ok, the task here is to, Get an arraylist of log data.\r
return null;\r
}\r
\r
+ /// <summary>\r
+ /// Kills the montior thead when the window is disposed of.\r
+ /// </summary>\r
+ /// <param name="sender"></param>\r
+ /// <param name="e"></param>\r
+ private void forceQuit(object sender, EventArgs e)\r
+ {\r
+ if (monitor != null)\r
+ monitor.Abort();\r
+\r
+ this.Close();\r
+ }\r
+\r
+\r
+\r
+\r
}\r
}
\ No newline at end of file
<metadata name="ToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
<value>17, 17</value>\r
</metadata>\r
+ <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
+ <value>105, 17</value>\r
+ </metadata>\r
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />\r
+ <data name="toolStripDropDownButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <value>\r
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8\r
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgxJREFUOE+lkvtL\r
+ U2EYx+0PEbtpFwnBKPGKiJImGP0gYhIYs1E5GF5gIxkpA00JRSmMEF0ohMh+GaRWYlqabMVcNdS2QpaI\r
+ VqiDIYhk397vA6fXhCjyhYdzeM/5fp7vczkAdeL2cwho7v/wWzT1zcN+Pwhr51uY2/y41PQaF+wzKKiZ\r
+ QvaN58g0jyLd5KEUcQbg+84P/Cm2tncQjW3j68YWIqubCC3FcOJc478BAuGoZM6zvoRnakXEruEIjhc4\r
+ /g5gZop9c+voGAyLbQIfeBZxLL9BA1jzXvuGbWamuKh+GmmVbswE19A59FEBbmoAG7YbsLtm2mZmiml9\r
+ cvabNDwpz6YB7LYBoMXCumkJr7LOmnnHzBQ/9X2Bo2cOibm1GsBREbAQiYmw/8lnuCeWkVzcgnZlnw1j\r
+ 3HV/wuNXK6i/9x5Hc6wawDlTXHbLJ+LZUBQPRyKwdQdxutwl1h+NLXHh5Ht1ewBHsiwawCW57HyDAfWR\r
+ dvl0uhZQ1eqX8aVc7EKLqrum651ATLf9OJx5XQM4KmY0xPzZ0hFAiQJnXB0WwME0E3IsL5B17ZlADqWb\r
+ NYDrOepdlcysmTWWOrxqbceRWtaLk0VO1XW72D5Vckd2gMBfq8zdpmUG62NJvKM4+XyziDk24xmfWoGE\r
+ s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC\r
+</value>\r
+ </data>\r
+ <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
+ <value>204, 17</value>\r
+ </metadata>\r
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
<value>\r
AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA\r
this.ToolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
this.mnu_encode = new System.Windows.Forms.ToolStripMenuItem();\r
this.mnu_encodeLog = new System.Windows.Forms.ToolStripMenuItem();\r
- this.mnu_viewDVDdata = new System.Windows.Forms.ToolStripMenuItem();\r
this.ToolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();\r
this.mnu_options = new System.Windows.Forms.ToolStripMenuItem();\r
this.PresetsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
this.ToolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
this.mnu_encode,\r
this.mnu_encodeLog,\r
- this.mnu_viewDVDdata,\r
this.ToolStripSeparator5,\r
this.mnu_options});\r
this.ToolsToolStripMenuItem.Name = "ToolsToolStripMenuItem";\r
this.mnu_encode.Image = global::Handbrake.Properties.Resources.Queue_Small;\r
this.mnu_encode.Name = "mnu_encode";\r
this.mnu_encode.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Q)));\r
- this.mnu_encode.Size = new System.Drawing.Size(251, 22);\r
+ this.mnu_encode.Size = new System.Drawing.Size(203, 22);\r
this.mnu_encode.Text = "Show Queue";\r
this.mnu_encode.Click += new System.EventHandler(this.mnu_encode_Click);\r
// \r
// \r
this.mnu_encodeLog.Image = global::Handbrake.Properties.Resources.ActivityWindow_small;\r
this.mnu_encodeLog.Name = "mnu_encodeLog";\r
- this.mnu_encodeLog.Size = new System.Drawing.Size(251, 22);\r
- this.mnu_encodeLog.Text = "Activity Window (Encode log)";\r
+ this.mnu_encodeLog.Size = new System.Drawing.Size(203, 22);\r
+ this.mnu_encodeLog.Text = "Activity Window";\r
this.mnu_encodeLog.Click += new System.EventHandler(this.mnu_encodeLog_Click);\r
// \r
- // mnu_viewDVDdata\r
- // \r
- this.mnu_viewDVDdata.Image = global::Handbrake.Properties.Resources.Movies_Small;\r
- this.mnu_viewDVDdata.Name = "mnu_viewDVDdata";\r
- this.mnu_viewDVDdata.Size = new System.Drawing.Size(251, 22);\r
- this.mnu_viewDVDdata.Text = "Activity Window (Scan log)";\r
- this.mnu_viewDVDdata.Click += new System.EventHandler(this.mnu_viewDVDdata_Click);\r
- // \r
// ToolStripSeparator5\r
// \r
this.ToolStripSeparator5.Name = "ToolStripSeparator5";\r
- this.ToolStripSeparator5.Size = new System.Drawing.Size(248, 6);\r
+ this.ToolStripSeparator5.Size = new System.Drawing.Size(200, 6);\r
// \r
// mnu_options\r
// \r
this.mnu_options.Image = global::Handbrake.Properties.Resources.Pref_Small;\r
this.mnu_options.Name = "mnu_options";\r
- this.mnu_options.Size = new System.Drawing.Size(251, 22);\r
+ this.mnu_options.Size = new System.Drawing.Size(203, 22);\r
this.mnu_options.Text = "Options";\r
this.mnu_options.Click += new System.EventHandler(this.mnu_options_Click);\r
// \r
// \r
// text_bottom\r
// \r
+ this.text_bottom.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
this.text_bottom.Location = new System.Drawing.Point(96, 130);\r
this.text_bottom.Maximum = new decimal(new int[] {\r
1080,\r
// \r
// text_top\r
// \r
+ this.text_top.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
this.text_top.Location = new System.Drawing.Point(96, 84);\r
this.text_top.Maximum = new decimal(new int[] {\r
1080,\r
// \r
// text_left\r
// \r
+ this.text_left.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
this.text_left.Location = new System.Drawing.Point(45, 106);\r
this.text_left.Maximum = new decimal(new int[] {\r
1920,\r
// \r
// text_right\r
// \r
+ this.text_right.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
this.text_right.Location = new System.Drawing.Point(147, 106);\r
this.text_right.Maximum = new decimal(new int[] {\r
1920,\r
// \r
this.StatusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
this.lbl_encode});\r
- this.StatusStrip.Location = new System.Drawing.Point(0, 619);\r
+ this.StatusStrip.Location = new System.Drawing.Point(0, 617);\r
this.StatusStrip.Name = "StatusStrip";\r
this.StatusStrip.Size = new System.Drawing.Size(938, 22);\r
this.StatusStrip.TabIndex = 7;\r
// \r
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
- this.ClientSize = new System.Drawing.Size(938, 641);\r
+ this.ClientSize = new System.Drawing.Size(938, 639);\r
this.Controls.Add(this.GroupBox1);\r
this.Controls.Add(this.groupBox_dest);\r
this.Controls.Add(this.groupBox_output);\r
internal System.Windows.Forms.ToolStripMenuItem mnu_exit;\r
internal System.Windows.Forms.ToolStripMenuItem ToolsToolStripMenuItem;\r
internal System.Windows.Forms.ToolStripMenuItem mnu_encode;\r
- internal System.Windows.Forms.ToolStripMenuItem mnu_viewDVDdata;\r
internal System.Windows.Forms.ToolStripSeparator ToolStripSeparator5;\r
internal System.Windows.Forms.ToolStripMenuItem mnu_options;\r
internal System.Windows.Forms.ToolStripMenuItem PresetsToolStripMenuItem;\r
frmActivityWindow dvdInfoWindow = new frmActivityWindow("hb_encode_log.dat", this, queueWindow);\r
dvdInfoWindow.Show();\r
}\r
- private void mnu_viewDVDdata_Click(object sender, EventArgs e)\r
- {\r
- frmActivityWindow dvdInfoWindow = new frmActivityWindow("dvdinfo.dat", this, queueWindow);\r
- dvdInfoWindow.Show();\r
- }\r
private void mnu_options_Click(object sender, EventArgs e)\r
{\r
Form Options = new frmOptions(this);\r