Пример #1
0
        protected override void OnShown(EventArgs e)
        {
            // Hatten wir einen Crash beim letzten Mal?
            if (CrashReporter.HasCurrentReport)
            {
                try
                {
                    using (var cf = new CrashReporting.CrashForm(CrashReporter))
                    {
                        if (cf.ShowModal(this) == DialogResult.Ok)
                        {
                            CrashReporter.Restore(Bootstrapper.FileHandler);
                        }
                        CrashReporter.RemoveCrashFlag();
                    }
                }
                catch (Exception ex)
                {
                    Bootstrapper.Logger.Error(T._("Fehlermeldung des letzten Absturzes konnte nicht angezeigt werden: {0}", ex.Message));
                    CrashReporter.RemoveCrashFlag(); // Der Crash crasht sogar noch die Fehlerbehandlung...
                }
            }

            foreach (var msg in Bootstrapper.PreBootstrapWarnings)
            {
                Bootstrapper.Logger.Warning(msg);
            }

            checkRunner = new TimetableChecks.TimetableCheckRunner(Bootstrapper); // CheckRunner initialisieren

            LoadStartFile();
            Bootstrapper.Update.AutoUpdateCheck(Bootstrapper.Logger);

            base.OnShown(e);
        }
Пример #2
0
        private void Init()
        {
            Timetable.DefaultLinearVersion = Settings.GetEnum("core.default-file-format", Timetable.DefaultLinearVersion);
            FontCollection.InitAsync();     // Asynchron Liste von verfügbaren Schriftarten laden
            EtoExtensions.Initialize(this); // UI-Erweiterungen initialiseren
            this.AddSizeStateHandler();

            // Extensions laden & initialisieren (=> Initialisiert Importer/Exporter)
            extensionManager.LoadExtensions();
            extensionManager.InitActivatedExtensions();

            InitializeExportImport();
            InitializeMenus();

            // Vorlagen laden
            templatePath    = Settings.Get("tmpl.root", templatePath);
            templateManager = new TemplateManager(registry, Logger, Settings);
            templateManager.LoadTemplates(templatePath);
            if (OptionsParser.TemplateDebug)
            {
                Task.Run(() => Application.Instance.Invoke(() => templateManager.DebugCompileAll()));
            }

            ExtensionsLoaded?.Invoke(this, new EventArgs());

            Shown += (s, e) => LoadStartFile();
            Shown += (s, e) => update.AutoUpdateCheck(Logger);

            checkRunner = new TimetableChecks.TimetableCheckRunner(this); // CheckRunner initialisieren

            // Hatten wir einen Crash beim letzten Mal?
            if (crashReporter.HasCurrentReport)
            {
                Shown += (s, e) =>
                {
                    try
                    {
                        var cf = new CrashReporting.CrashForm(crashReporter);
                        if (cf.ShowModal(this) == DialogResult.Ok)
                        {
                            crashReporter.Restore(fileHandler);
                        }
                        crashReporter.RemoveCrashFlag();
                    }
                    catch (Exception ex)
                    {
                        Logger.Error("Fehlermeldung des letzten Absturzes konnte nicht angezeigt werden: " + ex.Message);
                        crashReporter.RemoveCrashFlag(); // Der Crash crasht sogar noch die Fehlerbehandlung...
                    }
                };
            }
        }