Exemplo n.º 1
0
        public void showViaToast(ToastForm myForm, String track, String artist)
        {
            myForm.setArtist(artist);
            myForm.setTrack(track);
            myForm.setAlbum("");
            myForm.setAlbumImage(spotifytoaster.Properties.Resources.album_missing);

            // Attempt to load additional information about the track
            if (albumInfo.loadAlbumInfoAsync(artist, track))
            {
                // Set Album Title if we have one
                if (!string.IsNullOrEmpty(albumInfo.getAlbumTitle()))
                {
                    myForm.setAlbum(albumInfo.getAlbumTitle());
                }

                // Set Album Image URL if we have one
                if (!string.IsNullOrEmpty(albumInfo.getAlbumImageURL()))
                {
                    myForm.setAlbumImageUrl(albumInfo.getAlbumImageURL());
                }

                // Add Track Number to the title if we have one
                if (null != albumInfo.getTrackNumber())
                {
                    myForm.setTrack($"{albumInfo.getTrackNumber()}. {track}");
                }
            }

            myForm.Show();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Displays a toast message centered in the parent form.
        /// </summary>
        /// <param name="message">message to display</param>
        /// <param name="timeout">how long to display</param>
        public static void Toast(String message, int timeout = 2000)
        {
            var toast = new ToastForm(message, timeout);
            var panel = Context.AppPanelManager.GetCurrentPanel() as Form;

            toast.StartPosition = FormStartPosition.CenterParent;
            toast.ShowDialog(panel);
        }
Exemplo n.º 3
0
 private void button5_Click(object sender, EventArgs e)
 {
     str = "一二三四五六七八九十";
     str = str + str + str + str + str + str + str + str + str + str + str
           + str + str + str + str + str + str + str + str + str + str
           + str + str + str + str + str + str + str + str + str + str;
     ToastForm.Display("中车四方终端准入系统提示", str, ToastType.info, null, 10);
 }
Exemplo n.º 4
0
        public void Toast(string s = "")
        {
            if (_ToastForm == null || _ToastForm.IsDisposed)
            {
                _ToastForm = new ToastForm(this);
            }

            _ToastForm.Toast(s);
        }
Exemplo n.º 5
0
    //Constructor for NameChangeTracker
    public NameChangeTracker(ToastForm myForm)
    {
        NameChangeTracker.myForm = myForm;
        psi    = new ProcessInformation();
        tmd    = new TrackMetadata();
        notify = new Notify();
        //Console.WriteLine(psi.getSpotifyPID());

        // Listen for name change changes for spotify(check pid!=0).
        hWinEventHook = SetWinEventHook(0x0800c, 0x800c, IntPtr.Zero, procDelegate, Convert.ToUInt32(psi.getSpotifyPID()), 0, 0);
        // Listen for create window event across all processes/threads on current desktop.(check pid=0)
        hWinEventHook_start = SetWinEventHook(0x00008000, 0x00008000, IntPtr.Zero, procDelegate_start, 0, 0, 0);
    }
Exemplo n.º 6
0
 /// <summary>
 /// 显示弹框
 /// </summary>
 /// <param name="title">标题</param>
 /// <param name="text">内容</param>
 /// <param name="type">类型</param>
 /// <param name="second">显示秒数</param>
 /// <param name="clickAction">点击事件</param>
 public static void Show(string title, string text,
                         ToastForm.ToastType type = ToastForm.ToastType.info,
                         short second             = 5, Action clickAction = null)
 {
     try
     {
         MainUI.Invoke(new Action(() =>
         {
             ToastForm.Display(title, text, ToastForm.ToastType.info, clickAction, second);
         }));
     }
     catch { }
 }
Exemplo n.º 7
0
 /// <summary>
 /// Closing the exit message form
 /// </summary>
 public static void ExitMessageClose()
 {
     if (_exitMessageToastForm != null)
     {
         try
         {
             _exitMessageToastForm.Close();
             _exitMessageToastForm = null;
         }
         catch
         {
         }
     }
 }
Exemplo n.º 8
0
        private void button2_Click(object sender, EventArgs e)
        {
            var result = CMDServiceTool.Uninstall("AccessSecurity.Service",
                                                  new WindowsAccountModel("", "administrator", "yzy"));

            if (result)
            {
                ToastForm.Display("卸载服务", "成功");
            }
            else
            {
                ToastForm.Display("卸载服务", "失败", ToastForm.ToastType.error);
            }
        }
Exemplo n.º 9
0
 /// <summary>
 /// Displays message that the app is exiting
 /// </summary>
 public static void ExitMessageShow()
 {
     if (_exitMessageToastForm == null)
     {
         try
         {
             _exitMessageToastForm = new ToastForm(R.GetString("ExitingACAT"), -1);
             Windows.SetWindowPosition(_exitMessageToastForm, Windows.WindowPosition.CenterScreen);
             _exitMessageToastForm.Show();
         }
         catch
         {
         }
     }
 }
Exemplo n.º 10
0
        private void 保存屏幕ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Bitmap screen = null;

            try
            {
                string file = DirTool.Combine(R.Paths.App, DateTimeConvert.CompactString(DateTime.Now) + ".jpg");
                screen = ScreenCapture.Capture();
                screen.Save(file, System.Drawing.Imaging.ImageFormat.Jpeg);
                ToastForm.Display("保存", "保存屏幕成功:" + Path.GetFileName(file), ToastForm.ToastType.info);
            }
            catch { ToastForm.Display("保存", "保存屏幕失败", ToastForm.ToastType.error); }
            finally
            {
                screen?.Dispose();
            }
        }
Exemplo n.º 11
0
        private static void ShowNextMsg()
        {
            if (QueueMsg.Count <= 0)
            {
                IsBusy = false;
                return;
            }
            ToastMsg  tm = QueueMsg.Dequeue();
            ToastForm tf = new ToastForm(tm.Content, tm.Delay, tm.Context);

            tf.TopMost = true;
            tf.Show();
            tf.FormClosed += (s, e) =>
            {
                ShowNextMsg();
            };
        }
Exemplo n.º 12
0
            /// <summary>
            /// 用户手动触发提示框
            /// </summary>
            /// <param name="title"></param>
            /// <param name="text"></param>
            /// <param name="type"></param>
            /// <param name="time"></param>
            public static void Show(string title, string text, char type = 'i', int time = 5000, Action clickAction = null)
            {
                try
                {
                    MainUI.Invoke(new Action(() =>
                    {
                        //ToolTipIcon icon = ToolTipIcon.Info;
                        //if (type == 'e') icon = ToolTipIcon.Error;
                        //if (type == 'w') icon = ToolTipIcon.Warning;
                        //NIMainNotify.ShowBalloonTip(time, title, text, icon);

                        ToastForm.Display(title, text, type, time, clickAction);
                    }));
                    R.Log.V($"弹出Tost:{title},持续:{time} ms");
                }
                catch { }
            }
Exemplo n.º 13
0
        /// <summary>
        /// Create a new toast.
        /// </summary>
        /// <param name="text"></param>
        /// <param name="color">Background color</param>
        /// <param name="duration">Toast duration (0 is infinite)</param>
        /// <param name="onClose">On close callback</param>
        /// <returns></returns>
        public static int Create(string text, Color color, int duration = 3000, Action onClose = null)
        {
            var form      = new ToastForm(text, color, duration, index++);
            var currentId = counter++;

            form.FormClosed += (sender, e) =>
            {
                index--;
                toasts.Remove(currentId);

                onClose?.Invoke();
            };

            form.Show();
            toasts.Add(currentId, form);

            return(currentId);
        }
Exemplo n.º 14
0
        /// <summary>
        /// User selected a language from the list.  If reqd,
        /// ask the user to confirm the switch
        /// </summary>
        /// <param name="cultureInfo">Cultureinfo of the language selected</param>
        /// <returns>true on success</returns>
        private void onLanguageSelected(CultureInfo cultureInfo)
        {
            if (DialogUtils.ConfirmScanner(String.Format(R.GetString("ConfirmSwitchLanguage"), cultureInfo.DisplayName)))
            {
                Windows.SetVisible(this, false);

                var toastForm = new ToastForm(R.GetString("PleaseWait"), -1);
                Windows.SetWindowPosition(toastForm, Windows.WindowPosition.CenterScreen);
                toastForm.Show();

                Invoke(new MethodInvoker(delegate
                {
                    Context.ChangeCulture(cultureInfo);
                }));

                toastForm.Close();

                var prefs = ACATPreferences.Load();
                prefs.Language = cultureInfo.Name;
                prefs.Save();

                Windows.CloseAsync(this);
            }
        }
Exemplo n.º 15
0
        /// <summary>
        /// 根据工程设置启动服务
        /// </summary>
        /// <returns></returns>
        private void Start()
        {
            StatusUI(WorkStatus.正在启动);
            StartTime = DateTime.Now;

            //端口号是0,玩个蛋
            if (Project.Port == 0)
            {
                ToastForm.Display("启动失败", $"没有为 {Project.Name} 工程配置正儿八经的端口号", 'e', 5000);
                StatusUI(WorkStatus.启动失败);
                return;
            }
            if (!(ListTool.HasElements(Project.Versions) && Project.CurrentVersion != 0 && Project.LastVersion != 0))
            {
                //不存在版本或错误的版本(版本为0),不启动工程
                ToastForm.Display("启动失败", $"没有发现 {Project.Name} 工程的相关文件", 'e', 5000);
                StatusUI(WorkStatus.启动失败);
                return;
            }

            //存在版本,准备启动
            Task.Factory.StartNew(() =>
            {
                string cmd = $"java -jar {Project.Parameter} \"{JarFileTool.GetFilePath(Project)}\"";
                CMDProcessTool.Execute(cmd,
                                       new Action <string>((s) =>
                {
                    if (ConsoleCodeTool.IsLunchSuccess(s))
                    {
                        R.Log.i(s);
                        StatusUI(WorkStatus.启动成功);
                        Invoke(new Action(() =>
                        {
                            ToastForm.Display("启动成功", $"启动 {Project.Name} 工程成功", 'i', 5000);
                        }));
                    }

                    string log = ConsoleCodeTool.GetLogInfo(s);
                    if (!string.IsNullOrWhiteSpace(log))
                    {
                        R.Log.v(log);
                    }

                    //输出到窗口
                    if (ConsoleForm != null && !ConsoleForm.IsDisposed && ConsoleForm.Visible == true)
                    {
                        ConsoleForm.AddToQueue(s);
                    }
                }));

                if (Status == WorkStatus.启动成功 || Status == WorkStatus.端口占用 || Status == WorkStatus.正在关闭)
                {
                    StatusUI(WorkStatus.正在关闭);
                    Stop();
                }
                else
                {
                    StatusUI(WorkStatus.启动失败);
                }
            });
        }
Exemplo n.º 16
0
 private void button4_Click(object sender, EventArgs e)
 {
     ToastForm.Display("中车四方终端准入系统提示", "一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六", ToastType.info, null, 10);
 }
Exemplo n.º 17
0
 private void button1_Click(object sender, EventArgs e)
 {
     ToastForm.Display("中车四方终端准入系统提示", "系统自动检测发现故障,由于准入系统认证组件工作异常,导致无法正常访问网络,需要进行尝试修复,请点击此提示系统自动修复,修复成功后请尝试登录。", ToastType.info, null, 10);
 }
Exemplo n.º 18
0
 private void 浏览运行目录ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     ExplorerAPI.ExplorerFile(JarFileTool.GetFilePath(Project));
     ToastForm.Display("浏览", $"正在打开运行目录,请稍候...", 'i', 5000);
 }
Exemplo n.º 19
0
 private void 浏览装载目录ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     ExplorerAPI.ExplorerFile(R.Files.NewStorageReadme);
     ToastForm.Display("浏览", $"正在打开装载目录,请稍候...", 'i', 5000);
 }
Exemplo n.º 20
0
 private void BTOpenNewStorage_Click(object sender, EventArgs e)
 {
     ExplorerAPI.Open(R.Paths.NewStorage);
     ToastForm.Display("正在打开", $"正在打开添加新工程的仓库文件夹,请稍候...", 'i', 5000);
 }
Exemplo n.º 21
0
        /// <summary>
        /// 装载新版本工程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BTAddNew_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(Project.Folder) && !string.IsNullOrWhiteSpace(Project.JarFile))
            {
                //查询New仓库中,该工程的新版本
                string newPath = JarFileTool.GetNewPath(Project);
                if (Directory.Exists(newPath) && File.Exists(DirTool.Combine(newPath, Project.JarFile)))
                {
                    try
                    {
                        ToastForm.Display("装载中", $"正在装载 {Project.Name} 的新版本...", 'i', 5000);
                        //移动文件到发布仓库中
                        string aimPath = DirTool.Combine(R.Paths.PublishStorage, Project.Folder);                   //组合目标路径
                        DirTool.Create(aimPath);                                                                    //创建目标路径
                        if (Directory.Exists(DirTool.Combine(aimPath, (Project.LastVersion + 1).ToString())))       //如果存在目标文件夹
                        {
                            Directory.Delete(DirTool.Combine(aimPath, (Project.LastVersion + 1).ToString()), true); //删除目标文件夹(防止重复)
                        }
                        Directory.Move(newPath, DirTool.Combine(aimPath, (Project.LastVersion + 1).ToString()));    //开始移动
                                                                                                                    //添加新版本信息
                        Project.LastVersion++;
                        Project.CurrentVersion = Project.LastVersion;
                        ProjectVersionModel version = new ProjectVersionModel()
                        {
                            CreateTime = DateTime.Now,
                            Number     = Project.LastVersion,
                        };
                        if (Project.Versions == null)
                        {
                            Project.Versions = new List <ProjectVersionModel>();
                        }
                        Project.Versions.Add(version);
                        ToastForm.Display("装载成功", $"成功装载 {Project.Name} 的新版本", 'i', 5000);
                    }
                    catch
                    {
                        ToastForm.Display("装载失败", $"装载 {Project.Name} 的新版本失败", 'e', 5000);
                    }
                }
                else
                {
                    //没有发现新版本,不做处理
                    ToastForm.Display("装载失败", $"没有发现 {Project.Name} 的新版本", 'w', 5000);
                }
            }
            else
            {
                //没有工程配置信息,不做处理
                ToastForm.Display("装载失败", $"没有发现工程的配置信息", 'e', 5000);
            }

            //清除多余版本
            if (Project.VersionCache > 0 &&
                !string.IsNullOrWhiteSpace(Project.Folder) &&
                ListTool.HasElements(Project.Versions))
            {
                if (Project.Versions.Count > Project.VersionCache)
                {
                    List <ProjectVersionModel> _tempVers = Project.Versions.OrderByDescending(x => x.CreateTime).ToList();
                    List <ProjectVersionModel> _newVers  = new List <ProjectVersionModel>();
                    for (int i = 0; i < Project.VersionCache; i++)
                    {
                        _newVers.Add(_tempVers[i]);
                    }
                    for (int i = Project.VersionCache; i < Project.Versions.Count; i++)
                    {
                        string path = DirTool.Combine(R.Paths.PublishStorage, Project.Folder, (_tempVers[i].Number).ToString());
                        try
                        {
                            //如果文件夹存在,则删除文件夹及内容
                            if (Directory.Exists(path))
                            {
                                Directory.Delete(path, true);
                            }
                        }
                        catch
                        {
                            //如果删除失败,则继续保留该版本,等待下次继续删除
                            _newVers.Add(_tempVers[i]);
                        }
                    }
                    Project.Versions = _newVers;
                }
            }

            //重置项目信息
            SetProject(Project);
        }