private void RegisterCommands() { BlinkGoBackButtonCommand = new DelegateCommand(() => { GoPreviousImage(); }); BlinkGoNextButtonCommand = new DelegateCommand(() => { GoNextImage(); }); BuildBookContextMenuCommand = new DelegateCommand <ContextMenuEventArgs>(args => { BuildContextMenus_Books(); (args.Source as FrameworkElement).ContextMenu.IsOpen = true; }); BuildContentsContextMenuCommand = new DelegateCommand <ContextMenuEventArgs>(args => { BuildContextMenus_Contents(); (args.Source as FrameworkElement).ContextMenu.IsOpen = true; }); ChangeStarCommand = new DelegateCommand <ObservableCollection <BookViewModel> >(args => { IDialogResult result = new DialogResult(); IDialogParameters parameters = new DialogParameters(); parameters.Add("Book", args.First()); dialogService.ShowDialog(nameof(ChangeStar), parameters, ret => result = ret); UpdateStarLevel(); }); CloseTabCommand = new DelegateCommand(() => { MainWindowViewModel.Value.CloseTab(this); }); CloseSearchPaneCommand = new DelegateCommand(() => { CloseSearchPane(); }); DropCommand.Subscribe(args => { foreach (var dropPlugin in DropPlugins) { dropPlugin.Value.Execute(args.Data); } }) .AddTo(disposables); ExportBooksCommand = new DelegateCommand(() => { var books = BookListViewSelectedItems; OpenExportDialog(books.ToArray()); }); FilterBooksCommand = new DelegateCommand(() => { MainWindowViewModel.Value.NewContentTab(BookListViewSelectedItems); }); LeftKeyDownCommand = new DelegateCommand(() => { if (OpenedPage != null) { GoPreviousImage(); } else if (OpenedBook != null) { //Do nothing } else { //Do nothing } }); MouseWheelCommand = new DelegateCommand <MouseWheelEventArgs>(args => { var delta = args.Delta; if (OpenedPage != null) { if (delta > 0) //奥方向に回転 { GoPreviousImage(); } else if (delta < 0) //手前方向に回転 { GoNextImage(); } } else if (OpenedBook != null) { //Do nothing } else { //Do nothing } }); OpenBookCommand = new DelegateCommand(() => { OpenBook(BookListViewSelectedItems.First()); }); OpenBookInNewTabCommand = new DelegateCommand(() => { MainWindowViewModel.Value.NewContentTab(BookListViewSelectedItems.First()); MainWindowViewModel.Value.ActiveDocumentViewModel.OpenBook(BookListViewSelectedItems.First()); }); OpenBookPropertyDialogCommand = new DelegateCommand(() => { var books = BookListViewSelectedItems; OpenBookPropertyDialog(books.First()); }); OpenImageByDefaultProgramCommand = new DelegateCommand <object>((p) => { OpenImageByDefaultProgram(p as IEnumerable <PageViewModel>); }); OpenSearchPaneCommand = new DelegateCommand(() => { OpenSearchPane(); }); RightKeyDownCommand = new DelegateCommand(() => { if (OpenedPage != null) { GoNextImage(); } else if (OpenedBook != null) { //Do nothing } else { //Do nothing } }); RemakeThumbnailOfBookCommand = new DelegateCommand(async() => { var books = BookListViewSelectedItems; await RemakeThumbnail(books); }); RemakeThumbnailOfPageCommand = new DelegateCommand(async() => { var pages = ContentsListViewSelectedItems; await RemakeThumbnail(pages); }); RemoveBookCommand = new DelegateCommand(async() => { var books = BookListViewSelectedItems; await RemoveBook(books.ToArray()); }); RemovePageCommand = new DelegateCommand <object>(async(p) => { await RemovePage(p as IEnumerable <PageViewModel>); }); SearchInNewTabCommand = new DelegateCommand(() => { MainWindowViewModel.Value.NewSearchTab(BookCabinet.OnStage); }); SendBookToExistTabCommand = new DelegateCommand <IDocumentViewModelBase>(p => { foreach (var item in BookListViewSelectedItems) { p.BookCabinet.AddToMemory(item); } }); SendBookToNewTabCommand = new DelegateCommand(() => { MainWindowViewModel.Value.NewContentTab(BookListViewSelectedItems); }); ScrapPagesCommand = new DelegateCommand <object>(async(p) => { await ScrapPages(p as IEnumerable <PageViewModel>); }); XButton1MouseButtonDownCommand = new DelegateCommand(() => { if (OpenedPage != null) { CloseImage(); } else if (OpenedBook != null) { CloseBook(); } else { if (BookCabinet.IsSearching) { ClearSearchResult(); CloseSearchPane(); RestoreScrollOffset(BeforeSearchPosition); } } }); XButton2MouseButtonDownCommand = new DelegateCommand(() => { if (OpenedPage != null) { //Do nothing } else if (OpenedBook != null) { //Do nothing } else { //Do nothing } }); }
private void UpdateStarLevel() { StarLevel.Value = BookListViewSelectedItems.Any() ? BookListViewSelectedItems.First().StarLevel : null; }