Example #1
0
 void BCancelClick(object sender, EventArgs e)
 {
     timerUpdate.Enabled = false;
     timerClose.Enabled  = false;
     UpdatesManager.Stop();
     Close();
 }
Example #2
0
 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) + "]";
     }
 }
Example #3
0
        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);
            }
        }
Example #4
0
        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;
            }
        }
Example #5
0
 void UpdaterFormVisibleChanged(object sender, EventArgs e)
 {
     UpdatesManager.DoProcess();
 }
Example #6
0
 void UpdaterFormFormClosing(object sender, FormClosingEventArgs e)
 {
     UpdatesManager.Stop();
 }