bool TermsOfServiceCheck(bool force) { bool show = force; if (show == false) { show = (Engine.Storage.GetBool("gui.tos") == false); } if (show) { WindowTosController tos = new WindowTosController(); tos.Window.ReleasedWhenClosed = true; NSApplication.SharedApplication.RunModalForWindow(tos.Window); tos.Window.Close(); if (tos.Accepted) { Engine.Storage.SetBool("gui.tos", true); return(true); } else { return(false); } } else { return(true); } }
public override void AwakeFromNib() { base.AwakeFromNib(); Window.Title = Constants.Name + " - " + Messages.WindowsSettingsTitle; TableTabsController = new TableTabsController(TableTabs, TabMain); ChkNetLock.Activated += (object sender, EventArgs e) => { if (GuiUtils.GetCheck(ChkNetLock)) { if ((Engine.Instance as UI.Osx.Engine).MainWindow.NetworkLockKnowledge() == false) { GuiUtils.SetCheck(ChkNetLock, false); } } }; TableRoutes.Delegate = new TableRoutingDelegate(this); LblDnsServers.StringValue = Messages.WindowsSettingsDnsServers; TableDnsServers.Delegate = new TableDnsServersDelegate(this); TableAdvancedEvents.Delegate = new TableAdvancedEventsDelegate(this); LblLoggingHelp.StringValue = Messages.WindowsSettingsLoggingHelp; TableRoutingController = new TableRoutingController(this.TableRoutes); TableDnsServersController = new TableDnsServersController(this.TableDnsServers); TableAdvancedEventsController = new TableAdvancedEventsController(this.TableAdvancedEvents); CmdSave.Activated += (object sender, EventArgs e) => { if (Check()) { SaveOptions(); Close(); } }; CmdCancel.Activated += (object sender, EventArgs e) => { Close(); }; // General CmdGeneralTos.Activated += (object sender, EventArgs e) => { WindowTosController tos = new WindowTosController(); tos.Window.ReleasedWhenClosed = true; NSApplication.SharedApplication.RunModalForWindow(tos.Window); tos.Window.Close(); }; CmdResetToDefault.Activated += (object sender, EventArgs e) => { if (Engine.Instance.OnAskYesNo(Messages.ResetSettingsConfirm)) { Engine.Instance.Storage.ResetAll(false); ReadOptions(); Engine.Instance.OnMessageInfo(Messages.ResetSettingsDone); } }; // UI CboUiUnit.RemoveAllItems(); CboUiUnit.AddItem(Messages.WindowsSettingsUiUnit0); CboUiUnit.AddItem(Messages.WindowsSettingsUiUnit1); CboUiUnit.AddItem(Messages.WindowsSettingsUiUnit2); // Protocols CmdProtocolsHelp1.Activated += (object sender, EventArgs e) => { Engine.Instance.Command("ui.show.docs.protocols"); }; CmdProtocolsHelp2.Activated += (object sender, EventArgs e) => { Engine.Instance.Command("ui.show.docs.udp_vs_tcp"); }; ChkProtocolsAutomatic.Activated += (object sender, EventArgs e) => { EnableIde(); }; TableProtocols.Delegate = new TableProtocolsDelegate(this); TableProtocolsController = new TableProtocolsController(this.TableProtocols); // Proxy CboProxyType.RemoveAllItems(); CboProxyType.AddItem("None"); CboProxyType.AddItem("Detect"); CboProxyType.AddItem("Http"); CboProxyType.AddItem("Socks"); CboProxyType.AddItem("Tor"); CmdProxyTorHelp.Activated += (object sender, EventArgs e) => { Engine.Instance.Command("ui.show.docs.tor"); }; CboProxyType.Activated += (object sender, EventArgs e) => { EnableIde(); if (GuiUtils.GetSelected(CboProxyType) == "Tor") { TxtProxyPort.StringValue = "9150"; } else { TxtProxyPort.StringValue = "8080"; } }; CboProxyAuthentication.Activated += (object sender, EventArgs e) => { EnableIde(); }; CmdProxyTorTest.Activated += (object sender, EventArgs e) => { string result = TorControl.Test(TxtProxyHost.StringValue, Conversions.ToInt32(TxtProxyTorControlPort.StringValue), TxtProxyTorControlPassword.StringValue); GuiUtils.MessageBox(result); }; // Routes CboRoutesOtherwise.RemoveAllItems(); CboRoutesOtherwise.AddItem(RouteDirectionToDescription("in")); CboRoutesOtherwise.AddItem(RouteDirectionToDescription("out")); CboRoutesOtherwise.Activated += (object sender, EventArgs e) => { EnableIde(); }; TableRoutes.DoubleClick += (object sender, EventArgs e) => { RouteEdit(); }; CmdRouteAdd.Activated += (object sender, EventArgs e) => { RouteAdd(); }; CmdRouteRemove.Activated += (object sender, EventArgs e) => { RouteRemove(); }; CmdRouteEdit.Activated += (object sender, EventArgs e) => { RouteEdit(); }; // Advanced - General CmdAdvancedHelp.Activated += (object sender, EventArgs e) => { Engine.Instance.Command("ui.show.docs.advanced"); }; CboIpV6.RemoveAllItems(); CboIpV6.AddItem("None"); CboIpV6.AddItem("Disable"); CboAdvancedManifestRefresh.RemoveAllItems(); CboAdvancedManifestRefresh.AddItem("Automatic"); CboAdvancedManifestRefresh.AddItem("Never"); CboAdvancedManifestRefresh.AddItem("Every minute"); CboAdvancedManifestRefresh.AddItem("Every ten minute"); CboAdvancedManifestRefresh.AddItem("Every one hour"); LblOpenVpnRcvBuf.StringValue = Messages.WindowsSettingsOpenVpnRcvBuf + ":"; LblOpenVpnSndBuf.StringValue = Messages.WindowsSettingsOpenVpnSndBuf + ":"; CboOpenVpnRcvBuf.RemoveAllItems(); CboOpenVpnRcvBuf.AddItem(Messages.Automatic); CboOpenVpnRcvBuf.AddItem(Messages.WindowsSettingsOpenVpnDefault); CboOpenVpnRcvBuf.AddItem("8 KB"); CboOpenVpnRcvBuf.AddItem("16 KB"); CboOpenVpnRcvBuf.AddItem("32 KB"); CboOpenVpnRcvBuf.AddItem("64 KB"); CboOpenVpnRcvBuf.AddItem("128 KB"); CboOpenVpnRcvBuf.AddItem("256 KB"); CboOpenVpnRcvBuf.AddItem("512 KB"); CboOpenVpnSndBuf.RemoveAllItems(); CboOpenVpnSndBuf.AddItem(Messages.Automatic); CboOpenVpnSndBuf.AddItem(Messages.WindowsSettingsOpenVpnDefault); CboOpenVpnSndBuf.AddItem("8 KB"); CboOpenVpnSndBuf.AddItem("16 KB"); CboOpenVpnSndBuf.AddItem("32 KB"); CboOpenVpnSndBuf.AddItem("64 KB"); CboOpenVpnSndBuf.AddItem("128 KB"); CboOpenVpnSndBuf.AddItem("256 KB"); CboOpenVpnSndBuf.AddItem("512 KB"); CmdAdvancedOpenVpnPath.Activated += (object sender, EventArgs e) => { GuiUtils.SelectFile(this.Window, TxtAdvancedOpenVpnPath); }; // Advanced - DNS TableDnsServers.DoubleClick += (object sender, EventArgs e) => { DnsServersEdit(); }; CmdDnsAdd.Activated += (object sender, EventArgs e) => { DnsServersAdd(); }; CmdDnsRemove.Activated += (object sender, EventArgs e) => { DnsServersRemove(); }; CmdDnsEdit.Activated += (object sender, EventArgs e) => { DnsServersEdit(); }; // Advanced - Net Lock CmdLockHelp.Activated += (object sender, EventArgs e) => { Engine.Instance.Command("ui.show.docs.lock"); }; CboLockMode.RemoveAllItems(); CboLockMode.AddItem("None"); CboLockMode.AddItem("Automatic"); foreach (NetworkLockPlugin lockPlugin in Engine.Instance.NetworkLockManager.Modes) { CboLockMode.AddItem(lockPlugin.GetName()); } LblRoutesNetworkLockWarning.StringValue = Messages.WindowsSettingsRouteLockHelp; LblLockRoutingOutWarning.StringValue = Messages.NetworkLockNotAvailableWithRouteOut; // Advanced - Logging TxtLoggingPath.Changed += (object sender, EventArgs e) => { RefreshLogPreview(); }; // Directives CboOpenVpnDirectivesSkipDefault.RemoveAllItems(); CboOpenVpnDirectivesSkipDefault.AddItem(Messages.WindowsSettingsOpenVpnDirectivesDefaultSkip1); CboOpenVpnDirectivesSkipDefault.AddItem(Messages.WindowsSettingsOpenVpnDirectivesDefaultSkip2); CmdOpenVpnDirectivesHelp.Activated += (object sender, EventArgs e) => { Engine.Instance.Command("ui.show.docs.directives"); }; // Advanced - Events TableAdvancedEvents.DoubleClick += (object sender, EventArgs e) => { AdvancedEventEdit(); }; CmdAdvancedEventsEdit.Activated += (object sender, EventArgs e) => { AdvancedEventEdit(); }; CmdAdvancedEventsClear.Activated += (object sender, EventArgs e) => { AdvancedEventClear(); }; ReadOptions(); EnableIde(); RefreshLogPreview(); }