void BCancelClick(object sender, EventArgs e) { timerUpdate.Enabled = false; timerClose.Enabled = false; UpdatesManager.Stop(); Close(); }
void TimerCloseTick(object sender, EventArgs e) { closeCount++; if (closeCount == 10) { timerClose.Enabled = false; UpdatesManager.Stop(); Close(); } else { bCancel.Text = TranslateString("Close") + " [" + closeCount.ToString(CultureInfo.InvariantCulture) + "]"; } }
private static void Main(string[] args) { //if(MonoHelper.IsUnix) // Environment.SetEnvironmentVariable ("MONO_BROWSER_ENGINE", "webkit"); if (CommandLineHelper.IsCommandSwitchSet("gen_list")) { try { WebUI.ResultsWebServer.UnhandledException += OnUnhandledExceptionEvent; WebUI.ResultsWebServer.Start(); ServicesListHtmlGenerator.Generate(); } catch (Exception e) { Application.OnThreadException(e); } return; } try { Application.ExceptionsLog += GlobalEventsLogException; ResultsCache.UseCache = true; GuessResultsCache.UseCache = true; UpdatesManager.Init(); Application.ShowSplashForm(null); Application.OptionsForm = new OptionsForm(); Application.BaseOptions = new TranslateOptions(); Application.AboutForm = new AboutForm(); OptionsControlsManager.RegisterOptionControl(typeof(StartupOptionsControl), "General", 0, "Startup", 1); OptionsControlsManager.RegisterOptionControl(typeof(TrayOptionsControl), "General", 0, "Tray", 2); OptionsControlsManager.RegisterOptionControl(typeof(ResultWindowOptionControl), "General", 0, "Result view", 3); OptionsControlsManager.RegisterOptionControl(typeof(GuesserOptionsControl), "General", 0, "Language detection", 4); if (!MonoHelper.IsUnix) //monobug - don't work with DataSource { OptionsControlsManager.RegisterOptionControl(typeof(KeyboardLayoutControl), "General", 0, "Keyboard layouts", 5); } OptionsControlsManager.RegisterOptionControl(typeof(UpdatesOptionsControl), "General", 0, "Updates", 6); OptionsControlsManager.RegisterOptionControl(typeof(HotkeysOptionsControl), "General", 0, "Hotkeys", 7); OptionsControlsManager.RegisterOptionControl(typeof(InputFontOptionsControl), "Fonts", 1, "Input text", 0); OptionsControlsManager.RegisterOptionControl(typeof(ResultViewFontOptionsControl), "Fonts", 1, "Result view", 1); OptionsControlsManager.RegisterOptionControl(typeof(ToolbarsFontOptionsControl), "Fonts", 1, "Toolbars", 2); OptionsControlsManager.RegisterOptionControl(typeof(GeneralNetworkOptionsControl), "Network", 2, "Common", 0); OptionsControlsManager.RegisterOptionControl(typeof(CustomProfilesControl), "Profiles", 3, "List", 4); OptionsControlsManager.RegisterOptionControl(typeof(AnalyticsOptionsControl), "Usage information collecting", 4, "Usage information collecting", 4); Application.Initialize(); if (TranslateOptions.Instance.SingleInstance && ProcessHelper.IsOtherInstanceAlreadyStarted()) { ProcessHelper.ActivateOtherInstance(ApplicationInfo.ProductName); return; } UpdatesManager.CheckNewVersion(); WebUI.ResultsWebServer.UnhandledException += OnUnhandledExceptionEvent; try { WebUI.ResultsWebServer.Start(); } catch (System.Reflection.TargetInvocationException e) { if (e.InnerException != null && e.InnerException.GetType() == typeof(System.Security.VerificationException)) { MessageBox.Show(LangPack.TranslateString("Running from network share not supported.\nTool can work only when started from local drive under appropriate user's rights."), Constants.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { throw; } } AnalyticsMonitor.Start(); Application.Run(new TranslateMainForm()); WebUI.ResultsWebServer.Stop(); } catch (Exception e) { Application.OnThreadException(e); } }
void TimerUpdateTick(object sender, EventArgs e) { switch (UpdatesManager.State) { case UpdateState.None: lStatus.Text = TranslateString("Preparing"); break; case UpdateState.CheckVersion: lStatus.Text = TranslateString("Check version"); break; case UpdateState.UpdateDownloading: lStatus.Text = string.Format(CultureInfo.InvariantCulture, TranslateString("Downloaded {0}Kb from {1}Kb with speed {2}Kb/s"), UpdatesManager.KBReceived, UpdatesManager.TotalKBToReceive, UpdatesManager.DownloadSpeedKBPerSecond) + "\r\n" + UpdatesManager.FileName; pbMain.Style = ProgressBarStyle.Blocks; pbMain.Value = (int)UpdatesManager.ProgressPercentage; break; case UpdateState.UpdateDownloaded: lStatus.Text = TranslateString("Update downloaded"); timerUpdate.Enabled = false; pbMain.Visible = false; if (WindowState == FormWindowState.Minimized) { WindowState = FormWindowState.Normal; } Activate(); if (UpdatesManager.CanRunUpdate && MessageBox.Show(this, TranslateString("New version is downloaded. Do you want to stop " + Constants.AppName + " and run installer of new version ?"), Constants.AppName, MessageBoxButtons.YesNo) == DialogResult.Yes) { UpdatesManager.RunUpdate(); } else { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Exe files (*.exe)|*.exe"; sfd.FilterIndex = 1; sfd.DefaultExt = "exe"; sfd.FileName = UpdatesManager.FileName; sfd.Title = TranslateString("Please select where to save installer of new version which you can run later"); if (sfd.ShowDialog(this) == DialogResult.OK) { UpdatesManager.SaveUpdate(sfd.FileName); } else { UpdatesManager.DeleteUpdate(); } lStatus.Text = UpdatesManager.Message; timerClose.Enabled = true; } break; case UpdateState.Ending: case UpdateState.Error: lStatus.Text = UpdatesManager.Message; timerUpdate.Enabled = false; timerClose.Enabled = true; pbMain.Visible = false; break; case UpdateState.NewVersionExists: timerUpdate.Enabled = false; lStatus.Text = string.Format(CultureInfo.InvariantCulture, TranslateString("New version {0} of {1} available"), UpdatesManager.VersionOnSite, Constants.AppName); if (MessageBox.Show(this, string.Format(CultureInfo.InvariantCulture, TranslateString("New version {0} of {1} available"), UpdatesManager.VersionOnSite, Constants.AppName ) + ".\r\n" + TranslateString("Do you want to open site where you can download it ?"), Constants.AppName, MessageBoxButtons.YesNo) == DialogResult.Yes ) { string url = Constants.DownloadUrlBase; if (FreeCL.RTL.LangPack.CurrentLanguage == "Ukrainian") { url += "uk.html"; } else if (FreeCL.RTL.LangPack.CurrentLanguage == "Russian") { url += "ru.html"; } else { url += "en.html"; } ProcessStartHelper.Start(url); } UpdatesManager.UpdateCheckDone(); BCancelClick(sender, e); break; } }
void UpdaterFormVisibleChanged(object sender, EventArgs e) { UpdatesManager.DoProcess(); }
void UpdaterFormFormClosing(object sender, FormClosingEventArgs e) { UpdatesManager.Stop(); }