public ServerLogWindow(ShadowsocksController controller, WindowStatus status) { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"ServerLogWindow"); LoadLanguage(); _controller = controller; Closed += (o, e) => { _controller.ConfigChanged -= controller_ConfigChanged; }; _controller.ConfigChanged += controller_ConfigChanged; LoadConfig(true); ServerDataGrid.GridColumnSizer.SortIconWidth = 0; if (status == null) { SizeToContent = SizeToContent.Width; Height = 600; WindowStartupLocation = WindowStartupLocation.CenterScreen; ServerDataGrid.ShowBusyIndicator = false; } else { ServerDataGrid.ShowBusyIndicator = true; SizeToContent = SizeToContent.Manual; status.SetStatus(this); } }
public ConfigWindow(ShadowsocksController controller, int focusIndex) { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"ConfigWindow"); SizeChanged += (o, args) => { GenQr(LinkTextBox.Text); }; Splitter2.DragDelta += (o, args) => { GenQr(LinkTextBox.Text); }; Closed += (o, e) => { _controller.ConfigChanged -= controller_ConfigChanged; ServerViewModel.ServersChanged -= ServerViewModel_ServersChanged; }; _controller = controller; foreach (var name in from name in EncryptorFactory.RegisteredEncryptors.Keys let info = EncryptorFactory.GetEncryptorInfo(name) where info.Display select name) { EncryptionComboBox.Items.Add(name); } foreach (var protocol in Protocols) { ProtocolComboBox.Items.Add(protocol); } foreach (var obfs in ObfsStrings) { ObfsComboBox.Items.Add(obfs); } _controller.ConfigChanged += controller_ConfigChanged; ServerViewModel.ServersChanged += ServerViewModel_ServersChanged; _focusIndex = focusIndex; ServerGroupBox.Visibility = ServersTreeView.SelectedValue == null ? Visibility.Hidden : Visibility.Visible; }
public ServerConfigWindow(MainController controller, int focusIndex) { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"ConfigWindow"); SizeChanged += (o, args) => { GenQr(LinkTextBox.Text); }; Splitter2.DragDelta += (o, args) => { GenQr(LinkTextBox.Text); }; Closed += (o, e) => { _controller.ConfigChanged -= controller_ConfigChanged; ServerConfigViewModel.ServersChanged -= ServerViewModel_ServersChanged; }; _controller = controller; foreach (var name in from name in EncryptorFactory.RegisteredEncryptors.Keys let info = EncryptorFactory.GetEncryptorInfo(name) where info.Display select name) { EncryptionComboBox.Items.Add(name); } foreach (var protocol in Protocols) { ProtocolComboBox.Items.Add(protocol); } foreach (var obfs in ObfsStrings) { ObfsComboBox.Items.Add(obfs); } _controller.ConfigChanged += controller_ConfigChanged; ServerConfigViewModel.ServersChanged += ServerViewModel_ServersChanged; _focusIndex = focusIndex; ServersTreeView_OnSelectionChanged(this, new ItemSelectionChangedEventArgs()); }
public SettingsWindow(MainController controller) { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"SettingsWindow"); Closed += (o, e) => { _controller.ConfigChanged -= controller_ConfigChanged; }; _controller = controller; }
public PortSettingsWindow(ShadowsocksController controller) { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"PortSettingsWindow"); Closed += (o, e) => { _controller.ConfigChanged -= controller_ConfigChanged; }; _controller = controller; LoadItems(); }
public DnsSettingWindow() { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"DnsSettingWindow"); Closed += (o, e) => { DnsSettingViewModel.DnsClientsChanged -= DnsSettingViewModel_DnsClientsChanged; }; DnsSettingViewModel.DnsClientsChanged += DnsSettingViewModel_DnsClientsChanged; LoadConfig(); }
public SubscribeWindow(MainController controller) { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"SubscribeWindow"); Closed += (o, e) => { controller.ConfigChanged -= controller_ConfigChanged; SubscribeWindowViewModel.SubscribesChanged -= SubscribeWindowViewModel_SubscribesChanged; }; _controller = controller; _controller.ConfigChanged += controller_ConfigChanged; LoadCurrentConfiguration(); SubscribeWindowViewModel.SubscribesChanged += SubscribeWindowViewModel_SubscribesChanged; }
public SubscribeWindow(ShadowsocksController controller, UpdateSubscribeManager updateSubscribeManager, UpdateNode updateNodeChecker) { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"SubscribeWindow"); Closed += (o, e) => { controller.ConfigChanged -= controller_ConfigChanged; SubscribeWindowViewModel.SubscribesChanged -= SubscribeWindowViewModel_SubscribesChanged; }; _controller = controller; _updateSubscribeManager = updateSubscribeManager; _updateNodeChecker = updateNodeChecker; _controller.ConfigChanged += controller_ConfigChanged; LoadCurrentConfiguration(); SubscribeWindowViewModel.SubscribesChanged += SubscribeWindowViewModel_SubscribesChanged; }
public ConfigWindow(ShadowsocksController controller, int focusIndex) { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"ConfigWindow"); SizeChanged += (o, args) => { GenQr(LinkTextBox.Text); }; Splitter2.DragDelta += (o, args) => { GenQr(LinkTextBox.Text); }; Closed += (o, e) => { _controller.ConfigChanged -= controller_ConfigChanged; ServerViewModel.ServersChanged -= ServerViewModel_ServersChanged; }; _controller = controller; foreach (var name in from name in EncryptorFactory.GetEncryptor().Keys let info = EncryptorFactory.GetEncryptorInfo(name) where info.display select name) { EncryptionComboBox.Items.Add(name); } foreach (var protocol in Protocols) { ProtocolComboBox.Items.Add(protocol); } foreach (var obfs in ObfsStrings) { ObfsComboBox.Items.Add(obfs); } _controller.ConfigChanged += controller_ConfigChanged; LoadCurrentConfiguration(); ServerViewModel.ServersChanged += ServerViewModel_ServersChanged; if (focusIndex == -1) { var index = _modifiedConfiguration.index + 1; if (index < 0 || index > _modifiedConfiguration.configs.Count) { index = _modifiedConfiguration.configs.Count; } focusIndex = index; } if (focusIndex >= 0 && focusIndex < _modifiedConfiguration.configs.Count) { SetServerListSelectedIndex(focusIndex); } }
private static void Main(string[] args) { Directory.SetCurrentDirectory(Path.GetDirectoryName(Utils.GetExecutablePath()) ?? throw new InvalidOperationException()); var identifier = $@"Global\{Controller.HttpRequest.UpdateChecker.Name}_{Directory.GetCurrentDirectory().GetClassicHashCode()}"; using var singleInstance = new SingleInstanceService(identifier); if (!singleInstance.IsFirstInstance) { singleInstance.PassArgumentsToFirstInstance(args.Length == 0 ? args.Append(Constants.ParameterMultiplyInstance) : args); return; } singleInstance.ArgumentsReceived.Subscribe(SingleInstance_ArgumentsReceived); var app = new Application { ShutdownMode = ShutdownMode.OnExplicitShutdown }; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; app.Exit += App_Exit; Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense(@"##SyncfusionLicense##"); Global.LoadConfig(); I18NUtil.SetLanguage(Global.GuiConfig.LangName); ViewUtils.SetResource(app.Resources, @"../View/NotifyIconResources.xaml", 1); Global.Controller = new MainController(); // Logging Logging.DefaultOut = Console.Out; Logging.DefaultError = Console.Error; Utils.SetTls(); Global.ViewController = new MenuViewController(Global.Controller); SystemEvents.SessionEnding += Global.ViewController.Quit_Click; Global.Controller.Reload(); if (Global.GuiConfig.IsDefaultConfig()) { var res = MessageBox.Show( $@"{I18NUtil.GetAppStringValue(@"DefaultConfigMessage")}{Environment.NewLine}{I18NUtil.GetAppStringValue(@"DefaultConfigQuestion")}", Controller.HttpRequest.UpdateChecker.Name, MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.OK); switch (res) { case MessageBoxResult.Yes: { Global.Controller.ShowConfigForm(); break; } case MessageBoxResult.No: { Global.Controller.ShowSubscribeWindow(); break; } default: { StopController(); return; } } } Reg.SetUrlProtocol(@"ssr"); Reg.SetUrlProtocol(@"sub"); singleInstance.ListenForArgumentsFromSuccessiveInstances(); app.Run(); }
private static void Main(string[] args) { Directory.SetCurrentDirectory(Path.GetDirectoryName(Utils.GetExecutablePath()) ?? throw new InvalidOperationException()); if (args.Contains(Constants.ParameterSetautorun)) { if (!AutoStartup.Switch()) { Environment.ExitCode = 1; } return; } var identifier = $@"Global\{UpdateChecker.Name}_{Directory.GetCurrentDirectory().GetDeterministicHashCode()}"; using var singleInstance = new SingleInstance(identifier); if (!singleInstance.IsFirstInstance) { singleInstance.PassArgumentsToFirstInstance(args.Length == 0 ? args.Append(Constants.ParameterMultiplyInstance) : args); return; } singleInstance.ArgumentsReceived += SingleInstance_ArgumentsReceived; var app = new Application { ShutdownMode = ShutdownMode.OnExplicitShutdown }; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; I18NUtil.SetLanguage(app.Resources, @"App"); ViewUtils.SetResource(app.Resources, @"../View/NotifyIconResources.xaml", 1); SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; app.Exit += App_Exit; var tryTimes = 0; while (Configuration.Load() == null) { if (tryTimes >= 5) { return; } var dlg = new InputPasswordWindow(); if (dlg.ShowDialog() == true) { Configuration.SetPassword(dlg.Password); } else { return; } tryTimes += 1; } _controller = new ShadowsocksController(); HostMap.Instance().LoadHostFile(); // Logging Logging.DefaultOut = Console.Out; Logging.DefaultError = Console.Error; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; _viewController = new MenuViewController(_controller); SystemEvents.SessionEnding += _viewController.Quit_Click; _controller.Start(); Reg.SetUrlProtocol(@"ssr"); Reg.SetUrlProtocol(@"sub"); singleInstance.ListenForArgumentsFromSuccessiveInstances(); app.Run(); }
public ResetPassword() { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"ResetPassword"); OldPassword.Focus(); }
public LogWindow() { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"LogWindow"); }
private static void Main(string[] args) { Directory.SetCurrentDirectory(Path.GetDirectoryName(Utils.GetExecutablePath()) ?? throw new InvalidOperationException()); if (args.Contains(Constants.ParameterSetautorun)) { if (!AutoStartup.Switch()) { Environment.ExitCode = 1; } return; } var identifier = $@"Global\{UpdateChecker.Name}_{Directory.GetCurrentDirectory().GetDeterministicHashCode()}"; using var singleInstance = new SingleInstance(identifier); if (!singleInstance.IsFirstInstance) { singleInstance.PassArgumentsToFirstInstance(args.Length == 0 ? args.Append(Constants.ParameterMultiplyInstance) : args); return; } singleInstance.ArgumentsReceived += SingleInstance_ArgumentsReceived; var app = new Application { ShutdownMode = ShutdownMode.OnExplicitShutdown }; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; app.Exit += App_Exit; Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense(@"##SyncfusionLicense##"); I18NUtil.SetLanguage(Configuration.Load().LangName); ViewUtils.SetResource(app.Resources, @"../View/NotifyIconResources.xaml", 1); _controller = new ShadowsocksController(); // Logging Logging.DefaultOut = Console.Out; Logging.DefaultError = Console.Error; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13 | SecurityProtocolType.Tls12; _viewController = new MenuViewController(_controller); SystemEvents.SessionEnding += _viewController.Quit_Click; // _controller.Reload(); // if (_controller.IsDefaultConfig()) { /* * var res = MessageBox.Show( * $@"{I18NUtil.GetAppStringValue(@"DefaultConfigMessage")}{Environment.NewLine}{I18NUtil.GetAppStringValue(@"DefaultConfigQuestion")}", * UpdateChecker.Name, MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.OK); * switch (res) * { * case MessageBoxResult.Yes: * { * _controller.ShowLoginScreen(); * break; * } * case MessageBoxResult.No: * { * _controller.ShowSubscribeWindow(); * break; * } * default: * { * StopController(); * return; * } * } */ _controller.ShowLoginScreen(); } #if !DEBUG Reg.SetUrlProtocol(@"ssr"); Reg.SetUrlProtocol(@"sub"); #endif singleInstance.ListenForArgumentsFromSuccessiveInstances(); app.Run(); }
public InputPasswordWindow() { InitializeComponent(); I18NUtil.SetLanguage(Resources, @"InputPasswordWindow"); }