コード例 #1
0
        private void menuItem_deletePage_Click(object sender, EventArgs e)
        {
            _isPressedCtrl = false;

            if (SelectedPage == null)
            {
                return;
            }
            if (!MessageBoxUtil.Confirm(Resource.GetString(Key.PageDeleteConfirmMsg)))
            {
                return;
            }
            if (SelectedPage.PageName == "Main")
            {
                MessageBoxUtil.Error(Resource.GetString(Key.PageDeleteErrorMsg));
                return;
            }

            DeletePage(SelectedPage);
            SelectedPage = null;

            var tab = tabControl_pages.SelectedTab;

            if (tab == null)
            {
                return;
            }

            tabControl_pages.TabPages.Remove(tab);
            tab.Dispose();
        }
コード例 #2
0
        private void menuItem_exit_Click(object sender, EventArgs e)
        {
            if (!MessageBoxUtil.Confirm(Resource.GetString(Key.CloseConfirmMsg)))
            {
                return;
            }

            Close();
        }
コード例 #3
0
ファイル: GeneralSetting.cs プロジェクト: vip00112/GTLauncher
        public static async Task <bool> CheckVersionAndUpdate()
        {
            var task = Task.Run(() =>
            {
                System.Threading.Thread.Sleep(2000);
                var currentVersion = Assembly.GetExecutingAssembly().GetName().Version;
                var releaseVersion = GithubUtil.GetLatestVersion("vip00112", "GTLauncher");
                if (currentVersion >= releaseVersion)
                {
                    return(null);
                }

                return(GithubUtil.GetDownloadUrlForLatestAsset("vip00112", "GTLauncher", "GTLauncher*.zip"));
            });

            var needUpdate = await task.ContinueWith((result) =>
            {
                string filePath = Path.Combine(Application.StartupPath, "GTAutoUpdate.exe");
                if (!File.Exists(filePath))
                {
                    return(false);
                }

                string url = result.Result;
                if (string.IsNullOrWhiteSpace(url))
                {
                    return(false);
                }

                int idx = url.LastIndexOf("/");
                if (idx == -1)
                {
                    return(false);
                }

                string fileName = url.Substring(idx + 1);
                string savePath = Path.Combine(Application.StartupPath, fileName);

                string msg = Resource.GetString(Key.NewVersionDownloadConfirmMsg);
                if (!MessageBoxUtil.Confirm(msg))
                {
                    return(false);
                }

                var proc = new Process();
                proc.StartInfo.FileName  = filePath;
                proc.StartInfo.Arguments = string.Format("\"{0}\" \"{1}\"", url, savePath);
                proc.Start();
                return(true);
            }, TaskScheduler.FromCurrentSynchronizationContext());

            return(needUpdate);
        }
コード例 #4
0
        private void LayoutSettingForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!_isSaved)
            {
                string msg = Resource.GetString(Key.CloseWithoutSaveConfirmMsg);
                if (!MessageBoxUtil.Confirm(msg))
                {
                    e.Cancel = true;
                    return;
                }
            }

            LayoutSetting.IsEditMode = false;
        }
コード例 #5
0
ファイル: Manager.cs プロジェクト: vip00112/GTLauncher
        private bool CheckExecuteFile()
        {
            if (!File.Exists(_fileNameExe) || !File.Exists(_fileNameDll) || !File.Exists(_fileNameSys))
            {
                string msg = string.Format(Resource.GetString(Key.DownloadConfirmMsg), "GoodbyeDPI.exe");
                if (!MessageBoxUtil.Confirm(msg))
                {
                    return(false);
                }
                return(DownloadExecuteFile());
            }

            return(true);
        }
コード例 #6
0
        public bool CheckAndDownloadExecuteFile()
        {
            if (!CheckExecuteFile())
            {
                string msg = string.Format(Resource.GetString(Key.DownloadConfirmMsg), "FFmpeg.exe");
                if (!MessageBoxUtil.Confirm(msg))
                {
                    return(false);
                }
                return(DownloadExecuteFile());
            }

            return(true);
        }
コード例 #7
0
ファイル: FrmUpdate.cs プロジェクト: yzwbrian/fy_update
 /// <summary>
 /// 初始化逻辑
 /// </summary>
 protected virtual void InitLogic()
 {
     //定时器
     this.m_RefreshTimer.Interval = INTERVAL_REFRESH;
     this.m_RefreshTimer.Tick    += (sender, e) => this.prgPercentage.Percentage = this.m_Percentage;
     //更新器
     this.m_Updater.Notify         += (sender, e) => this.lblLog.Text = e.Info;
     this.m_Updater.Progress       += (sender, e) => this.m_Percentage = e.ProgressPercentage;
     this.m_Updater.CheckCompleted += (sender, e) =>
     {
         this.IsCheckCompleted = true;
         this.Uptodate         = e.Uptodate;
         if (this.IsCheckMode)
         {
             this.CheckCompleted();
             e.Handled = true;
         }
     };
     this.m_Updater.UpdateCompleted += (sender, e) =>
     {
         ProcessUtil.Start(HostConfig.ExecutablePath);
         this.CloseCore();
     };
     this.m_Updater.Error += (sender, e) =>
     {
         this.lblLog.Text      = e.Error.Message;
         this.btnRetry.Visible = true;
         this.m_RefreshTimer.Stop();
     };
     //界面
     this.lblHeader.MouseDown += (sender, e) => Microsoft.Win32.Util.BeginDrag(this.Handle);
     this.lblFooter.MouseDown += (sender, e) => Microsoft.Win32.Util.BeginDrag(this.Handle);
     this.btnRetry.Click      += (sender, e) =>
     {
         this.btnRetry.Visible = false;
         this.IsCheckCompleted = false;
         this.Uptodate         = false;
         this.m_RefreshTimer.Start();
         this.m_Updater.StartUpdate();
     };
     this.btnCancel.Click += (sender, e) =>
     {
         if (MessageBoxUtil.Confirm("您确定要退出更新?") == DialogResult.OK)
         {
             this.CloseCore();
         }
     };
 }
コード例 #8
0
        private void menuItem_goodbyeDPI_Click(object sender, EventArgs e)
        {
            if (_goodbyedpiManager == null)
            {
                return;
            }

            if (Process.GetProcessesByName("goodbyedpi").Length > 0)
            {
                if (!MessageBoxUtil.Confirm(Resource.GetString(Key.GoodbyeDPICloseConfirmMsg)))
                {
                    return;
                }

                _goodbyedpiManager.Kill();
            }
            else
            {
                _goodbyedpiManager.Start();
            }
        }
コード例 #9
0
        private void menuItem_save_Click(object sender, EventArgs e)
        {
            _isPressedCtrl = false;

            if (!MessageBoxUtil.Confirm(Resource.GetString(Key.LayoutSaveConfirmMsg)))
            {
                return;
            }

            var pages     = new List <Page>();
            var pageItems = new List <PageItem>();

            foreach (TabPage tabPage in tabControl_pages.TabPages)
            {
                var pagesOfControl = tabPage.Controls[0].Controls.OfType <Page>().ToList();
                if (pagesOfControl.Count == 0)
                {
                    continue;
                }

                var page = pagesOfControl[0];
                pages.Add(page.Copy());

                var items = page.PageItems;
                foreach (var item in items)
                {
                    pageItems.Add(item.Copy());
                }
            }

            LayoutSetting.DockMode       = _layout.DockMode;
            LayoutSetting.SizeModeWidth  = _layout.SizeModeWidth;
            LayoutSetting.SizeModeHeight = _layout.SizeModeHeight;
            LayoutSetting.Pages          = pages;
            LayoutSetting.PageItems      = pageItems;

            _isSaved     = true;
            DialogResult = DialogResult.OK;
        }
コード例 #10
0
        private void menuItem_deleteItem_Click(object sender, EventArgs e)
        {
            _isPressedCtrl = false;

            if (SelectedPage == null)
            {
                return;
            }
            if (_ancherItems.Count == 0)
            {
                return;
            }
            if (!MessageBoxUtil.Confirm(Resource.GetString(Key.PageItemDeleteConfirmMsg)))
            {
                return;
            }

            foreach (var item in _ancherItems)
            {
                DeletePageItem(SelectedPage, item);
            }
            ResetAncherItems();
        }
コード例 #11
0
        private void pageButton_back_Click(object sender, EventArgs e)
        {
            if (LayoutSetting.IsEditMode)
            {
                return;
            }

            switch (CloseMode)
            {
            case PageCloseMode.Hide:
                Hide();
                OnHidden?.Invoke(this, EventArgs.Empty);
                break;

            case PageCloseMode.Dispose:
                if (!MessageBoxUtil.Confirm(Resource.GetString(Key.CloseConfirmMsg)))
                {
                    return;
                }

                OnDisposed?.Invoke(this, EventArgs.Empty);
                break;
            }
        }