Exemple #1
0
        public LinkStreamListContext(StatusControlContext statusContext)
        {
            StatusContext = statusContext ?? new StatusControlContext();

            SortListCommand = new Command <string>(x => StatusContext.RunNonBlockingTask(() => SortList(x)));
            ToggleListSortDirectionCommand = new Command(() => StatusContext.RunNonBlockingTask(async() =>
            {
                SortDescending = !SortDescending;
                await SortList(_lastSortColumn);
            }));
            OpenUrlCommand = new Command <string>(x => StatusContext.RunNonBlockingTask(() => OpenUrl(x)));
            CopyUrlCommand = new Command <string>(x => StatusContext.RunNonBlockingTask(async() =>
            {
                await ThreadSwitcher.ResumeForegroundAsync();

                Clipboard.SetText(x);

                StatusContext.ToastSuccess($"To Clipboard {x}");
            }));
            ListSelectedLinksNotOnPinboardCommand = new Command(x =>
                                                                StatusContext.RunBlockingTask(async() =>
                                                                                              await ListSelectedLinksNotOnPinboard(StatusContext.ProgressTracker())));

            StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData);

            DataNotifications.DataNotificationChannel().MessageReceived += OnDataNotificationReceived;
        }
        public TagListContext(StatusControlContext context)
        {
            StatusContext = context ?? new StatusControlContext();

            RefreshDataCommand     = new Command(() => StatusContext.RunBlockingTask(LoadData));
            TagDetailRenameCommand = new Command(() => StatusContext.RunBlockingTask(async() =>
            {
                await RenameTag();
                await LoadData();
            }));

            TagDetailRemoveCommand = new Command(() => StatusContext.RunBlockingTask(async() =>
            {
                await RemoveTag();
                await LoadData();
            }));

            TagsToClipboardCommand = new Command(() => StatusContext.RunBlockingTask(TagsToClipboard));
            ShowDetailsCommand     = new Command <TagListListItem>(x =>
                                                                   StatusContext.RunBlockingTask(async() => await ShowDetails(x)));
            EditContentCommand = new Command <object>(x =>
                                                      StatusContext.RunBlockingTask(async() => await EditContent(x)));

            StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData);
        }
        public LinkStreamEditorContext(StatusControlContext statusContext, LinkStream linkContent,
                                       bool extractDataOnLoad = false)
        {
            StatusContext = statusContext ?? new StatusControlContext();

            SaveUpdateDatabaseCommand = new Command(() =>
                                                    StatusContext.RunBlockingTask(() => SaveToDbWithValidation(StatusContext?.ProgressTracker())));
            SaveUpdateDatabaseAndCloseCommand = new Command(() =>
                                                            StatusContext.RunBlockingTask(() => SaveToDbWithValidationAndClose(StatusContext?.ProgressTracker())));
            ExtractDataCommand = new Command(() =>
                                             StatusContext.RunBlockingTask(() => ExtractDataFromLink(StatusContext?.ProgressTracker())));
            OpenUrlInBrowserCommand = new Command(() =>
            {
                try
                {
                    var ps = new ProcessStartInfo(LinkUrl)
                    {
                        UseShellExecute = true, Verb = "open"
                    };
                    Process.Start(ps);
                }
                catch (Exception e)
                {
                    StatusContext.ToastWarning($"Trouble opening link - {e.Message}");
                }
            });

            StatusContext.RunFireAndForgetTaskWithUiToastErrorReturn(async() =>
                                                                     await LoadData(linkContent, extractDataOnLoad));
        }
Exemple #4
0
        public MenuLinkEditorContext(StatusControlContext statusContext)
        {
            StatusContext = statusContext ?? new StatusControlContext();

            AddItemCommand    = new Command(() => StatusContext.RunBlockingTask(AddItem));
            DeleteItemCommand = new Command(() => StatusContext.RunBlockingTask(DeleteItems));
            MoveItemUpCommand =
                new Command <MenuLinkListItem>(x => StatusContext.RunNonBlockingTask(() => MoveItemUp(x)));
            MoveItemDownCommand =
                new Command <MenuLinkListItem>(x => StatusContext.RunNonBlockingTask(() => MoveItemDown(x)));
            SaveCommand = new Command(x => StatusContext.RunNonBlockingTask(Save));
            InsertIndexTagIndexCommand = new Command <MenuLinkListItem>(x =>
                                                                        StatusContext.RunNonBlockingTask(() => InsertIntoLinkTag(x, "{{index; text Main;}}")));
            InsertTagSearchCommand = new Command <MenuLinkListItem>(x =>
                                                                    StatusContext.RunNonBlockingTask(() => InsertIntoLinkTag(x, "{{tagspage; text Tags;}}")));
            InsertPhotoGalleryCommand = new Command <MenuLinkListItem>(x =>
                                                                       StatusContext.RunNonBlockingTask(() => InsertIntoLinkTag(x, "{{photogallerypage; text Photos;}}")));
            InsertSearchPageCommand = new Command <MenuLinkListItem>(x =>
                                                                     StatusContext.RunNonBlockingTask(() => InsertIntoLinkTag(x, "{{searchpage; text Search;}}")));
            InsertLinkListCommand = new Command <MenuLinkListItem>(x =>
                                                                   StatusContext.RunNonBlockingTask(() => InsertIntoLinkTag(x, "{{linklistpage; text Links;}}")));

            HelpMarkdown = MenuLinksHelpMarkdown.HelpBlock;

            StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData);
        }
        public PhotoListContext(StatusControlContext statusContext, PhotoListLoadMode photoListLoadMode)
        {
            StatusContext = statusContext ?? new StatusControlContext();

            SortListCommand = new Command <string>(x => StatusContext.RunNonBlockingTask(() => SortList(x)));
            ToggleListSortDirectionCommand = new Command(() => StatusContext.RunNonBlockingTask(async() =>
            {
                SortDescending = !SortDescending;
                await SortList(_lastSortColumn);
            }));

            ToggleLoadRecentLoadAllCommand = new Command(x =>
            {
                if (LoadMode == PhotoListLoadMode.All)
                {
                    LoadMode = PhotoListLoadMode.Recent;
                    StatusContext.RunBlockingTask(LoadData);
                }
                else if (LoadMode == PhotoListLoadMode.Recent)
                {
                    LoadMode = PhotoListLoadMode.All;
                    StatusContext.RunBlockingTask(LoadData);
                }
            });

            LoadMode = photoListLoadMode;

            DataNotifications.DataNotificationChannel().MessageReceived += OnDataNotificationReceived;
        }
Exemple #6
0
        public TagExclusionEditorContext(StatusControlContext statusContext)
        {
            StatusContext = statusContext ?? new StatusControlContext();

            HelpMarkdown      = TagExclusionHelpMarkdown.HelpBlock;
            AddNewItemCommand = new Command(async() => await AddNewItem());
            SaveItemCommand   = new Command <TagExclusionEditorListItem>(x => StatusContext.RunBlockingTask(SaveItem, x));
            DeleteItemCommand =
                new Command <TagExclusionEditorListItem>(x => StatusContext.RunBlockingTask(DeleteItem, x));

            StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData);
        }
Exemple #7
0
        public PhotoListContext(StatusControlContext statusContext, PhotoListLoadMode photoListLoadMode)
        {
            StatusContext = statusContext ?? new StatusControlContext();

            DataNotificationsProcessor = new DataNotificationsWorkQueue {
                Processor = DataNotificationReceived
            };

            ViewImageCommand      = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(ViewImage);
            EditContentCommand    = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(EditContent);
            ApertureSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x =>
                                                                                           await RunReport(async() => await ApertureSearch(x), $"Aperture - {x.Aperture}"));
            LensSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x =>
                                                                                       await RunReport(async() => await LensSearch(x), $"Lens - {x.Lens}"));
            CameraMakeSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x =>
                                                                                             await RunReport(async() => await CamerMakeSearch(x), $"Camera Make - {x.CameraMake}"));
            CameraModelSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x =>
                                                                                              await RunReport(async() => await CameraModelSearch(x), $"Camera Model - {x.CameraModel}"));
            FocalLengthSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x =>
                                                                                              await RunReport(async() => await FocalLengthSearch(x), $"Focal Length - {x.FocalLength}"));
            IsoSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x =>
                                                                                      await RunReport(async() => await IsoSearch(x), $"Iso - {x.Iso}"));
            ShutterSpeedSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x =>
                                                                                               await RunReport(async() => await ShutterSpeedSearch(x), $"Shutter Speed - {x.ShutterSpeed}"));
            PhotoTakenOnSearchCommand = StatusContext.RunNonBlockingTaskCommand <PhotoContent>(async x =>
                                                                                               await RunReport(async() => await PhotoTakenOnSearch(x),
                                                                                                               $"Photo Created On - {x.PhotoCreatedOn.Date:D}"));


            SortListCommand = StatusContext.RunNonBlockingTaskCommand <string>(SortList);
            ToggleListSortDirectionCommand = StatusContext.RunNonBlockingTaskCommand(async() =>
            {
                SortDescending = !SortDescending;
                await SortList(_lastSortColumn);
            });

            ToggleLoadRecentLoadAllCommand = new Command(() =>
            {
                if (LoadMode == PhotoListLoadMode.All)
                {
                    LoadMode = PhotoListLoadMode.Recent;
                    StatusContext.RunBlockingTask(LoadData);
                }
                else if (LoadMode == PhotoListLoadMode.Recent)
                {
                    LoadMode = PhotoListLoadMode.All;
                    StatusContext.RunBlockingTask(LoadData);
                }
            });

            LoadMode = photoListLoadMode;
        }
        public NoteContentEditorContext(StatusControlContext statusContext, NoteContent noteContent)
        {
            StatusContext = statusContext ?? new StatusControlContext();

            SaveAndCreateLocalCommand = new Command(() => StatusContext.RunBlockingTask(SaveAndCreateLocal));
            SaveUpdateDatabaseCommand = new Command(() => StatusContext.RunBlockingTask(SaveToDbWithValidation));
            ViewOnSiteCommand         = new Command(() => StatusContext.RunBlockingTask(ViewOnSite));
            ExtractNewLinksCommand    = new Command(() => StatusContext.RunBlockingTask(() =>
                                                                                        LinkExtraction.ExtractNewAndShowLinkStreamEditors(BodyContent.BodyContent,
                                                                                                                                          StatusContext.ProgressTracker())));

            StatusContext.RunFireAndForgetTaskWithUiToastErrorReturn(async() => await LoadData(noteContent));
        }
Exemple #9
0
        public LinkStreamListWithActionsContext(StatusControlContext statusContext)
        {
            StatusContext = statusContext ?? new StatusControlContext();

            EditSelectedContentCommand = new Command(() => StatusContext.RunBlockingTask(EditSelectedContent));
            MdLinkCodesToClipboardForSelectedCommand =
                new Command(() => StatusContext.RunBlockingTask(MdLinkCodesToClipboardForSelected));
            NewContentCommand     = new Command(() => StatusContext.RunNonBlockingTask(NewContent));
            RefreshDataCommand    = new Command(() => StatusContext.RunBlockingTask(ListContext.LoadData));
            DeleteSelectedCommand = new Command(() => StatusContext.RunBlockingTask(Delete));
            ViewHistoryCommand    = new Command(() => StatusContext.RunNonBlockingTask(ViewHistory));

            StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData);
        }
Exemple #10
0
        public PostContentEditorContext(StatusControlContext statusContext, PostContent postContent)
        {
            StatusContext = statusContext ?? new StatusControlContext();

            HelpContext =
                new HelpDisplayContext(CommonFields.TitleSlugFolderSummary + BracketCodeHelpMarkdown.HelpBlock);

            SaveAndCreateLocalCommand = new Command(() => StatusContext.RunBlockingTask(SaveAndCreateLocal));
            SaveUpdateDatabaseCommand = new Command(() => StatusContext.RunBlockingTask(SaveToDbWithValidation));
            ViewOnSiteCommand         = new Command(() => StatusContext.RunBlockingTask(ViewOnSite));
            ExtractNewLinksCommand    = new Command(() => StatusContext.RunBlockingTask(() =>
                                                                                        LinkExtraction.ExtractNewAndShowLinkStreamEditors(
                                                                                            $"{BodyContent.BodyContent} {UpdateNotes.UpdateNotes}", StatusContext.ProgressTracker())));

            StatusContext.RunFireAndForgetTaskWithUiToastErrorReturn(async() => await LoadData(postContent));
        }
        public NoteListWithActionsContext(StatusControlContext statusContext)
        {
            StatusContext = statusContext ?? new StatusControlContext();

            GenerateSelectedHtmlCommand            = new Command(() => StatusContext.RunBlockingTask(GenerateSelectedHtml));
            EditSelectedContentCommand             = new Command(() => StatusContext.RunBlockingTask(EditSelectedContent));
            NoteCodesToClipboardForSelectedCommand =
                new Command(() => StatusContext.RunBlockingTask(NoteCodesToClipboardForSelected));
            OpenUrlForSelectedCommand        = new Command(() => StatusContext.RunNonBlockingTask(OpenUrlForSelected));
            NewContentCommand                = new Command(() => StatusContext.RunNonBlockingTask(NewContent));
            RefreshDataCommand               = new Command(() => StatusContext.RunBlockingTask(ListContext.LoadData));
            DeleteSelectedCommand            = new Command(() => StatusContext.RunBlockingTask(Delete));
            ExtractNewLinksInSelectedCommand =
                new Command(() => StatusContext.RunBlockingTask(ExtractNewLinksInSelected));
            ViewHistoryCommand = new Command(() => StatusContext.RunNonBlockingTask(ViewHistory));

            StatusContext.RunFireAndForgetBlockingTaskWithUiMessageReturn(LoadData);
        }