예제 #1
0
        internal static void UpdateTrayIcon(ServiceState state, MainViewModel.PauseStatusEnum pauseStatus)
        {
            if (pauseStatus != MainViewModel.PauseStatusEnum.Resumed)
            {
                TrayIcon.Icon = IVPN.Properties.Resources.disconnected;
            }
            else
            {
                switch (state)
                {
                case ServiceState.Connecting:
                case ServiceState.ReconnectingOnService:
                case ServiceState.ReconnectingOnClient:
                    TrayIcon.Icon = IVPN.Properties.Resources.connecting;
                    break;

                case ServiceState.Connected:
                    TrayIcon.Icon = IVPN.Properties.Resources.connected;
                    UpdateConnectionProgressString("Connected");

                    break;

                case ServiceState.Uninitialized:
                case ServiceState.Disconnected:
                    TrayIcon.Icon = IVPN.Properties.Resources.disconnected;
                    UpdateConnectionProgressString("Disconnected");
                    break;
                }
            }

            RefreshTrayMenuItems(state == ServiceState.Connected, pauseStatus);
        }
예제 #2
0
        public static void RefreshTrayMenuItems(bool isConnected, MainViewModel.PauseStatusEnum pauseStatus)
        {
            __MenuItemConnectToLastServer.Visible = !isConnected;
            __MenuItemDisconnect.Visible          = isConnected;

            __MenuItemPause.Visible  = false;
            __MenuItemResume.Visible = false;
            if (isConnected)
            {
                switch (pauseStatus)
                {
                case MainViewModel.PauseStatusEnum.Paused:
                    __MenuItemResume.Visible = true;
                    break;

                case MainViewModel.PauseStatusEnum.Resumed:
                    __MenuItemPause.Visible = true;
                    break;
                }
            }
        }