Author: gedmurphy Date: Tue Apr 22 10:05:24 2008 New Revision: 33099
URL: http://svn.reactos.org/svn/reactos?rev=33099&view=rev Log: Hack around the standard method in which .net loads a form forcing it to load an icon in the notification area instead. From here we can manually control the creation and disposal of the form by hooking the Closed event.
Modified: trunk/tools/Message Translator/GUI/MainForm.Designer.cs trunk/tools/Message Translator/GUI/MainForm.cs trunk/tools/Message Translator/GUI/MainForm.resx trunk/tools/Message Translator/GUI/Program.cs
Modified: trunk/tools/Message Translator/GUI/MainForm.Designer.cs URL: http://svn.reactos.org/svn/reactos/trunk/tools/Message%20Translator/GUI/Main... ============================================================================== --- trunk/tools/Message Translator/GUI/MainForm.Designer.cs [iso-8859-1] (original) +++ trunk/tools/Message Translator/GUI/MainForm.Designer.cs [iso-8859-1] Tue Apr 22 10:05:24 2008 @@ -59,10 +59,6 @@ this.optionsRunStartChkBox = new System.Windows.Forms.CheckBox(); this.optionsMinimizeChkBox = new System.Windows.Forms.CheckBox(); this.mainErrLabel = new System.Windows.Forms.Label(); - this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components); - this.contextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.restoreToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.closeApplicationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.toolTip = new System.Windows.Forms.ToolTip(this.components); @@ -71,7 +67,6 @@ this.wndmsgTab.SuspendLayout(); this.bugurlTab.SuspendLayout(); this.optionsTab.SuspendLayout(); - this.contextMenu.SuspendLayout(); this.SuspendLayout(); // // mainLookupButton @@ -362,34 +357,6 @@ this.mainErrLabel.Size = new System.Drawing.Size(53, 13); this.mainErrLabel.TabIndex = 0; this.mainErrLabel.Text = "Message:"; - // - // notifyIcon - // - this.notifyIcon.ContextMenuStrip = this.contextMenu; - this.notifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon"))); - this.notifyIcon.Text = "Message Translator"; - this.notifyIcon.Visible = true; - this.notifyIcon.DoubleClick += new System.EventHandler(this.notifyIcon_DoubleClick); - // - // contextMenu - // - this.contextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.restoreToolStripMenuItem, - this.closeApplicationToolStripMenuItem}); - this.contextMenu.Name = "contextMenu"; - this.contextMenu.Size = new System.Drawing.Size(168, 48); - // - // restoreToolStripMenuItem - // - this.restoreToolStripMenuItem.Name = "restoreToolStripMenuItem"; - this.restoreToolStripMenuItem.Size = new System.Drawing.Size(167, 22); - this.restoreToolStripMenuItem.Text = "Restore"; - // - // closeApplicationToolStripMenuItem - // - this.closeApplicationToolStripMenuItem.Name = "closeApplicationToolStripMenuItem"; - this.closeApplicationToolStripMenuItem.Size = new System.Drawing.Size(167, 22); - this.closeApplicationToolStripMenuItem.Text = "Close Application"; // // tabPage1 // @@ -435,7 +402,6 @@ this.bugurlTab.PerformLayout(); this.optionsTab.ResumeLayout(false); this.optionsTab.PerformLayout(); - this.contextMenu.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout();
@@ -456,10 +422,6 @@ private System.Windows.Forms.Label wndmsgCodeLabel; private System.Windows.Forms.Label wndmsgNumberLabel; private System.Windows.Forms.LinkLabel bugLinkLabel; - private System.Windows.Forms.NotifyIcon notifyIcon; - private System.Windows.Forms.ContextMenuStrip contextMenu; - private System.Windows.Forms.ToolStripMenuItem restoreToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem closeApplicationToolStripMenuItem; private System.Windows.Forms.TabControl mainTabControl; private System.Windows.Forms.TabPage errorMsgTab; private System.Windows.Forms.TabPage wndmsgTab;
Modified: trunk/tools/Message Translator/GUI/MainForm.cs URL: http://svn.reactos.org/svn/reactos/trunk/tools/Message%20Translator/GUI/Main... ============================================================================== --- trunk/tools/Message Translator/GUI/MainForm.cs [iso-8859-1] (original) +++ trunk/tools/Message Translator/GUI/MainForm.cs [iso-8859-1] Tue Apr 22 10:05:24 2008 @@ -149,12 +149,6 @@ MessageOutput mo = new MessageOutput(); mo.MsgOut(null, ex.Message); } - } - - private void SendToTray() - { - Hide(); - notifyIcon.Visible = true; }
private string GetMessageType() @@ -277,14 +271,7 @@ // setup options page optionsMinimizeChkBox.Checked = HideOnMin; optionsRunStartChkBox.Checked = RunOnStart; - notifyIcon.Visible = false; - /* - if (HideOnMin) - { - // FIXME: hide correctly - this.WindowState = FormWindowState.Minimized; - SendToTray(); - }*/ +
//toolTip.SetToolTip(mainErrTxtBox, Properties.Resources.tooltipErrMsg); //toolTip.SetToolTip(mainWndMsgRadio, Properties.Resources.tooltipWndMsg); @@ -303,15 +290,8 @@ { if (FormWindowState.Minimized == WindowState && HideOnMin) { - SendToTray(); - } - } - - private void notifyIcon_DoubleClick(object sender, EventArgs e) - { - Show(); - WindowState = FormWindowState.Normal; - notifyIcon.Visible = false; + this.Close(); + } }
private void mainLookupButton_Click(object sender, EventArgs e) @@ -398,4 +378,4 @@ MessageBox.Show(message); } } -} +}
Modified: trunk/tools/Message Translator/GUI/MainForm.resx URL: http://svn.reactos.org/svn/reactos/trunk/tools/Message%20Translator/GUI/Main... ============================================================================== --- trunk/tools/Message Translator/GUI/MainForm.resx [iso-8859-1] (original) +++ trunk/tools/Message Translator/GUI/MainForm.resx [iso-8859-1] Tue Apr 22 10:05:24 2008 @@ -117,14 +117,11 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> - <metadata name="notifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>17, 17</value> - </metadata> - <metadata name="contextMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>123, 17</value> + <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>36, 16</value> </metadata> <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="notifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAABAAQAEBAAAAEAIABoBAAARgAAABgYAAABACAAiAkAAK4EAAAgIAAAAQAgAKgQAAA2DgAAMDAAAAEA IACoJQAA3h4AACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -421,304 +418,4 @@ /////wAA////////AAD///////8AAA== </value> </data> - <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>247, 17</value> - </metadata> - <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - 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 - PwCPgD8AwAA/AMAAfwDgAP8A8AH/APgD/wD///8A////AP///wAoAAAAIAAAAEAAAAABACAAAAAAAIAQ - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAFAAAABgAAAAcAAAAHAAAACAAAAAgAAAAIAAAACAAA - AAcAAAAHAAAABgAAAAQAAAADAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAEAAAADAAAABQAAAAcAAAAIAAAACQAAAAsAAAAMAAAADQAAAA0AAAAOAAAADgAA - AA4AAAAOAAAADQAAAA0AAAAMAAAACwAAAAkAAAAIAAAABwAAAAUAAAACAAAAAQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAEAAAADAAAABQAAAAcAAAAJAAAACwAAAAwAAAAOAAAAEAAAABEAAAASAAAAEwAA - ABQAAAAUAAAAFAAAABQAAAATAAAAEgAAABEAAAAQAAAADgAAAAwAAAALAAAACQAAAAcAAAAFAAAAAgAA - AAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAHAAAACgAAAAwAAAAOAAAAEAAAABIAAAAUAAAAFgAA - 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 - h/8vomb3B3k98wR2O4IAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHE5EgJzOnMEej66BHg95wR4 - POkDej3gBHo9uANzOmYAcTkSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////4AH//wAAP/wA - AA/8AAAP3AAAD94AAB/fgAA/z/gAH8/8AA/v+AAHz/AAA8fgAAHngAAA5/8Af+P/AH/j/wB/8f8Af/D+ - AH/4fAD/+AAA//wAAf/8AAH//gAD//+AD///wB//////////////////KAAAADAAAABgAAAAAQAgAAAA - AACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAA - AAMAAAADAAAAAgAAAAIAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAEAAAADAAAABAAAAAUAAAAFAAAABgAAAAcAAAAHAAAACAAAAAgAAAAIAAAACAAA - AAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAcAAAAHAAAABgAAAAYAAAAFAAAABAAAAAIAAAABAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAALAAAADAAA - AAwAAAAMAAAADQAAAA0AAAANAAAADQAAAA0AAAAMAAAADAAAAAsAAAALAAAACgAAAAoAAAAJAAAACAAA - AAcAAAAGAAAABQAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAEAAAADAAAABAAAAAUAAAAGAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAA - AA4AAAAPAAAAEAAAABAAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAAQAAAAEAAAAA8AAAAPAAAADgAA - AA0AAAAMAAAACwAAAAoAAAAJAAAACAAAAAcAAAAGAAAABQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAFAAAABgAAAAgAAAAJAAAACgAAAAsAAAANAAAADgAA - AA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABQAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFAAA - ABMAAAASAAAAEgAAABEAAAAQAAAADgAAAA0AAAAMAAAACwAAAAoAAAAIAAAABwAAAAYAAAAEAAAAAgAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABAAAAAUAAAAHAAAACAAAAAoAAAALAAAADAAA - AA4AAAAPAAAAEAAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGQAAABoAAAAaAAAAGQAA - ABkAAAAYAAAAGAAAABcAAAAWAAAAFQAAABQAAAASAAAAEQAAABAAAAAOAAAADQAAAAwAAAAKAAAACQAA - AAcAAAAGAAAABAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADAAAABQAAAAYAAAAIAAAACQAA - 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 - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// - /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//gAA//wAA//gAAAf/ - AAD/4AAAAP8AAP+AAAAAfwAA/4AAAAA/AAD/AAAAAD8AAP8AAAAAPwAA/4AAAAA/AAD3wAAAAH8AAPfg - AAAB/wAA9/wAAAf/AAD3/8AAA/8AAPf//wAB/wAA9//8AAB/AADz//gAAD8AAPP/8AAAHwAA8//gAAAP - AADx/4AAAAMAAPH/AAAAAQAA+f4AAAAAAAD4//+AA/8AAPj//4AD/wAA+P//gAP/AAD8f/8AA/8AAPw/ - /wAH/wAA/D/+AAf/AAD+H/4AB/8AAP4P+AAP/wAA/wPwAA//AAD/AAAAH/8AAP+AAAAf/wAA/8AAAD// - AAD/4AAAf/8AAP/wAAD//wAA//wAA///AAD//wAP//8AAP//4H///wAA////////AAD///////8AAP// - /////wAA////////AAD///////8AAA== -</value> - </data> </root>
Modified: trunk/tools/Message Translator/GUI/Program.cs URL: http://svn.reactos.org/svn/reactos/trunk/tools/Message%20Translator/GUI/Prog... ============================================================================== --- trunk/tools/Message Translator/GUI/Program.cs [iso-8859-1] (original) +++ trunk/tools/Message Translator/GUI/Program.cs [iso-8859-1] Tue Apr 22 10:05:24 2008 @@ -14,7 +14,121 @@ { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new MainForm()); + MsgTransApplicationContext appContext = new MsgTransApplicationContext(); + + Application.Run(appContext); + } + } + + public class MsgTransApplicationContext : ApplicationContext + { + private System.ComponentModel.IContainer components; + private System.Windows.Forms.NotifyIcon notifyIcon; + private System.Windows.Forms.ContextMenuStrip contextMenu; + private System.Windows.Forms.ToolStripMenuItem restoreToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem closeApplicationToolStripMenuItem; + private System.Windows.Forms.Form mainForm; + + public MsgTransApplicationContext() + { + // create the notify icon and it's associated context menu + InitializeContext(); + } + + private void InitializeContext() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components); + this.contextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.restoreToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.closeApplicationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.contextMenu.SuspendLayout(); + + // + // notifyIcon + // + this.notifyIcon.ContextMenuStrip = this.contextMenu; + this.notifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.notifyIcon.Text = "Message Translator"; + this.notifyIcon.Visible = true; + this.notifyIcon.DoubleClick += new System.EventHandler(this.notifyIcon_DoubleClick); + // + // contextMenu + // + this.contextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.restoreToolStripMenuItem, + this.closeApplicationToolStripMenuItem}); + this.contextMenu.Name = "contextMenu"; + this.contextMenu.Size = new System.Drawing.Size(168, 48); + // + // restoreToolStripMenuItem + // + this.restoreToolStripMenuItem.Name = "restoreToolStripMenuItem"; + this.restoreToolStripMenuItem.Size = new System.Drawing.Size(167, 22); + this.restoreToolStripMenuItem.Text = "Restore"; + // + // closeApplicationToolStripMenuItem + // + this.closeApplicationToolStripMenuItem.Name = "closeApplicationToolStripMenuItem"; + this.closeApplicationToolStripMenuItem.Size = new System.Drawing.Size(167, 22); + this.closeApplicationToolStripMenuItem.Text = "Close Application"; + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + if (components != null) + { + components.Dispose(); + } + } + } + + private void ShowForm() + { + if (mainForm == null) + { + // create a fresh new form and show it. + mainForm = new MainForm(); + mainForm.Show(); + + // hook onto the closed event so we can null out the main form + // this avoids reshowing a disposed form. + mainForm.Closed += new EventHandler(mainForm_Closed); + } + else + { + // the form is currently visible, go ahead and bring it to the front so the user can interact + mainForm.Activate(); + } + } + + private void notifyIcon_DoubleClick(object sender, EventArgs e) + { + ShowForm(); + } + + private void mainForm_Closed(object sender, EventArgs e) + { + // null out the main form so we know to create a new one. + this.mainForm = null; + } + + private void exitContextMenuItem_Click(object sender, EventArgs e) + { + ExitThread(); + } + + protected override void ExitThreadCore() + { + if (mainForm != null) + { + // before we exit, give the main form a chance to clean itself up. + mainForm.Close(); + } + base.ExitThreadCore(); } } }