diff --git a/shadowsocks-csharp/View/MenuViewController.cs b/shadowsocks-csharp/View/MenuViewController.cs index b12e1a29..00150e58 100755 --- a/shadowsocks-csharp/View/MenuViewController.cs +++ b/shadowsocks-csharp/View/MenuViewController.cs @@ -28,15 +28,15 @@ namespace Shadowsocks.View private MenuItem ShareOverLANItem; private MenuItem SeperatorItem; private MenuItem ConfigItem; - private MenuItem menuItem4; + private MenuItem SeperatorItem3; private MenuItem editPACFileItem; private MenuItem QRCodeItem; private MenuItem ShowLogItem; private MenuItem aboutItem; private MenuItem ServersItem; - private MenuItem menuItem3; + private MenuItem SeperatorItem4; private MenuItem quitItem; - private MenuItem menuItem1; + private MenuItem SeperatorItem2; private MenuItem modeItem; private MenuItem globalModeItem; private MenuItem PACModeItem; @@ -121,26 +121,55 @@ namespace Shadowsocks.View _notifyIcon.Text = text.Substring(0, Math.Min(63, text.Length)); } + private MenuItem CreateMenuItem(int index, string text, EventHandler click) + { + MenuItem result = new MenuItem(I18N.GetString(text), click); + result.Index = index; + return result; + } + + private MenuItem CreateSeperatorItem(int index) + { + MenuItem result = new MenuItem("-"); + result.Index = index; + return result; + } + + private MenuItem CreateMenuGroup(int index, string text, MenuItem[] items) + { + MenuItem result = new MenuItem(I18N.GetString(text), items); + result.Index = index; + return result; + } + private void LoadMenu() { this.contextMenu1 = new System.Windows.Forms.ContextMenu(); - this.enableItem = new System.Windows.Forms.MenuItem(); - this.modeItem = new System.Windows.Forms.MenuItem(); - this.PACModeItem = new System.Windows.Forms.MenuItem(); - this.globalModeItem = new System.Windows.Forms.MenuItem(); - this.AutoStartupItem = new System.Windows.Forms.MenuItem(); - this.ShareOverLANItem = new System.Windows.Forms.MenuItem(); - this.ServersItem = new System.Windows.Forms.MenuItem(); - this.SeperatorItem = new System.Windows.Forms.MenuItem(); - this.ConfigItem = new System.Windows.Forms.MenuItem(); - this.menuItem4 = new System.Windows.Forms.MenuItem(); - this.editPACFileItem = new System.Windows.Forms.MenuItem(); - this.QRCodeItem = new System.Windows.Forms.MenuItem(); - this.ShowLogItem = new System.Windows.Forms.MenuItem(); - this.aboutItem = new System.Windows.Forms.MenuItem(); - this.menuItem3 = new System.Windows.Forms.MenuItem(); - this.quitItem = new System.Windows.Forms.MenuItem(); - this.menuItem1 = new System.Windows.Forms.MenuItem(); + + + this.PACModeItem = CreateMenuItem(0, "PAC", new System.EventHandler(this.PACModeItem_Click)); + this.globalModeItem = CreateMenuItem(1, "Global", new System.EventHandler(this.GlobalModeItem_Click)); + + this.SeperatorItem = CreateSeperatorItem(0); + this.ConfigItem = CreateMenuItem(1, "Edit Servers...", new System.EventHandler(this.Config_Click)); + + this.enableItem = CreateMenuItem(0, "Enable", new System.EventHandler(this.EnableItem_Click)); + this.modeItem = CreateMenuGroup(1, "Mode", new System.Windows.Forms.MenuItem[] { + this.PACModeItem, + this.globalModeItem}); + this.ServersItem = CreateMenuGroup(2, "Servers", new System.Windows.Forms.MenuItem[] { + this.SeperatorItem, + this.ConfigItem}); + this.SeperatorItem2 = CreateSeperatorItem(3); + this.AutoStartupItem = CreateMenuItem(4, "Start on Boot", new System.EventHandler(this.AutoStartupItem_Click)); + this.ShareOverLANItem = CreateMenuItem(5, "Share over LAN", new System.EventHandler(this.ShareOverLANItem_Click)); + this.editPACFileItem = CreateMenuItem(6, "Edit PAC File...", new System.EventHandler(this.EditPACFileItem_Click)); + this.SeperatorItem3 = CreateSeperatorItem(7); + this.QRCodeItem = CreateMenuItem(8, "Show QRCode...", new System.EventHandler(this.QRCodeItem_Click)); + this.ShowLogItem = CreateMenuItem(9, "Show Logs...", new System.EventHandler(this.ShowLogItem_Click)); + this.aboutItem = CreateMenuItem(10, "About...", new System.EventHandler(this.Config_Click)); + this.SeperatorItem4 = CreateSeperatorItem(11); + this.quitItem = CreateMenuItem(12, "Quit", new System.EventHandler(this.Quit_Click)); // // contextMenu1 @@ -149,118 +178,16 @@ namespace Shadowsocks.View this.enableItem, this.modeItem, this.ServersItem, - this.menuItem1, + this.SeperatorItem2, this.AutoStartupItem, this.ShareOverLANItem, this.editPACFileItem, - this.menuItem4, + this.SeperatorItem3, this.QRCodeItem, this.ShowLogItem, this.aboutItem, - this.menuItem3, + this.SeperatorItem4, this.quitItem}); - // - // enableItem - // - this.enableItem.Index = 0; - this.enableItem.Text = I18N.GetString("Enable"); - this.enableItem.Click += new System.EventHandler(this.EnableItem_Click); - // - // modeMenu - // - this.modeItem.Index = 1; - this.modeItem.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { - this.PACModeItem, - this.globalModeItem}); - this.modeItem.Text = I18N.GetString("Mode"); - // - // PACModeItem - // - this.PACModeItem.Index = 0; - this.PACModeItem.Text = I18N.GetString("PAC"); - this.PACModeItem.Click += new System.EventHandler(this.PACModeItem_Click); - // - // globalModeItem - // - this.globalModeItem.Index = 1; - this.globalModeItem.Text = I18N.GetString("Global"); - this.globalModeItem.Click += new System.EventHandler(this.GlobalModeItem_Click); - // - // ServersItem - // - this.ServersItem.Index = 2; - this.ServersItem.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { - this.SeperatorItem, - this.ConfigItem}); - this.ServersItem.Text = I18N.GetString("Servers"); - // - // SeperatorItem - // - this.SeperatorItem.Index = 0; - this.SeperatorItem.Text = "-"; - // - // ConfigItem - // - this.ConfigItem.Index = 1; - this.ConfigItem.Text = I18N.GetString("Edit Servers..."); - this.ConfigItem.Click += new System.EventHandler(this.Config_Click); - // - // menuItem1 - // - this.menuItem1.Index = 3; - this.menuItem1.Text = "-"; - // - // AutoStartupItem - // - this.AutoStartupItem.Index = 4; - this.AutoStartupItem.Text = I18N.GetString("Start on Boot"); - this.AutoStartupItem.Click += new System.EventHandler(this.AutoStartupItem_Click); - // - // ShareOverLANItem - // - this.ShareOverLANItem.Index = 5; - this.ShareOverLANItem.Text = I18N.GetString("Share over LAN"); - this.ShareOverLANItem.Click += new System.EventHandler(this.ShareOverLANItem_Click); - // - // editPACFileItem - // - this.editPACFileItem.Index = 6; - this.editPACFileItem.Text = I18N.GetString("Edit PAC File..."); - this.editPACFileItem.Click += new System.EventHandler(this.EditPACFileItem_Click); - // - // menuItem4 - // - this.menuItem4.Index = 7; - this.menuItem4.Text = "-"; - // - // QRCodeItem - // - this.QRCodeItem.Index = 8; - this.QRCodeItem.Text = I18N.GetString("Show QRCode..."); - this.QRCodeItem.Click += new System.EventHandler(this.QRCodeItem_Click); - // - // ShowLogItem - // - this.ShowLogItem.Index = 9; - this.ShowLogItem.Text = I18N.GetString("Show Logs..."); - this.ShowLogItem.Click += new System.EventHandler(this.ShowLogItem_Click); - // - // aboutItem - // - this.aboutItem.Index = 10; - this.aboutItem.Text = I18N.GetString("About..."); - this.aboutItem.Click += new System.EventHandler(this.AboutItem_Click); - // - // menuItem3 - // - this.menuItem3.Index = 11; - this.menuItem3.Text = "-"; - // - // quitItem - // - this.quitItem.Index = 12; - this.quitItem.Text = I18N.GetString("Quit"); - this.quitItem.Click += new System.EventHandler(this.Quit_Click); } private void controller_ConfigChanged(object sender, EventArgs e) diff --git a/shadowsocks-csharp/shadowsocks-csharp.csproj b/shadowsocks-csharp/shadowsocks-csharp.csproj index 16938892..a7216f48 100755 --- a/shadowsocks-csharp/shadowsocks-csharp.csproj +++ b/shadowsocks-csharp/shadowsocks-csharp.csproj @@ -89,15 +89,15 @@ - - - - - - - - - + + + + + + + + +