示例#1
0
        private void MetroWindow_Closing(object sender, CancelEventArgs e)
        {
            ServerCheckThread?.Abort(); //a join would not work, so we have to be..forcefully...
            var  lastOpenFiles = new List <string>();
            var  editors       = GetAllEditorElements();
            bool?SaveUnsaved   = null;

            if (editors != null)
            {
                foreach (var editor in editors)
                {
                    if (File.Exists(editor.FullFilePath))
                    {
                        lastOpenFiles.Add(editor.FullFilePath);
                        if (editor.NeedsSave)
                        {
                            if (SaveUnsaved == null)
                            {
                                var result = MessageBox.Show(this, Program.Translations.GetLanguage("SavingUFiles"),
                                                             Program.Translations.GetLanguage("Saving"), MessageBoxButton.YesNo,
                                                             MessageBoxImage.Question);
                                SaveUnsaved = result == MessageBoxResult.Yes;
                            }

                            if (SaveUnsaved.Value)
                            {
                                editor.Close(true);
                            }
                            else
                            {
                                editor.Close(false, false);
                            }
                        }
                        else
                        {
                            editor.Close(false, false);
                        }
                    }
                }
            }

            Program.OptionsObject.LastOpenFiles = lastOpenFiles.ToArray();

            Program.discordClient.Dispose();
#if !DEBUG
            if (Program.UpdateStatus.IsAvailable)
            {
                var updateWin = new UpdateWindow(Program.UpdateStatus)
                {
                    Owner = this
                };
                updateWin.ShowDialog();
            }
#endif
        }
        /// <summary>
        /// Stops the timer and shows the <see cref="UpdateWindow"/>
        /// </summary>
        private void UpdateTimer_Tick(object sender, EventArgs e)
        {
            if (updateTimer != null)
            {
                updateTimer.Stop();
                updateTimer.Tick -= UpdateTimer_Tick;
            }

            UpdateWindow updateWindow = new UpdateWindow();

            updateWindow.ShowDialog();
        }
示例#3
0
        private void Update_Click(object sender, RoutedEventArgs e)
        {
            if (SelectedStaff is null)
            {
                MessageBox.Show("Please select row");
                return;
            }
            var          staff1 = _context.Staffs.FirstOrDefault(s => s.Id == SelectedStaff.Id);
            UpdateWindow w1     = new UpdateWindow(staff1);

            w1.ShowDialog();
        }
示例#4
0
        private async void UpdateCheck_Click(object sender, RoutedEventArgs e)
        {
            var updatingWindow = await this.ShowProgressAsync(Program.Translations.GetLanguage("CheckingUpdates") + "...", "", false, MetroDialogOptions);

            updatingWindow.SetIndeterminate();

            await UpdateCheck.Check();

            var status = Program.UpdateStatus;

            if (status.IsAvailable)
            {
                await updatingWindow.CloseAsync();

                var uWindow = new UpdateWindow(status)
                {
                    Owner = this
                };
                uWindow.ShowDialog();
                if (uWindow.Succeeded)
                {
                    Command_SaveAll();
                    lock (Program.UpdateStatus)
                    {
                        Program.UpdateStatus.WriteAble   = false;
                        Program.UpdateStatus.IsAvailable = false;
                    }

                    Close();
                }
            }
            else
            {
                await updatingWindow.CloseAsync();

                if (status.GotException)
                {
                    await this.ShowMessageAsync(Program.Translations.GetLanguage("FailedCheck"),
                                                Program.Translations.GetLanguage("ErrorUpdate") + Environment.NewLine +
                                                $"{Program.Translations.GetLanguage("Details")}: " + status.ExceptionMessage
                                                , MessageDialogStyle.Affirmative, MetroDialogOptions);
                }
                else
                {
                    await this.ShowMessageAsync(Program.Translations.GetLanguage("VersUpToDate"),
                                                string.Format(Program.Translations.GetLanguage("VersionYour"),
                                                              Assembly.GetEntryAssembly()?.GetName().Version)
                                                , MessageDialogStyle.Affirmative, MetroDialogOptions);
                }
            }
        }
        private void OpenUpdater(object sender, RoutedEventArgs e)
        {
            var pname = Process.GetProcessesByName("spartan");

            if (pname.Length > 0)
            {
                GenericMessageDialog.Show(Properties.Resources.GameAlreadyRunningError, DialogIcon.Error, DialogOptions.Ok);
                return;
            }

            var updater = new UpdateWindow();

            updater.Owner = Window.GetWindow(this);
            updater.ShowDialog();
        }
示例#6
0
        private void Update_Click(object sender, RoutedEventArgs e)
        {
            var version = Application.Current.MainWindow.GetType()
                          .Assembly
                          .GetCustomAttribute <AssemblyInformationalVersionAttribute>()
                          .InformationalVersion;
            var verCheck = new VersionCheck(version, AppSettings.Default.PackageUrl);

            if (verCheck.DoesUpdateExist && (AppSettings.Default.IncludePrereleaseVersions || verCheck.LastestVersionIsPrerelease == false))
            {
                var myWindow = Window.GetWindow(this);
                var win      = new UpdateWindow(verCheck);
                WpfHelper.SetWindowSettings(myWindow);
                win.ShowDialog();
            }
            else
            {
                System.Windows.Forms.MessageBox.Show($"You have the latest version of Plugin Manager, version {version}", "Version Check");
            }
        }
示例#7
0
        public static void UpdateLoader(Tuple <bool, string> versionCheckResult)
        {
            try
            {
                if (File.Exists(SetupFile))
                {
                    Thread.Sleep(1000);
                    File.Delete(SetupFile);
                }
            }
            catch
            {
                MessageBox.Show(Utility.GetMultiLanguageText("FailedToDelete"));
                Environment.Exit(0);
            }

            if (versionCheckResult.Item1)
            {
                var window = new UpdateWindow();
                window.UpdateUrl = versionCheckResult.Item2;
                window.ShowDialog();
            }
        }
        private void UpdateCheck_Click(object sender, RoutedEventArgs e)
        {
            UpdateCheck.Check(false);
            var status = Program.UpdateStatus;

            if (status.IsAvailable)
            {
                UpdateWindow uWindow = new UpdateWindow(status)
                {
                    Owner = this
                };
                uWindow.ShowDialog();
                if (uWindow.Succeeded)
                {
                    Command_SaveAll();
                    lock (Program.UpdateStatus)
                    {
                        Program.UpdateStatus.WriteAble   = false;
                        Program.UpdateStatus.IsAvailable = false;
                    }
                    this.Close();
                }
            }
            else
            {
                if (status.GotException)
                {
                    this.ShowMessageAsync("Failed to check", "Error while checking for updates." + Environment.NewLine + "Details: " + status.ExceptionMessage
                                          , MessageDialogStyle.Affirmative, this.MetroDialogOptions);
                }
                else
                {
                    this.ShowMessageAsync("Version up to date", "Your program version " + Assembly.GetEntryAssembly().GetName().Version.ToString() + " is up to date."
                                          , MessageDialogStyle.Affirmative, this.MetroDialogOptions);
                }
            }
        }
示例#9
0
        private void UpdateCheck_Click(object sender, RoutedEventArgs e)
        {
            UpdateCheck.Check(false);
            var status = Program.UpdateStatus;

            if (status.IsAvailable)
            {
                UpdateWindow uWindow = new UpdateWindow(status)
                {
                    Owner = this
                };
                uWindow.ShowDialog();
                if (uWindow.Succeeded)
                {
                    Command_SaveAll();
                    lock (Program.UpdateStatus)
                    {
                        Program.UpdateStatus.WriteAble   = false;
                        Program.UpdateStatus.IsAvailable = false;
                    }
                    this.Close();
                }
            }
            else
            {
                if (status.GotException)
                {
                    this.ShowMessageAsync(Program.Translations.FailedCheck, Program.Translations.ErrorUpdate + Environment.NewLine + $"{Program.Translations.Details}: " + status.ExceptionMessage
                                          , MessageDialogStyle.Affirmative, this.MetroDialogOptions);
                }
                else
                {
                    this.ShowMessageAsync(Program.Translations.VersUpToDate, string.Format(Program.Translations.VersionYour, Assembly.GetEntryAssembly().GetName().Version.ToString())
                                          , MessageDialogStyle.Affirmative, this.MetroDialogOptions);
                }
            }
        }
示例#10
0
        private void MetroWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (backgroundParserThread != null)
            {
                backgroundParserThread.Abort();
            }
            if (parseDistributorTimer != null)
            {
                parseDistributorTimer.Stop();
            }
            if (ServerCheckThread != null)
            {
                ServerCheckThread.Abort(); //a join would not work, so we have to be..forcefully...
            }
            List <string> lastOpenFiles = new List <string>();

            EditorElement[] editors     = GetAllEditorElements();
            bool?           SaveUnsaved = null;

            if (editors != null)
            {
                for (int i = 0; i < editors.Length; ++i)
                {
                    if (File.Exists(editors[i].FullFilePath))
                    {
                        lastOpenFiles.Add(editors[i].FullFilePath);
                        if (editors[i].NeedsSave)
                        {
                            if (SaveUnsaved == null)
                            {
                                var result = MessageBox.Show(this, Program.Translations.SavingUFiles, Program.Translations.Saving, MessageBoxButton.YesNo, MessageBoxImage.Question);
                                if (result == MessageBoxResult.Yes)
                                {
                                    SaveUnsaved = true;
                                }
                                else
                                {
                                    SaveUnsaved = false;
                                }
                            }
                            if (SaveUnsaved.Value)
                            {
                                editors[i].Close(true, true);
                            }
                            else
                            {
                                editors[i].Close(false, false);
                            }
                        }
                        else
                        {
                            editors[i].Close(false, false);
                        }
                    }
                }
            }
            Program.OptionsObject.LastOpenFiles = lastOpenFiles.ToArray();
#if !DEBUG
            if (Program.UpdateStatus.IsAvailable)
            {
                UpdateWindow updateWin = new UpdateWindow(Program.UpdateStatus)
                {
                    Owner = this
                };
                updateWin.ShowDialog();
            }
#endif
        }
        private void MenuUpdate_Click(object sender, RoutedEventArgs e)
        {
            UpdateWindow window = new UpdateWindow();

            window.ShowDialog();
        }
        private void ExitProcessing()
        {
            if (check.IsAvailableUpdate)
            {

                UpdateWindow updatewin = new UpdateWindow();
                updatewin.initSmartUpdate(new AppInfo(this));
                bool result = (bool)updatewin.ShowDialog();

                if (result == true)
                {

                }
                else if (result == false)
                {
                    //MessageBoxOrange.ShowDialog("the update download was cancelled.");
                }
            }
            notify.Visible = false;
            notify.Dispose();
            // SaveTempList();
            SaveConfig();
            musicCollection.Clear();
            myPlayListCollection.Clear();
            WebBrowserHelper.ClearCache();
            webBrowser.Dispose();
            (Application.Current as App).msgBroker.MessageReceived -= msgBroker_MessageReceived;
        }
示例#13
0
        /// <inheritdoc />
        protected async override Task OnUpdateCheckCompleted(UpdateCheckEventArgs e)
        {
            await base.OnUpdateCheckCompleted(e);

            bool isNewer = e.Successful && new Version(e.Update.Version) > new Version((string)settings["CheckedUpdate"]);

            // --- update settings according to update info ---
            if (isNewer)
            {
                settings["SkipVersion"] = false;
            }
            if (e.NewVersion)
            {
                settings["CheckedUpdate"] = e.Update.Version;
            }
            settings.Save();
            // --- show update information if needed ---
            if (e.UpdateNotifyMode == UpdateNotifyMode.Never ||
                e.UpdateNotifyMode == UpdateNotifyMode.NewUncheckedUpdate && !isNewer ||
                e.UpdateNotifyMode == UpdateNotifyMode.Auto && !isNewer && (bool)settings["SkipVersion"])
            {
                return;
            }
            else if (e.Successful && e.NewVersion)
            {
                UpdateWindow updateWindow = new UpdateWindow(e.NewVersion, e.Update, allowSkip: e.UpdateNotifyMode == UpdateNotifyMode.Auto);
                updateWindow.Owner = this.Owner;
                if (updateWindow.ShowDialog().GetValueOrDefault())
                {
                    DownloadProgressWindow progWindow = new DownloadProgressWindow(e.Update);
                    progWindow.Owner = this.Owner;
                    progWindow.Show();
                    try
                    {
                        string path = await DownloadUpdate(e.Update, progWindow.DownloadProgress, ct : progWindow.CancellationToken);

                        progWindow.Close();
                        if (System.IO.Path.GetExtension(path) == ".msi")
                        {
                            ApplyMsiUpdate(path);
                        }
                        else if (!String.IsNullOrEmpty(path))
                        {
                            ShowUpdateDownload(path);
                        }
                    }
                    catch (UpdateFailedException)
                    {
                        MessageBox.Show(this.Owner, Resources.Box_UpdateFailed, Resources.Box_UpdateFailed_Title,
                                        MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                else if (updateWindow.SkipVersion)
                {
                    settings["SkipVersion"] = true;
                    settings.Save();
                }
            }
            else if (e.UpdateNotifyMode == UpdateNotifyMode.Always)
            {
                if (e.Successful)
                {
                    MessageBox.Show(this.Owner, Resources.Box_NoNewUpdate, Resources.strSoftwareUpdate);
                }
                else
                {
                    MessageBox.Show(this.Owner, Resources.Box_UpdateCheckFailed, Resources.Box_UpdateFailed_Title,
                                    MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
        public void UpdateTo(Asset asset)
        {
            UpdateWindow updateWindow = new UpdateWindow(messagePrompt, asset);

            updateWindow.ShowDialog();
        }
 private void RunSystemDownloadButton_Click(object sender, RoutedEventArgs e)
 {
     UpdateWindow lUpdateWind = new UpdateWindow("Update In Progress", "Please wait as the application updates the database");
     CommandProcessor lCommandProc = new CommandProcessor();
     Thread lSysUp = new Thread( () => lCommandProc.SystemUpdate(lUpdateWind, gSession.Server, gSession.POSInfo));
     lSysUp.Start();
     lUpdateWind.ShowDialog();
 }
示例#16
0
        static void Main()
        {
            if (Environment.OSVersion.Version.Major >= 6)
            {
                SetProcessDPIAware();
            }

            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            XDocument xdoc = null;

            try
            {
                xdoc = XDocument.Load("http://13.230.62.42/quras/update/update.xml");
            }
            catch { }
            if (xdoc != null)
            {
                Version version = Assembly.GetExecutingAssembly().GetName().Version;
                Version minimum = Version.Parse(xdoc.Element("update").Attribute("minimum").Value);
                if (version < minimum)
                {
                    using (UpdateWindow dialog = new UpdateWindow(xdoc))
                    {
                        dialog.ShowDialog();
                        if (dialog.DialogResult != DialogResult.Cancel)
                        {
                            return;
                        }
                    }
                }
            }
            SplashForm splash = new SplashForm();

            splash.Show();
            Application.DoEvents();
            int zkSnarksKeyStatus = Global.Utils.CheckZKSnarksKeyStatus();

            splash.Hide();
            if (zkSnarksKeyStatus != 0)
            {
                using (DownloadKeyForm dialog = new DownloadKeyForm(zkSnarksKeyStatus))
                {
                    dialog.ShowDialog();
                    if (dialog.DialogResult == DialogResult.Cancel)
                    {
                        return;
                    }
                }
            }

            Form startForm;

            startForm = new WelcomeForm();

            /*
             * if (Settings.Default.LastWalletPath.Length == 0)
             * {
             *  startForm = new WelcomeForm();
             * }
             * else
             * {
             *  startForm = new RestoreWalletForm();
             * }
             */
            FormManager.GetInstance().Push(startForm);

            if (File.Exists(Constant.PEER_STATE_PATH))
            {
                using (FileStream fs = new FileStream(Constant.PEER_STATE_PATH, FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    LocalNode.LoadState(fs);
                }
            }
            using (Blockchain.RegisterBlockchain(new LevelDBBlockchain("chain")))
                using (Constant.LocalNode = new LocalNode())
                {
                    Constant.LocalNode.UpnpEnabled = true;
                    Application.Run(startForm);
                }
            using (FileStream fs = new FileStream(Constant.PEER_STATE_PATH, FileMode.Create, FileAccess.Write, FileShare.None))
            {
                LocalNode.SaveState(fs);
            }
        }