Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
 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);
         }
     }
 }