diff --git a/shadowsocks-csharp/Controller/ShadowsocksController.cs b/shadowsocks-csharp/Controller/ShadowsocksController.cs index 8eaec1b0..61d5458b 100644 --- a/shadowsocks-csharp/Controller/ShadowsocksController.cs +++ b/shadowsocks-csharp/Controller/ShadowsocksController.cs @@ -250,22 +250,8 @@ namespace Shadowsocks.Controller Errored?.Invoke(this, new ErrorEventArgs(e)); } - public Server GetCurrentServer() - { - return _config.GetCurrentServer(); - } - - // always return copy - public Configuration GetConfigurationCopy() - { - return Configuration.Load(); - } - - // always return current instance - public Configuration GetCurrentConfiguration() - { - return _config; - } + public Server GetCurrentServer() => _config.GetCurrentServer(); + public Configuration GetCurrentConfiguration() => _config; public Server GetAServer(IStrategyCallerType type, IPEndPoint localIPEndPoint, EndPoint destEndPoint) { diff --git a/shadowsocks-csharp/Controller/System/Hotkeys/HotkeyCallbacks.cs b/shadowsocks-csharp/Controller/System/Hotkeys/HotkeyCallbacks.cs index 7c94c93c..08f15836 100644 --- a/shadowsocks-csharp/Controller/System/Hotkeys/HotkeyCallbacks.cs +++ b/shadowsocks-csharp/Controller/System/Hotkeys/HotkeyCallbacks.cs @@ -46,21 +46,20 @@ namespace Shadowsocks.Controller.Hotkeys private void SwitchSystemProxyCallback() { - bool enabled = _controller.GetConfigurationCopy().enabled; + bool enabled = _controller.GetCurrentConfiguration().enabled; _controller.ToggleEnable(!enabled); } private void SwitchSystemProxyModeCallback() { - var config = _controller.GetConfigurationCopy(); - if (config.enabled == false) return; - var currStatus = config.global; - _controller.ToggleGlobal(!currStatus); + var config = _controller.GetCurrentConfiguration(); + if (config.enabled) + _controller.ToggleGlobal(!config.global); } private void SwitchAllowLanCallback() { - var status = _controller.GetConfigurationCopy().shareOverLan; + var status = _controller.GetCurrentConfiguration().shareOverLan; _controller.ToggleShareOverLAN(!status); } diff --git a/shadowsocks-csharp/ServerSharingWindow.xaml b/shadowsocks-csharp/ServerSharingWindow.xaml deleted file mode 100644 index 6cc585c3..00000000 --- a/shadowsocks-csharp/ServerSharingWindow.xaml +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/shadowsocks-csharp/ServerSharingWindow.xaml.cs b/shadowsocks-csharp/ServerSharingWindow.xaml.cs deleted file mode 100644 index f48e5eaa..00000000 --- a/shadowsocks-csharp/ServerSharingWindow.xaml.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Shapes; - -namespace Shadowsocks -{ - /// - /// Interaction logic for ServerSharingWindow.xaml - /// - public partial class ServerSharingWindow : Window - { - public ServerSharingWindow() - { - InitializeComponent(); - } - } -} diff --git a/shadowsocks-csharp/View/ConfigForm.cs b/shadowsocks-csharp/View/ConfigForm.cs index ab029f7e..3f947851 100755 --- a/shadowsocks-csharp/View/ConfigForm.cs +++ b/shadowsocks-csharp/View/ConfigForm.cs @@ -433,7 +433,7 @@ namespace Shadowsocks.View private void LoadCurrentConfiguration() { - _modifiedConfiguration = controller.GetConfigurationCopy(); + _modifiedConfiguration = controller.GetCurrentConfiguration(); LoadServerNameListToUI(_modifiedConfiguration); _lastSelectedIndex = _modifiedConfiguration.index; diff --git a/shadowsocks-csharp/View/HotkeySettingsForm.cs b/shadowsocks-csharp/View/HotkeySettingsForm.cs index b55e9ef1..58c0f6bd 100644 --- a/shadowsocks-csharp/View/HotkeySettingsForm.cs +++ b/shadowsocks-csharp/View/HotkeySettingsForm.cs @@ -40,7 +40,7 @@ namespace Shadowsocks.View private void LoadCurrentConfiguration() { - _modifiedHotkeyConfig = _controller.GetConfigurationCopy().hotkey; + _modifiedHotkeyConfig = _controller.GetCurrentConfiguration().hotkey; SetConfigToUI(_modifiedHotkeyConfig); } diff --git a/shadowsocks-csharp/View/LogForm.cs b/shadowsocks-csharp/View/LogForm.cs index 06b0f678..9f5efbeb 100644 --- a/shadowsocks-csharp/View/LogForm.cs +++ b/shadowsocks-csharp/View/LogForm.cs @@ -62,7 +62,7 @@ namespace Shadowsocks.View LogMessageTextBox.AppendText("Cannot get the log file name from NLog config file. Please check if the nlog config file exists with corresponding XML nodes."); } - LogViewerConfig config = controller.GetConfigurationCopy().logViewer; + LogViewerConfig config = controller.GetCurrentConfiguration().logViewer; topMostTrigger = config.topMost; wrapTextTrigger = config.wrapText; @@ -244,7 +244,7 @@ namespace Shadowsocks.View timer.Tick += Timer_Tick; timer.Start(); - LogViewerConfig config = controller.GetConfigurationCopy().logViewer; + LogViewerConfig config = controller.GetCurrentConfiguration().logViewer; Height = config.Height; Width = config.Width; @@ -270,7 +270,7 @@ namespace Shadowsocks.View { timer.Stop(); controller.TrafficChanged -= controller_TrafficChanged; - LogViewerConfig config = controller.GetConfigurationCopy().logViewer; + LogViewerConfig config = controller.GetCurrentConfiguration().logViewer; config.topMost = topMostTrigger; config.wrapText = wrapTextTrigger; diff --git a/shadowsocks-csharp/View/MenuViewController.cs b/shadowsocks-csharp/View/MenuViewController.cs index 1da2ef9b..8ba600ac 100644 --- a/shadowsocks-csharp/View/MenuViewController.cs +++ b/shadowsocks-csharp/View/MenuViewController.cs @@ -3,6 +3,7 @@ using Shadowsocks.Controller; using Shadowsocks.Model; using Shadowsocks.Properties; using Shadowsocks.Util; +using Shadowsocks.Views; using System; using System.Diagnostics; using System.Drawing; @@ -65,7 +66,7 @@ namespace Shadowsocks.View private HotkeySettingsForm hotkeySettingsForm; private OnlineConfigForm onlineConfigForm; - private ServerSharingWindow serverSharingWindow; + private System.Windows.Window serverSharingWindow; // color definition for icon color transformation private readonly Color colorMaskBlue = Color.FromArgb(255, 25, 125, 191); @@ -106,7 +107,7 @@ namespace Shadowsocks.View LoadCurrentConfiguration(); - Configuration config = controller.GetConfigurationCopy(); + Configuration config = controller.GetCurrentConfiguration(); if (config.firstRun) { @@ -123,7 +124,7 @@ namespace Shadowsocks.View private void UpdateTrayIconAndNotifyText() { - Configuration config = controller.GetConfigurationCopy(); + Configuration config = controller.GetCurrentConfiguration(); bool enabled = config.enabled; bool global = config.global; @@ -349,7 +350,7 @@ namespace Shadowsocks.View private void LoadCurrentConfiguration() { - Configuration config = controller.GetConfigurationCopy(); + Configuration config = controller.GetCurrentConfiguration(); UpdateServersMenu(); UpdateSystemProxyItemsEnabledStatus(config); ShareOverLANItem.Checked = config.shareOverLan; @@ -537,7 +538,7 @@ namespace Shadowsocks.View private void CheckUpdateForFirstRun() { - Configuration config = controller.GetConfigurationCopy(); + Configuration config = controller.GetCurrentConfiguration(); if (config.firstRun) return; _isStartupChecking = true; @@ -555,7 +556,7 @@ namespace Shadowsocks.View void controller_ShareOverLANStatusChanged(object sender, EventArgs e) { - ShareOverLANItem.Checked = controller.GetConfigurationCopy().shareOverLan; + ShareOverLANItem.Checked = controller.GetCurrentConfiguration().shareOverLan; } private void proxyItem_Click(object sender, EventArgs e) @@ -612,19 +613,19 @@ namespace Shadowsocks.View private void controller_EnableStatusChanged(object sender, EventArgs e) { - disableItem.Checked = !controller.GetConfigurationCopy().enabled; + disableItem.Checked = !controller.GetCurrentConfiguration().enabled; } private void EnableItem_Click(object sender, EventArgs e) { controller.ToggleEnable(false); - Configuration config = controller.GetConfigurationCopy(); + Configuration config = controller.GetCurrentConfiguration(); UpdateSystemProxyItemsEnabledStatus(config); } void controller_EnableGlobalChanged(object sender, EventArgs e) { - globalModeItem.Checked = controller.GetConfigurationCopy().global; + globalModeItem.Checked = controller.GetCurrentConfiguration().global; PACModeItem.Checked = !globalModeItem.Checked; } @@ -647,7 +648,7 @@ namespace Shadowsocks.View { controller.ToggleEnable(true); controller.ToggleGlobal(true); - Configuration config = controller.GetConfigurationCopy(); + Configuration config = controller.GetCurrentConfiguration(); UpdateSystemProxyItemsEnabledStatus(config); } @@ -655,7 +656,7 @@ namespace Shadowsocks.View { controller.ToggleEnable(true); controller.ToggleGlobal(false); - Configuration config = controller.GetConfigurationCopy(); + Configuration config = controller.GetCurrentConfiguration(); UpdateSystemProxyItemsEnabledStatus(config); } @@ -684,7 +685,7 @@ namespace Shadowsocks.View items.Add(strategyCount++, new MenuItem("-")); int serverCount = 0; - Configuration configuration = controller.GetConfigurationCopy(); + Configuration configuration = controller.GetCurrentConfiguration(); foreach (var server in configuration.configs) { try @@ -747,7 +748,13 @@ namespace Shadowsocks.View { if (serverSharingWindow == null) { - serverSharingWindow = new ServerSharingWindow(); + serverSharingWindow = new System.Windows.Window() + { + Title = "Server Sharing", + Height = 400, + Width = 660, + Content = new ServerSharingView() + }; serverSharingWindow.Closed += ServerSharingWindow_Closed; serverSharingWindow.Show(); } @@ -870,11 +877,11 @@ namespace Shadowsocks.View { if (!onlinePACItem.Checked) { - if (string.IsNullOrEmpty(controller.GetConfigurationCopy().pacUrl)) + if (string.IsNullOrEmpty(controller.GetCurrentConfiguration().pacUrl)) { UpdateOnlinePACURLItem_Click(sender, e); } - if (!string.IsNullOrEmpty(controller.GetConfigurationCopy().pacUrl)) + if (!string.IsNullOrEmpty(controller.GetCurrentConfiguration().pacUrl)) { localPACItem.Checked = false; onlinePACItem.Checked = true; @@ -886,7 +893,7 @@ namespace Shadowsocks.View private void UpdateOnlinePACURLItem_Click(object sender, EventArgs e) { - string origPacUrl = controller.GetConfigurationCopy().pacUrl; + string origPacUrl = controller.GetCurrentConfiguration().pacUrl; string pacUrl = Microsoft.VisualBasic.Interaction.InputBox( I18N.GetString("Please input PAC Url"), I18N.GetString("Edit Online PAC URL"), @@ -899,13 +906,13 @@ namespace Shadowsocks.View private void SecureLocalPacUrlToggleItem_Click(object sender, EventArgs e) { - Configuration configuration = controller.GetConfigurationCopy(); + Configuration configuration = controller.GetCurrentConfiguration(); controller.ToggleSecureLocalPac(!configuration.secureLocalPac); } private void RegenerateLocalPacOnUpdateItem_Click(object sender, EventArgs e) { - var config = controller.GetConfigurationCopy(); + var config = controller.GetCurrentConfiguration(); controller.ToggleRegeneratePacOnUpdate(!config.regeneratePacOnUpdate); } @@ -974,12 +981,12 @@ namespace Shadowsocks.View void controller_VerboseLoggingStatusChanged(object sender, EventArgs e) { - VerboseLoggingToggleItem.Checked = controller.GetConfigurationCopy().isVerboseLogging; + VerboseLoggingToggleItem.Checked = controller.GetCurrentConfiguration().isVerboseLogging; } void controller_ShowPluginOutputChanged(object sender, EventArgs e) { - ShowPluginOutputToggleItem.Checked = controller.GetConfigurationCopy().showPluginOutput; + ShowPluginOutputToggleItem.Checked = controller.GetCurrentConfiguration().showPluginOutput; } private void VerboseLoggingToggleItem_Click(object sender, EventArgs e) @@ -1023,28 +1030,28 @@ namespace Shadowsocks.View private void UpdateUpdateMenu() { - Configuration configuration = controller.GetConfigurationCopy(); + Configuration configuration = controller.GetCurrentConfiguration(); autoCheckUpdatesToggleItem.Checked = configuration.autoCheckUpdate; checkPreReleaseToggleItem.Checked = configuration.checkPreRelease; } private void autoCheckUpdatesToggleItem_Click(object sender, EventArgs e) { - Configuration configuration = controller.GetConfigurationCopy(); + Configuration configuration = controller.GetCurrentConfiguration(); controller.ToggleCheckingUpdate(!configuration.autoCheckUpdate); UpdateUpdateMenu(); } private void checkPreReleaseToggleItem_Click(object sender, EventArgs e) { - Configuration configuration = controller.GetConfigurationCopy(); + Configuration configuration = controller.GetCurrentConfiguration(); controller.ToggleCheckingPreRelease(!configuration.checkPreRelease); UpdateUpdateMenu(); } private void checkUpdatesItem_Click(object sender, EventArgs e) { - updateChecker.CheckUpdate(controller.GetConfigurationCopy()); + updateChecker.CheckUpdate(controller.GetCurrentConfiguration()); } private void AboutItem_Click(object sender, EventArgs e) diff --git a/shadowsocks-csharp/View/OnlineConfigForm.cs b/shadowsocks-csharp/View/OnlineConfigForm.cs index fca0ed57..344472da 100644 --- a/shadowsocks-csharp/View/OnlineConfigForm.cs +++ b/shadowsocks-csharp/View/OnlineConfigForm.cs @@ -24,7 +24,7 @@ namespace Shadowsocks.View private void LoadConfig() { - config = controller.GetConfigurationCopy(); + config = controller.GetCurrentConfiguration(); var idx = UrlListBox.SelectedIndex; UrlListBox.Items.Clear(); diff --git a/shadowsocks-csharp/View/ProxyForm.cs b/shadowsocks-csharp/View/ProxyForm.cs index 218f296f..240c38e1 100644 --- a/shadowsocks-csharp/View/ProxyForm.cs +++ b/shadowsocks-csharp/View/ProxyForm.cs @@ -41,7 +41,7 @@ namespace Shadowsocks.View private void LoadCurrentConfiguration() { - _modifiedProxyConfig = controller.GetConfigurationCopy().proxy; + _modifiedProxyConfig = controller.GetCurrentConfiguration().proxy; UseProxyCheckBox.Checked = _modifiedProxyConfig.useProxy; ProxyServerTextBox.Text = _modifiedProxyConfig.proxyServer; ProxyPortTextBox.Text = _modifiedProxyConfig.proxyPort.ToString(); diff --git a/shadowsocks-csharp/shadowsocks-csharp.csproj b/shadowsocks-csharp/shadowsocks-csharp.csproj index 6620a009..148fd47a 100644 --- a/shadowsocks-csharp/shadowsocks-csharp.csproj +++ b/shadowsocks-csharp/shadowsocks-csharp.csproj @@ -257,9 +257,6 @@ - - ServerSharingWindow.xaml - @@ -415,10 +412,6 @@ - - Designer - MSBuild:Compile - Designer MSBuild:Compile