private void SessionSwitchHandler(object sender, SessionSwitchEventArgs e) { switch (e.Reason) { case SessionSwitchReason.SessionLock: case SessionSwitchReason.SessionLogoff: case SessionSwitchReason.RemoteDisconnect: case SessionSwitchReason.ConsoleDisconnect: if (gallifrey.StartIdleTimer()) { var openForms = Application.OpenForms.Cast <Form>().ToList(); foreach (var form in openForms.Where(form => form.Name != "MainWindow")) { form.Close(); } } break; case SessionSwitchReason.SessionUnlock: case SessionSwitchReason.SessionLogon: case SessionSwitchReason.RemoteConnect: case SessionSwitchReason.ConsoleConnect: try { BringToFront(); var idleTimerId = gallifrey.StopIdleTimer(); var idleTimer = gallifrey.IdleTimerCollection.GetTimer(idleTimerId); if (idleTimer.IdleTimeValue.TotalSeconds < 60 || idleTimer.IdleTimeValue.TotalHours > 10) { gallifrey.IdleTimerCollection.RemoveTimer(idleTimerId); } else { var lockedTimerWindow = new LockedTimerWindow(gallifrey); lockedTimerWindow.Closed += LockedTimerWindowClosed; if (lockedTimerWindow.DisplayForm) { lockedTimerWindow.BringToFront(); lockedTimerWindow.Show(); } } } catch (NoIdleTimerRunningException) { } break; } }
private void btnIdle_Click(object sender, EventArgs e) { var lockedTimerWindow = new LockedTimerWindow(gallifrey); if (lockedTimerWindow.DisplayForm) { lockedTimerWindow.ShowDialog(); RefreshInternalTimerList(); if (lockedTimerWindow.NewTimerId.HasValue) { SelectTimer(lockedTimerWindow.NewTimerId.Value); } } }
private void SessionSwitchHandler(object sender, SessionSwitchEventArgs e) { switch (e.Reason) { case SessionSwitchReason.SessionLock: case SessionSwitchReason.SessionLogoff: case SessionSwitchReason.RemoteDisconnect: case SessionSwitchReason.ConsoleDisconnect: if (gallifrey.StartIdleTimer()) { var openForms = Application.OpenForms.Cast<Form>().ToList(); foreach (var form in openForms.Where(form => form.Name != "MainWindow")) { form.Close(); } } break; case SessionSwitchReason.SessionUnlock: case SessionSwitchReason.SessionLogon: case SessionSwitchReason.RemoteConnect: case SessionSwitchReason.ConsoleConnect: try { BringToFront(); var idleTimerId = gallifrey.StopIdleTimer(); var idleTimer = gallifrey.IdleTimerCollection.GetTimer(idleTimerId); if (idleTimer.IdleTimeValue.TotalSeconds < 60 || idleTimer.IdleTimeValue.TotalHours > 10) { gallifrey.IdleTimerCollection.RemoveTimer(idleTimerId); } else { var lockedTimerWindow = new LockedTimerWindow(gallifrey); lockedTimerWindow.Closed += LockedTimerWindowClosed; if (lockedTimerWindow.DisplayForm) { lockedTimerWindow.BringToFront(); lockedTimerWindow.Show(); } } } catch (NoIdleTimerRunningException) { } break; } }
private void btnIdle_Click(object sender, EventArgs e) { var lockedTimerWindow = new LockedTimerWindow(gallifrey); if (lockedTimerWindow.DisplayForm) { lockedTimerWindow.ShowDialog(); RefreshInternalTimerList(); if (lockedTimerWindow.NewTimerId.HasValue) { SelectTimer(lockedTimerWindow.NewTimerId.Value); } } }