Exemplo n.º 1
0
        public void InvalidLogin()
        {
            if (invalidDialog == null)
            {
                invalidDialog = new Dialog("ERROR", "You have entered an invalid username or password!", DialogResult.ok);
            }

            if (!ProcessManager.IsInstanceOpen(invalidDialog.name))
            {
                invalidDialog.exitRequest = false;
                invalidDialog.moving      = false;
                invalidDialog.result      = DialogResult.none;
                ProcessManager.AddWindow(invalidDialog);
            }
        }
Exemplo n.º 2
0
        public Logon() : base("logon")
        {
            this.priority  = ProcessPriority.high;
            this.topMost   = true;
            this.onTaskbar = false;

            // init control manager
            ctrlMgr = new ControlManager();

            // get login data
            if (PMFAT.FileExists(@"0:\config.pmc"))
            {
                string   fileData = PMFAT.ReadText(@"0:\config.pmc");
                string[] lines    = fileData.Split('\n');

                for (int i = 0; i < lines.Length; i++)
                {
                    string[] data = lines[i].Split(',');

                    if (data[0] == "user")
                    {
                        if (data.Length > 1)
                        {
                            username = data[1];
                        }
                    }
                    if (data[0] == "pass")
                    {
                        if (data.Length > 1)
                        {
                            password = data[1];
                        }
                    }
                }
            }

            username = username.Remove(username.Length - 1, 1);

            // init login window
            logonWindow = new LogonWindow();
            ProcessManager.AddWindow(logonWindow);
            logonWindow.txtUser.kbReader.output = username;

            // init invalid dialog
            invalidDialog.name = "InvalidLogin";
        }
Exemplo n.º 3
0
        public override void Update()
        {
            timeLabel.text = Clock.FormattedTime;

            // toggle main menu
            if (menuBtn.down && !menuBtn.clicked)
            {
                menu.visible = !menu.visible; menuBtn.clicked = true;
            }

            // terminal
            if (menu.btnTerminal.down && !menu.btnTerminal.clicked)
            {
                ProcessManager.AddWindow(new Processes.Terminal(64, 64)); menu.btnTerminal.clicked = true; menu.visible = false;
            }

            // about
            if (menu.btnAbout.down && !menu.btnAbout.clicked)
            {
                ProcessManager.AddWindow(new Processes.AboutOS(64, 64)); menu.btnAbout.clicked = true; menu.visible = false;
            }

            // cli
            if (menu.btnCLI.down)
            {
                Kernel.RunTextMode();
            }

            // shutdown result
            if (shutdownDialog.result == DialogResult.yes)
            {
                Sys.Power.Shutdown();
            }
            if (shutdownDialog.result == DialogResult.no)
            {
                shutdownDialog.result = DialogResult.none; shutdownDialog.exitRequest = true;
            }

            // restart result
            if (restartDialog.result == DialogResult.yes)
            {
                Sys.Power.Reboot();
            }
            if (restartDialog.result == DialogResult.no)
            {
                restartDialog.result = DialogResult.none; restartDialog.exitRequest = true;
            }

            // logoff dialog
            if (logoffDialog.result == DialogResult.yes)
            {
                ProcessManager.windows.Clear();
                Kernel.logon = new Logon();
                ProcessManager.AddProcess(Kernel.logon);
                exitRequest = true;
            }
            if (logoffDialog.result == DialogResult.no)
            {
                logoffDialog.result = DialogResult.none; logoffDialog.exitRequest = true;
            }

            // confirm logoff
            if (menu.btnLogoff.down && !menu.btnLogoff.clicked)
            {
                if (!ProcessManager.IsInstanceOpen(logoffDialog.name) && !ProcessManager.IsInstanceOpen(restartDialog.name) && !ProcessManager.IsInstanceOpen(shutdownDialog.name))
                {
                    logoffDialog.exitRequest = false;
                    logoffDialog.moving      = false;
                    logoffDialog.result      = DialogResult.none;
                    ProcessManager.AddWindow(logoffDialog);
                }
                menu.btnLogoff.clicked = true;
                menu.visible           = false;
            }

            // confirm restart
            if (menu.btnRestart.down && !menu.btnRestart.clicked)
            {
                if (!ProcessManager.IsInstanceOpen(logoffDialog.name) && !ProcessManager.IsInstanceOpen(restartDialog.name) && !ProcessManager.IsInstanceOpen(shutdownDialog.name))
                {
                    restartDialog.exitRequest = false;
                    restartDialog.moving      = false;
                    restartDialog.result      = DialogResult.none;
                    ProcessManager.AddWindow(restartDialog);
                }
                menu.btnRestart.clicked = true;
                menu.visible            = false;
            }

            // confirm shutdown
            if (menu.btnOff.down && !menu.btnOff.clicked)
            {
                if (!ProcessManager.IsInstanceOpen(logoffDialog.name) && !ProcessManager.IsInstanceOpen(restartDialog.name) && !ProcessManager.IsInstanceOpen(shutdownDialog.name))
                {
                    shutdownDialog.exitRequest = false;
                    shutdownDialog.moving      = false;
                    shutdownDialog.result      = DialogResult.none;
                    ProcessManager.AddWindow(shutdownDialog);
                }
                menu.btnOff.clicked = true;
                menu.visible        = false;
            }

            // hide menu on click-away
            if (!menu.bounds.Contains(MSPS2.position) && !menuBtn.hover && !menu.hover)
            {
                if (MSPS2.state == Sys.MouseState.Left)
                {
                    menu.visible = false;
                }
            }
        }