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); }
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... } }; } }