public MainWindow() { InitializeComponent(); App.Tracker.Track(this); WindowInitialPositionHelpers.EnsureWindowIsVisible(this); InfoTitle = $"Pointless Waymarks CMS - Built On {GetBuildDate(Assembly.GetEntryAssembly())} - Commit {ThisAssembly.Git.Commit} {(ThisAssembly.Git.IsDirty ? "(Has Local Changes)" : string.Empty)}"; ShowSettingsFileChooser = true; DataContext = this; StatusContext = new StatusControlContext(); GenerateIndexCommand = new Command(() => StatusContext.RunNonBlockingTask(GenerateIndex)); OpenIndexUrlCommand = new Command(() => StatusContext.RunNonBlockingTask(OpenIndexUrl)); GenerateAllHtmlCommand = new Command(() => StatusContext.RunBlockingTask(GenerateAllHtml)); ConfirmOrGenerateAllPhotosImagesFilesCommand = new Command(() => StatusContext.RunBlockingTask(ConfirmOrGenerateAllPhotosImagesFiles)); GenerateAllHtmlAndCleanAndResizePicturesCommand = new Command(() => StatusContext.RunBlockingTask(GenerateAllHtmlAndCleanAndResizePictures)); CleanAndResizePicturesCommand = new Command(() => StatusContext.RunBlockingTask(CleanAndResizePictures)); NewPhotoContentCommand = new Command(() => StatusContext.RunNonBlockingTask(NewPhotoContent)); GenerateHtmlForAllPhotoContentCommand = new Command(() => StatusContext.RunBlockingTask(GenerateAllPhotoHtml)); NewPostContentCommand = new Command(() => StatusContext.RunNonBlockingTask(NewPostContent)); GenerateHtmlForAllPostContentCommand = new Command(() => StatusContext.RunBlockingTask(GenerateAllPostHtml)); NewImageContentCommand = new Command(() => StatusContext.RunNonBlockingTask(NewImageContent)); GenerateHtmlForAllImageContentCommand = new Command(() => StatusContext.RunBlockingTask(GenerateAllImageHtml)); NewFileContentCommand = new Command(() => StatusContext.RunNonBlockingTask(NewFileContent)); GenerateHtmlForAllFileContentCommand = new Command(() => StatusContext.RunBlockingTask(GenerateAllFileHtml)); NewLinkContentCommand = new Command(() => StatusContext.RunNonBlockingTask(NewLinkContent)); GenerateAllTagHtmlCommand = new Command(() => StatusContext.RunBlockingTask(GenerateAllTagHtml)); GenerateDailyGalleryHtmlCommand = new Command(() => StatusContext.RunBlockingTask(GenerateAllDailyPhotoGalleriesHtml)); GenerateCamerRollCommand = new Command(() => StatusContext.RunBlockingTask(GenerateCameraRollHtml)); PurgeInvalidPhotoDirectoriesCommand = new Command(async() => await StructureAndMediaContent.PurgePhotoDirectoriesNotFoundInCurrentDatabase( StatusContext.ProgressTracker())); ImportJsonFromDirectoryCommand = new Command(() => StatusContext.RunBlockingTask(ImportJsonFromDirectory)); ToggleDiagnosticLoggingCommand = new Command(() => UserSettingsSingleton.LogDiagnosticEvents = !UserSettingsSingleton.LogDiagnosticEvents); ExceptionEventsReportCommand = new Command(() => StatusContext.RunNonBlockingTask(ExceptionEventsReport)); DiagnosticEventsReportCommand = new Command(() => StatusContext.RunNonBlockingTask(DiagnosticEventsReport)); AllEventsReportCommand = new Command(() => StatusContext.RunNonBlockingTask(AllEventsReport)); SettingsFileChooser = new SettingsFileChooserControlContext(StatusContext, RecentSettingsFilesNames); SettingsFileChooser.SettingsFileUpdated += SettingsFileChooserOnSettingsFileUpdatedEvent; StatusContext.RunFireAndForgetTaskWithUiToastErrorReturn(CleanUpTemporaryFiles); }
public MainWindow() { InitializeComponent(); App.Tracker.Track(this); WindowInitialPositionHelpers.EnsureWindowIsVisible(this); InfoTitle = $"Pointless Waymarks CMS - Built On {GetBuildDate(Assembly.GetEntryAssembly())} - Commit {ThisAssembly.Git.Commit} {(ThisAssembly.Git.IsDirty ? "(Has Local Changes)" : string.Empty)}"; ShowSettingsFileChooser = true; DataContext = this; StatusContext = new StatusControlContext(); //Common GenerateChangedHtmlCommand = StatusContext.RunBlockingTaskCommand(GenerateChangedHtml); RemoveUnusedFilesFromMediaArchiveCommand = StatusContext.RunBlockingTaskCommand(RemoveUnusedFilesFromMediaArchive); RemoveUnusedFoldersAndFilesFromContentCommand = StatusContext.RunBlockingTaskCommand(RemoveUnusedFoldersAndFilesFromContent); GenerateIndexCommand = StatusContext.RunBlockingActionCommand(() => HtmlGenerationGroups.GenerateIndex(null, StatusContext.ProgressTracker())); CheckAllContentForInvalidBracketCodeContentIdsCommand = StatusContext.RunBlockingTaskCommand(CheckAllContentForInvalidBracketCodeContentIds); //All/Forced Regeneration GenerateAllHtmlCommand = StatusContext.RunBlockingTaskCommand(GenerateAllHtml); ConfirmOrGenerateAllPhotosImagesFilesCommand = StatusContext.RunBlockingTaskCommand(ConfirmOrGenerateAllPhotosImagesFiles); DeleteAndResizePicturesCommand = StatusContext.RunBlockingTaskCommand(CleanAndResizePictures); //Diagnostics ToggleDiagnosticLoggingCommand = new Command(() => UserSettingsSingleton.LogDiagnosticEvents = !UserSettingsSingleton.LogDiagnosticEvents); ExceptionEventsHtmlReportCommand = StatusContext.RunNonBlockingTaskCommand(Reports.ExceptionEventsHtmlReport); DiagnosticEventsHtmlReportCommand = StatusContext.RunNonBlockingTaskCommand(Reports.DiagnosticEventsHtmlReport); ExceptionEventsExcelReportCommand = StatusContext.RunNonBlockingTaskCommand(Reports.ExceptionEventsExcelReport); DiagnosticEventsExcelReportCommand = StatusContext.RunNonBlockingTaskCommand(Reports.DiagnosticEventsExcelReport); AllEventsHtmlReportCommand = StatusContext.RunNonBlockingTaskCommand(Reports.AllEventsHtmlReport); AllEventsExcelReportCommand = StatusContext.RunNonBlockingTaskCommand(Reports.AllEventsExcelReport); //Main Parts GenerateSiteResourcesCommand = StatusContext.RunBlockingTaskCommand(async() => await FileManagement.WriteSiteResourcesToGeneratedSite(StatusContext.ProgressTracker())); WriteStyleCssFileCommand = StatusContext.RunBlockingTaskCommand(async() => await FileManagement.WriteStylesCssToGeneratedSite(StatusContext.ProgressTracker())); GenerateHtmlForAllFileContentCommand = StatusContext.RunBlockingTaskCommand(async() => await HtmlGenerationGroups.GenerateAllFileHtml(null, StatusContext.ProgressTracker())); GenerateHtmlForAllImageContentCommand = StatusContext.RunBlockingTaskCommand(async() => await HtmlGenerationGroups.GenerateAllImageHtml(null, StatusContext.ProgressTracker())); GenerateHtmlForAllNoteContentCommand = StatusContext.RunBlockingTaskCommand(async() => await HtmlGenerationGroups.GenerateAllNoteHtml(null, StatusContext.ProgressTracker())); GenerateHtmlForAllPhotoContentCommand = StatusContext.RunBlockingTaskCommand(async() => await HtmlGenerationGroups.GenerateAllPhotoHtml(null, StatusContext.ProgressTracker())); GenerateHtmlForAllPostContentCommand = StatusContext.RunBlockingTaskCommand(async() => await HtmlGenerationGroups.GenerateAllPostHtml(null, StatusContext.ProgressTracker())); GenerateHtmlForAllPointContentCommand = StatusContext.RunBlockingTaskCommand(async() => await HtmlGenerationGroups.GenerateAllPointHtml(null, StatusContext.ProgressTracker())); GenerateHtmlForAllLineContentCommand = StatusContext.RunBlockingTaskCommand(async() => await HtmlGenerationGroups.GenerateAllLineHtml(null, StatusContext.ProgressTracker())); GenerateHtmlForAllGeoJsonContentCommand = StatusContext.RunBlockingTaskCommand(async() => await HtmlGenerationGroups.GenerateAllGeoJsonHtml(null, StatusContext.ProgressTracker())); //Derived GenerateAllListHtmlCommand = StatusContext.RunBlockingActionCommand(() => HtmlGenerationGroups.GenerateAllListHtml(null, StatusContext.ProgressTracker())); GenerateAllTagHtmlCommand = StatusContext.RunBlockingActionCommand(() => HtmlGenerationGroups.GenerateAllTagHtml(null, StatusContext.ProgressTracker())); GenerateCameraRollCommand = StatusContext.RunBlockingTaskCommand(async() => await HtmlGenerationGroups.GenerateCameraRollHtml(null, StatusContext.ProgressTracker())); GenerateDailyGalleryHtmlCommand = StatusContext.RunBlockingTaskCommand(async() => await HtmlGenerationGroups.GenerateAllDailyPhotoGalleriesHtml(null, StatusContext.ProgressTracker())); //Rebuild ImportJsonFromDirectoryCommand = StatusContext.RunBlockingTaskCommand(ImportJsonFromDirectory); SettingsFileChooser = new SettingsFileChooserControlContext(StatusContext, RecentSettingsFilesNames); SettingsFileChooser.SettingsFileUpdated += SettingsFileChooserOnSettingsFileUpdatedEvent; StatusContext.RunFireAndForgetTaskWithUiToastErrorReturn(CleanupTemporaryFiles); }