diff --git a/shadowsocks-csharp/Model/Configuration.cs b/shadowsocks-csharp/Model/Configuration.cs index 78eb3c29..d5acbe6d 100755 --- a/shadowsocks-csharp/Model/Configuration.cs +++ b/shadowsocks-csharp/Model/Configuration.cs @@ -16,8 +16,6 @@ namespace Shadowsocks.Model public int index; public bool enabled; public bool isDefault; - public bool lockStatus; - public bool enableLog; private static string CONFIG_FILE = "gui-config.json"; @@ -35,11 +33,11 @@ namespace Shadowsocks.Model public static void CheckServer(Server server) { - CheckPort(server.local_port); - CheckPort(server.server_port); - CheckPassword(server.password); - CheckServer(server.server); - CheckRemark(server.remarks); + checkPort(server.local_port); + checkPort(server.server_port); + checkPassword(server.password); + checkServer(server.server); + checkRemark(server.remarks); } public static Configuration Load() @@ -108,7 +106,7 @@ namespace Shadowsocks.Model }; } - private static void Assert(bool condition) + private static void assert(bool condition) { if (!condition) { @@ -116,7 +114,7 @@ namespace Shadowsocks.Model } } - private static void CheckPort(int port) + private static void checkPort(int port) { if (port <= 0 || port > 65535) { @@ -124,7 +122,7 @@ namespace Shadowsocks.Model } } - private static void CheckPassword(string password) + private static void checkPassword(string password) { if (string.IsNullOrEmpty(password)) { @@ -132,7 +130,7 @@ namespace Shadowsocks.Model } } - private static void CheckServer(string server) + private static void checkServer(string server) { if (string.IsNullOrEmpty(server)) { @@ -140,7 +138,7 @@ namespace Shadowsocks.Model } } - private static void CheckRemark(string remark) + private static void checkRemark(string remark) { //remark is optional } diff --git a/shadowsocks-csharp/View/ConfigForm.Designer.cs b/shadowsocks-csharp/View/ConfigForm.Designer.cs index a661b65a..6d6f8881 100755 --- a/shadowsocks-csharp/View/ConfigForm.Designer.cs +++ b/shadowsocks-csharp/View/ConfigForm.Designer.cs @@ -55,7 +55,6 @@ 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.aboutItem = new System.Windows.Forms.MenuItem(); this.menuItem3 = new System.Windows.Forms.MenuItem(); this.quitItem = new System.Windows.Forms.MenuItem(); @@ -64,13 +63,11 @@ this.AddButton = new System.Windows.Forms.Button(); this.ServerGroupBox = new System.Windows.Forms.GroupBox(); this.ServersListBox = new System.Windows.Forms.ListBox(); - this.LockButton = new System.Windows.Forms.Button(); - this.panel4 = new System.Windows.Forms.Panel(); + this.QRCodeItem = new System.Windows.Forms.MenuItem(); this.tableLayoutPanel1.SuspendLayout(); this.panel1.SuspendLayout(); this.panel3.SuspendLayout(); this.ServerGroupBox.SuspendLayout(); - this.panel4.SuspendLayout(); this.SuspendLayout(); // // tableLayoutPanel1 @@ -256,7 +253,7 @@ this.OKButton.Location = new System.Drawing.Point(4, 4); this.OKButton.Name = "OKButton"; this.OKButton.Size = new System.Drawing.Size(75, 23); - this.OKButton.TabIndex = 6; + this.OKButton.TabIndex = 8; this.OKButton.Text = "OK"; this.OKButton.UseVisualStyleBackColor = true; this.OKButton.Click += new System.EventHandler(this.OKButton_Click); @@ -267,7 +264,7 @@ this.MyCancelButton.Location = new System.Drawing.Point(86, 4); this.MyCancelButton.Name = "MyCancelButton"; this.MyCancelButton.Size = new System.Drawing.Size(75, 23); - this.MyCancelButton.TabIndex = 7; + this.MyCancelButton.TabIndex = 9; this.MyCancelButton.Text = "Cancel"; this.MyCancelButton.UseVisualStyleBackColor = true; this.MyCancelButton.Click += new System.EventHandler(this.CancelButton_Click); @@ -332,12 +329,6 @@ this.editPACFileItem.Text = "Edit &PAC File..."; this.editPACFileItem.Click += new System.EventHandler(this.EditPACFileItem_Click); // - // QRCodeItem - // - this.QRCodeItem.Index = 4; - this.QRCodeItem.Text = "Show &QRCode..."; - this.QRCodeItem.Click += new System.EventHandler(this.QRCodeItem_Click); - // // aboutItem // this.aboutItem.Index = 5; @@ -371,7 +362,7 @@ this.DeleteButton.Location = new System.Drawing.Point(100, 4); this.DeleteButton.Name = "DeleteButton"; this.DeleteButton.Size = new System.Drawing.Size(89, 23); - this.DeleteButton.TabIndex = 9; + this.DeleteButton.TabIndex = 7; this.DeleteButton.Text = "&Delete"; this.DeleteButton.UseVisualStyleBackColor = true; this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click); @@ -381,7 +372,7 @@ this.AddButton.Location = new System.Drawing.Point(4, 4); this.AddButton.Name = "AddButton"; this.AddButton.Size = new System.Drawing.Size(89, 23); - this.AddButton.TabIndex = 8; + this.AddButton.TabIndex = 6; this.AddButton.Text = "&Add"; this.AddButton.UseVisualStyleBackColor = true; this.AddButton.Click += new System.EventHandler(this.AddButton_Click); @@ -405,25 +396,11 @@ this.ServersListBox.TabIndex = 5; this.ServersListBox.SelectedIndexChanged += new System.EventHandler(this.ServersListBox_SelectedIndexChanged); // - // LockButton - // - this.LockButton.Location = new System.Drawing.Point(4, 4); - this.LockButton.Name = "LockButton"; - this.LockButton.Size = new System.Drawing.Size(89, 23); - this.LockButton.TabIndex = 10; - this.LockButton.Text = "&Lock"; - this.LockButton.UseVisualStyleBackColor = true; - this.LockButton.Click += new System.EventHandler(this.LockButton_Click); - // - // panel4 + // QRCodeItem // - this.panel4.AutoSize = true; - this.panel4.Controls.Add(this.LockButton); - this.panel4.Location = new System.Drawing.Point(12, 251); - this.panel4.Margin = new System.Windows.Forms.Padding(0); - this.panel4.Name = "panel4"; - this.panel4.Size = new System.Drawing.Size(192, 30); - this.panel4.TabIndex = 7; + this.QRCodeItem.Index = 4; + this.QRCodeItem.Text = "Show &QRCode..."; + this.QRCodeItem.Click += new System.EventHandler(this.QRCodeItem_Click); // // ConfigForm // @@ -431,9 +408,7 @@ this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.AutoSize = true; - this.CancelButton = this.MyCancelButton; this.ClientSize = new System.Drawing.Size(489, 286); - this.Controls.Add(this.panel4); this.Controls.Add(this.ServersListBox); this.Controls.Add(this.ServerGroupBox); this.Controls.Add(this.panel1); @@ -445,7 +420,6 @@ this.Name = "ConfigForm"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Shadowsocks"; - this.TopMost = true; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.ConfigForm_FormClosed); this.Load += new System.EventHandler(this.ConfigForm_Load); this.Shown += new System.EventHandler(this.ConfigForm_Shown); @@ -455,7 +429,6 @@ this.panel3.ResumeLayout(false); this.ServerGroupBox.ResumeLayout(false); this.ServerGroupBox.PerformLayout(); - this.panel4.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); @@ -497,8 +470,6 @@ private System.Windows.Forms.TextBox RemarksTextBox; private System.Windows.Forms.Label label6; private System.Windows.Forms.MenuItem QRCodeItem; - private System.Windows.Forms.Button LockButton; - private System.Windows.Forms.Panel panel4; } } diff --git a/shadowsocks-csharp/View/ConfigForm.cs b/shadowsocks-csharp/View/ConfigForm.cs index 68cb861c..2631f529 100755 --- a/shadowsocks-csharp/View/ConfigForm.cs +++ b/shadowsocks-csharp/View/ConfigForm.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; -using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; using System.Diagnostics; @@ -16,10 +15,9 @@ namespace Shadowsocks.View private ShadowsocksController controller; // this is a copy of configuration that we are working on - private Configuration _modifiedConfiguration; - private int _oldSelectedIndex = -1; - private bool _isFirstRun; - private bool _lockStatus; + private Configuration modifiedConfiguration; + private int oldSelectedIndex = -1; + private bool isFirstRun; public ConfigForm(ShadowsocksController controller) { @@ -31,12 +29,12 @@ namespace Shadowsocks.View controller.ConfigChanged += controller_ConfigChanged; controller.PACFileReadyToOpen += controller_PACFileReadyToOpen; - LoadCurrentConfiguration(); + loadCurrentConfiguration(); } private void controller_ConfigChanged(object sender, EventArgs e) { - LoadCurrentConfiguration(); + loadCurrentConfiguration(); } private void controller_EnableStatusChanged(object sender, EventArgs e) @@ -52,31 +50,18 @@ namespace Shadowsocks.View } - private void ShowWindow() + private void showWindow() { this.Opacity = 1; this.Show(); IPTextBox.Focus(); - if (_lockStatus) - { - IPTextBox.Enabled = false; - ServerPortTextBox.Enabled = false; - PasswordTextBox.Enabled = false; - EncryptionSelect.Enabled = false; - ProxyPortTextBox.Enabled = false; - RemarksTextBox.Enabled = false; - AddButton.Enabled = false; - DeleteButton.Enabled = false; - _lockStatus = true; - LockButton.Text = "&Unlock Settings"; - } } - private bool SaveOldSelectedServer() + private bool saveOldSelectedServer() { try { - if (_oldSelectedIndex == -1 || _oldSelectedIndex >= _modifiedConfiguration.configs.Count) + if (oldSelectedIndex == -1 || oldSelectedIndex >= modifiedConfiguration.configs.Count) { return true; } @@ -90,7 +75,7 @@ namespace Shadowsocks.View remarks = RemarksTextBox.Text }; Configuration.CheckServer(server); - _modifiedConfiguration.configs[_oldSelectedIndex] = server; + modifiedConfiguration.configs[oldSelectedIndex] = server; return true; } catch (FormatException) @@ -104,17 +89,17 @@ namespace Shadowsocks.View return false; } - private void LoadSelectedServer() + private void loadSelectedServer() { - if (ServersListBox.SelectedIndex >= 0 && ServersListBox.SelectedIndex < _modifiedConfiguration.configs.Count) + if (ServersListBox.SelectedIndex >= 0 && ServersListBox.SelectedIndex < modifiedConfiguration.configs.Count) { - Server server = _modifiedConfiguration.configs[ServersListBox.SelectedIndex]; + Server server = modifiedConfiguration.configs[ServersListBox.SelectedIndex]; IPTextBox.Text = server.server; ServerPortTextBox.Text = server.server_port.ToString(); PasswordTextBox.Text = server.password; ProxyPortTextBox.Text = server.local_port.ToString(); - EncryptionSelect.Text = server.method ?? "aes-256-cfb"; + EncryptionSelect.Text = server.method == null ? "aes-256-cfb" : server.method; RemarksTextBox.Text = server.remarks; ServerGroupBox.Visible = true; //IPTextBox.Focus(); @@ -125,29 +110,28 @@ namespace Shadowsocks.View } } - private void LoadConfiguration(Configuration configuration) + private void loadConfiguration(Configuration configuration) { ServersListBox.Items.Clear(); - foreach (Server server in _modifiedConfiguration.configs) + foreach (Server server in modifiedConfiguration.configs) { ServersListBox.Items.Add(string.IsNullOrEmpty(server.server) ? "New server" : string.IsNullOrEmpty(server.remarks)? server.server + ":" + server.server_port : server.server + ":" + server.server_port + " (" + server.remarks + ")"); } } - private void LoadCurrentConfiguration() + private void loadCurrentConfiguration() { - _modifiedConfiguration = controller.GetConfiguration(); - LoadConfiguration(_modifiedConfiguration); - _oldSelectedIndex = _modifiedConfiguration.index; - _lockStatus = _modifiedConfiguration.lockStatus; - ServersListBox.SelectedIndex = _modifiedConfiguration.index; - LoadSelectedServer(); - - UpdateServersMenu(); - enableItem.Checked = _modifiedConfiguration.enabled; + modifiedConfiguration = controller.GetConfiguration(); + loadConfiguration(modifiedConfiguration); + oldSelectedIndex = modifiedConfiguration.index; + ServersListBox.SelectedIndex = modifiedConfiguration.index; + loadSelectedServer(); + + updateServersMenu(); + enableItem.Checked = modifiedConfiguration.enabled; } - private void UpdateServersMenu() + private void updateServersMenu() { var items = ServersItem.MenuItems; @@ -173,68 +157,71 @@ namespace Shadowsocks.View private void ConfigForm_Load(object sender, EventArgs e) { - if (controller == null || controller.GetConfiguration().isDefault) + if (!controller.GetConfiguration().isDefault) { - _isFirstRun = true; + this.Opacity = 0; + BeginInvoke(new MethodInvoker(delegate + { + this.Hide(); + })); } else { - this.Opacity = 0; - BeginInvoke(new MethodInvoker(delegate { this.Hide(); })); + isFirstRun = true; } } private void ServersListBox_SelectedIndexChanged(object sender, EventArgs e) { - if (_oldSelectedIndex == ServersListBox.SelectedIndex) + if (oldSelectedIndex == ServersListBox.SelectedIndex) { // we are moving back to oldSelectedIndex or doing a force move return; } - if (!SaveOldSelectedServer()) + if (!saveOldSelectedServer()) { // why this won't cause stack overflow? - ServersListBox.SelectedIndex = _oldSelectedIndex; + ServersListBox.SelectedIndex = oldSelectedIndex; return; } - LoadSelectedServer(); - _oldSelectedIndex = ServersListBox.SelectedIndex; + loadSelectedServer(); + oldSelectedIndex = ServersListBox.SelectedIndex; } private void AddButton_Click(object sender, EventArgs e) { - if (!SaveOldSelectedServer()) + if (!saveOldSelectedServer()) { return; } Server server = Configuration.GetDefaultServer(); - _modifiedConfiguration.configs.Add(server); - LoadConfiguration(_modifiedConfiguration); - ServersListBox.SelectedIndex = _modifiedConfiguration.configs.Count - 1; - _oldSelectedIndex = ServersListBox.SelectedIndex; + modifiedConfiguration.configs.Add(server); + loadConfiguration(modifiedConfiguration); + ServersListBox.SelectedIndex = modifiedConfiguration.configs.Count - 1; + oldSelectedIndex = ServersListBox.SelectedIndex; } private void DeleteButton_Click(object sender, EventArgs e) { - _oldSelectedIndex = ServersListBox.SelectedIndex; - if (_oldSelectedIndex >= 0 && _oldSelectedIndex < _modifiedConfiguration.configs.Count) + oldSelectedIndex = ServersListBox.SelectedIndex; + if (oldSelectedIndex >= 0 && oldSelectedIndex < modifiedConfiguration.configs.Count) { - _modifiedConfiguration.configs.RemoveAt(_oldSelectedIndex); + modifiedConfiguration.configs.RemoveAt(oldSelectedIndex); } - if (_oldSelectedIndex >= _modifiedConfiguration.configs.Count) + if (oldSelectedIndex >= modifiedConfiguration.configs.Count) { // can be -1 - _oldSelectedIndex = _modifiedConfiguration.configs.Count - 1; + oldSelectedIndex = modifiedConfiguration.configs.Count - 1; } - ServersListBox.SelectedIndex = _oldSelectedIndex; - LoadConfiguration(_modifiedConfiguration); - ServersListBox.SelectedIndex = _oldSelectedIndex; - LoadSelectedServer(); + ServersListBox.SelectedIndex = oldSelectedIndex; + loadConfiguration(modifiedConfiguration); + ServersListBox.SelectedIndex = oldSelectedIndex; + loadSelectedServer(); } private void Config_Click(object sender, EventArgs e) { - ShowWindow(); + showWindow(); } private void Quit_Click(object sender, EventArgs e) @@ -242,39 +229,38 @@ namespace Shadowsocks.View this.Close(); } - private void ShowFirstTimeBalloon() + private void showFirstTimeBalloon() { - if (_isFirstRun) + if (isFirstRun) { notifyIcon1.BalloonTipTitle = "Shadowsocks is here"; notifyIcon1.BalloonTipText = "You can turn on/off Shadowsocks in the context menu"; notifyIcon1.ShowBalloonTip(0); - _isFirstRun = false; + isFirstRun = false; } } private void OKButton_Click(object sender, EventArgs e) { - if (!SaveOldSelectedServer()) + if (!saveOldSelectedServer()) { return; } - if (_modifiedConfiguration.configs.Count == 0) + if (modifiedConfiguration.configs.Count == 0) { MessageBox.Show("Please add at least one server"); return; } - _modifiedConfiguration.lockStatus = _lockStatus; - controller.SaveConfig(_modifiedConfiguration); + controller.SaveConfig(modifiedConfiguration); this.Hide(); - ShowFirstTimeBalloon(); + showFirstTimeBalloon(); } private void CancelButton_Click(object sender, EventArgs e) { this.Hide(); - LoadCurrentConfiguration(); - ShowFirstTimeBalloon(); + loadCurrentConfiguration(); + showFirstTimeBalloon(); } private void ConfigForm_FormClosed(object sender, FormClosedEventArgs e) @@ -289,7 +275,7 @@ namespace Shadowsocks.View private void notifyIcon1_DoubleClick(object sender, EventArgs e) { - ShowWindow(); + showWindow(); } @@ -321,31 +307,5 @@ namespace Shadowsocks.View { new QRCodeForm(controller.GetQRCodeForCurrentServer()).Show(); } - - private void ChangeLockStatus(bool lockStatus) - { - IPTextBox.Enabled = lockStatus; - ServerPortTextBox.Enabled = lockStatus; - PasswordTextBox.Enabled = lockStatus; - EncryptionSelect.Enabled = lockStatus; - ProxyPortTextBox.Enabled = lockStatus; - RemarksTextBox.Enabled = lockStatus; - AddButton.Enabled = lockStatus; - DeleteButton.Enabled = lockStatus; - _lockStatus = !lockStatus; - if (lockStatus) - { - LockButton.Text = "&Lock"; - } - else - { - LockButton.Text = "&Unlock"; - } - } - - private void LockButton_Click(object sender, EventArgs e) - { - ChangeLockStatus(_lockStatus); - } } }