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); }
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; } } }