protected override void OnClosing(CancelEventArgs e) { if (!Settings.KeyExists("restart.file") && !Program.ExceptionQuit) { if (enable_last) { Settings.Set("files.last", string.Join(";", lastFiles)); } if (!fileHandler.NotifyIfUnsaved()) { e.Cancel = true; } ClearTemp(); } AppClosing?.Invoke(this, null); base.OnClosing(e); }
public void BootstrapExtensions() { if (Logger == null || RootForm == null) { throw new InvalidOperationException("Bootstrapper was not fully initialized before attempted to bootstrap extensions!"); } if (!extensionsPreLoaded) { throw new InvalidOperationException("Extensions have not been preloaded before attempting to initializing them!"); } // Initialize (already loaded) extensions (==> base for the next steps) ExtensionManager.InitActivatedExtensions(registry); // Initialize Export/Import var exporters = GetRegistered <IExport>(); var importers = GetRegistered <IImport>(); FileHandler.InitializeExportImport(exporters, importers); // Load templates from files & extensions var templatePath = settings.Get("tmpl.root", DEFAULT_TEMPLATE_PATH); var templateManager = new TemplateManager(registry, this, templatePath); templateManager.LoadTemplates(templatePath); if (OptionsParser.TemplateDebug) { Task.Run(() => Application.Instance.Invoke(() => templateManager.DebugCompileAll())); } TemplateManager = templateManager; ExtensionsLoaded?.Invoke(this, new EventArgs()); (RootForm as Window) !.Closing += (s, e) => AppClosing?.Invoke(this, null); }
private void CurrentDomain_ProcessExit(object sender, EventArgs e) { AppClosing?.Invoke(this, e); }
public void SimulateEvent() { AppClosing?.Invoke(this, EventArgs.Empty); }