Example #1
0
 void ConnectManual()
 {
     if (TableServers.SelectedRows.Count == 1)
     {
         ConnectionInfo s = TableServersController.GetRelatedItem((int)TableServers.SelectedRow);
         if (s.CanConnect())
         {
             Engine.NextServer = s;
             Connect();
         }
     }
 }
        public void EnabledUI()
        {
            ConnectionInfo selectedConnection = null;

            if (TableServers.SelectedRowCount == 1)
            {
                selectedConnection = TableServersController.GetRelatedItem((int)TableServers.SelectedRow);
            }

            bool connected = Engine.IsConnected();
            bool waiting   = Engine.IsWaiting();

            if (Engine.Instance.AirVPN != null)
            {
                LblLoginIcon.Hidden = false;
                LblLogin.Hidden     = false;
                TxtLogin.Hidden     = false;
                LblPassword.Hidden  = false;
                TxtPassword.Hidden  = false;
                CmdLogin.Hidden     = false;
                ChkRemember.Hidden  = false;

                bool airvpnLogged = Engine.IsLogged();

                if (airvpnLogged == false)
                {
                    CmdLogin.Title = LanguageManager.GetText("CommandLoginButton");
                }
                else
                {
                    CmdLogin.Title = LanguageManager.GetText("CommandLogout");
                }

                CmdLogin.Enabled = ((waiting == false) && (connected == false) && (TxtLogin.StringValue.Trim() != "") && (TxtPassword.StringValue.Trim() != ""));

                TxtLogin.Enabled    = (airvpnLogged == false);
                TxtPassword.Enabled = (airvpnLogged == false);
                LblKey.Hidden       = ((airvpnLogged == false) || (CboKey.ItemCount < 2));
                CboKey.Hidden       = LblKey.Hidden;
            }
            else
            {
                LblLoginIcon.Hidden = true;
                LblLogin.Hidden     = true;
                TxtLogin.Hidden     = true;
                LblPassword.Hidden  = true;
                TxtPassword.Hidden  = true;
                CmdLogin.Hidden     = true;
                LblKey.Hidden       = true;
                CboKey.Hidden       = true;
                ChkRemember.Hidden  = true;
            }

            ChangeVisibility(this.Window.IsVisible);

            CmdConnect.Enabled = Engine.Instance.CanConnect();

            CmdProviderAdd.Enabled    = true;
            CmdProviderRemove.Enabled = (TableProviders.SelectedRowCount > 0);
            CmdProviderEdit.Enabled   = (TableProviders.SelectedRowCount > 0);

            CmdServersConnect.Enabled   = ((selectedConnection != null) && (selectedConnection.CanConnect()));
            CmdServersWhiteList.Enabled = (TableServers.SelectedRowCount > 0);
            CmdServersBlackList.Enabled = CmdServersWhiteList.Enabled;
            CmdServersUndefined.Enabled = CmdServersWhiteList.Enabled;
            MnuServersConnect.Enabled   = CmdServersConnect.Enabled;
            MnuServersWhitelist.Enabled = CmdServersWhiteList.Enabled;
            MnuServersBlacklist.Enabled = CmdServersBlackList.Enabled;
            MnuServersUndefined.Enabled = CmdServersUndefined.Enabled;

            CmdServersMore.Enabled = (TableServers.SelectedRowCount == 1);
            MnuServersMore.Enabled = CmdServersMore.Enabled;

            CmdServersRename.Enabled = ((selectedConnection != null) && (selectedConnection.Provider is Core.Providers.OpenVPN));
            MnuServersRename.Enabled = CmdServersRename.Enabled;

            CmdAreasWhiteList.Enabled = (TableAreas.SelectedRowCount > 0);
            CmdAreasBlackList.Enabled = CmdAreasWhiteList.Enabled;
            CmdAreasUndefined.Enabled = CmdAreasWhiteList.Enabled;
            MnuAreasWhitelist.Enabled = CmdAreasWhiteList.Enabled;
            MnuAreasBlacklist.Enabled = CmdAreasBlackList.Enabled;
            MnuAreasUndefined.Enabled = CmdAreasUndefined.Enabled;

            CmdLogsCommand.Hidden = (Engine.Storage.GetBool("advanced.expert") == false);

            if (Engine.Instance.NetworkLockManager != null)
            {
                CmdNetworkLock.Hidden = (Engine.Instance.NetworkLockManager.CanEnabled() == false);
                ImgNetworkLock.Hidden = CmdNetworkLock.Hidden;
                if (Engine.Instance.NetworkLockManager.IsActive())
                {
                    CmdNetworkLock.Title = LanguageManager.GetText("NetworkLockButtonActive");
                    ImgNetworkLock.Image = NSImage.ImageNamed("netlock_on.png");

                    LblNetLockStatus.Image   = NSImage.ImageNamed("netlock_status_on.png");
                    LblNetLockStatus.ToolTip = LanguageManager.GetText("NetworkLockStatusActive");
                }
                else
                {
                    CmdNetworkLock.Title = LanguageManager.GetText("NetworkLockButtonDeactive");
                    ImgNetworkLock.Image = NSImage.ImageNamed("netlock_off.png");

                    LblNetLockStatus.Image   = NSImage.ImageNamed("netlock_status_off.png");
                    LblNetLockStatus.ToolTip = LanguageManager.GetText("NetworkLockStatusDeactive");
                }
            }

            if (Engine.Instance.Storage.GetBool("advanced.providers"))
            {
                if (TabMain.Items[1] != TabProviders)
                {
                    TabMain.Insert(TabProviders, 1);
                }
            }
            else
            {
                if (TabMain.Items[1] == TabProviders)
                {
                    TabMain.Remove(TabProviders);
                }
            }
        }