示例#1
0
文件: Engine.cs 项目: gcmcom/Eddie
        public override void OnSystemReport(string step, string text, int perc)
        {
            base.OnSystemReport(step, text, perc);

            if (FormMain != null)
            {
                FormMain.OnSystemReport(step, text, perc);
            }
        }
示例#2
0
文件: UiClient.cs 项目: nir94/Eddie
        public override void OnReceive(Json data)
        {
            base.OnReceive(data);

            string cmd = data["command"].Value as string;

            if (cmd == "test2")
            {
                Forms.WindowMan w = new Forms.WindowMan();                 // ClodoTemp
                w.ShowDialog();
            }
            else if (cmd == "log")
            {
                if (data["type"].Value as string == "fatal")
                {
                    if (SplashWindow != null)
                    {
                        SplashWindow.OnMessageError(data["message"].Value as string);
                    }
                    else if (MainWindow != null)
                    {
                        MainWindow.OnMessageError(data["message"].Value as string);
                    }
                    else
                    {
                        GuiUtils.MessageBoxError(null, data["message"].Value as string);
                    }
                }
            }
            else if (cmd == "init.step")
            {
                if (SplashWindow != null)
                {
                    SplashWindow.SetStatus(data["message"].Value as string);
                }
            }
            else if (cmd == "engine.ui")
            {
                Form.Skin.ClearFontCache();                 // Splash loaded before options

                SplashWindow.RequestMain();
            }
            else if (cmd == "ui.restarted")
            {
                // Hide Splash when waiting elevated subprocess
                SplashWindow.RequestClose();
            }
            else if (cmd == "ui.notification")
            {
                if (MainWindow != null)
                {
                    MainWindow.ShowWindowsNotification(data["level"].Value as string, data["message"].Value as string);
                }
            }
            else if (cmd == "ui.main-status")
            {
                string appIcon       = data["app_icon"].Value as string;
                string appColor      = data["app_color"].Value as string;
                string actionIcon    = data["action_icon"].Value as string;
                string actionCommand = data["action_command"].Value as string;
                string actionText    = data["action_text"].Value as string;
                if (MainWindow != null)
                {
                    MainWindow.SetMainStatus(appIcon, appColor, actionIcon, actionCommand, actionText);
                }
            }
            else if (cmd == "ui.status")
            {
                string textFull  = data["full"].Value as string;
                string textShort = textFull;
                if (data.HasKey("short"))
                {
                    textShort = data["short"].Value as string;
                }
                if (MainWindow != null)
                {
                    MainWindow.SetStatus(textFull, textShort);
                }
            }
            else if (cmd == "ui.updater.available")
            {
                MainWindow.ShowUpdater();
            }
            else if (cmd == "ui.frontmessage")
            {
                if (UiClient.Instance.MainWindow != null)
                {
                    UiClient.Instance.MainWindow.OnFrontMessage(data["message"].Value as Json);
                }
            }
            else if (cmd == "system.report.progress")
            {
                string step = data["step"].Value as string;
                string text = data["body"].Value as string;
                int    perc = Conversions.ToInt32(data["perc"].Value, 0);

                if (MainWindow != null)
                {
                    MainWindow.OnSystemReport(step, text, perc);
                }
            }
        }