private void OpenFictionDetailsRequested(object sender, FictionSearchResultsTabViewModel.OpenFictionDetailsEventArgs e) { Logger.Debug($"Opening fiction book with ID = {e.FictionBook.Id}, Libgen ID = {e.FictionBook.LibgenId}."); SearchSettings.DetailsMode openDetailsMode = mainModel.AppSettings.Search.OpenDetailsMode; if (openDetailsMode == SearchSettings.DetailsMode.NEW_TAB) { FictionDetailsTabViewModel fictionDetailsTabViewModel = new FictionDetailsTabViewModel(mainModel, CurrentWindowContext, e.FictionBook, isInModalWindow: false); fictionDetailsTabViewModel.CloseTabRequested += FictionDetailsCloseTabRequested; TabViewModels.Add(fictionDetailsTabViewModel); SelectedTabViewModel = fictionDetailsTabViewModel; } else { bool modalWindow = openDetailsMode == SearchSettings.DetailsMode.NEW_MODAL_WINDOW; FictionDetailsWindowViewModel detailsWindowViewModel = new FictionDetailsWindowViewModel(mainModel, e.FictionBook, modalWindow); IWindowContext detailsWindowContext = WindowManager.CreateWindow(RegisteredWindows.WindowKey.FICTION_DETAILS_WINDOW, detailsWindowViewModel, CurrentWindowContext); FictionDetailsWindowSettings detailsWindowSettings = mainModel.AppSettings.Fiction.DetailsWindow; if (modalWindow) { detailsWindowContext.ShowDialog(detailsWindowSettings.Width, detailsWindowSettings.Height); } else { detailsWindowContext.Show(detailsWindowSettings.Width, detailsWindowSettings.Height); } } }
private void OpenSciMagDetailsRequested(object sender, OpenSciMagDetailsEventArgs e) { Logger.Debug($"Opening article with ID = {e.SciMagArticle.Id}, Libgen ID = {e.SciMagArticle.LibgenId}."); SearchSettings.DetailsMode openDetailsMode = MainModel.AppSettings.Search.OpenDetailsMode; if (openDetailsMode == SearchSettings.DetailsMode.NEW_TAB) { SciMagDetailsTabViewModel sciMagDetailsTabViewModel = new SciMagDetailsTabViewModel(MainModel, CurrentWindowContext, e.SciMagArticle, isInModalWindow: false); sciMagDetailsTabViewModel.SelectDownloadRequested += SelectDownloadRequested; sciMagDetailsTabViewModel.CloseTabRequested += SciMagDetailsCloseTabRequested; TabViewModels.Add(sciMagDetailsTabViewModel); SelectedTabViewModel = sciMagDetailsTabViewModel; } else { bool modalWindow = openDetailsMode == SearchSettings.DetailsMode.NEW_MODAL_WINDOW; SciMagDetailsWindowViewModel detailsWindowViewModel = new SciMagDetailsWindowViewModel(MainModel, e.SciMagArticle, modalWindow); detailsWindowViewModel.SelectDownloadRequested += SelectDownloadRequested; IWindowContext detailsWindowContext = WindowManager.CreateWindow(RegisteredWindows.WindowKey.SCI_MAG_DETAILS_WINDOW, detailsWindowViewModel, CurrentWindowContext); SciMagDetailsWindowSettings detailsWindowSettings = MainModel.AppSettings.SciMag.DetailsWindow; if (modalWindow) { detailsWindowContext.ShowDialog(detailsWindowSettings.Width, detailsWindowSettings.Height); detailsWindowViewModel.SelectDownloadRequested -= SelectDownloadRequested; } else { detailsWindowViewModel.WindowClosed += SciMagDetailsWindowClosed; detailsWindowContext.Show(detailsWindowSettings.Width, detailsWindowSettings.Height); } } }
private void OpenNonFictionDetailsRequested(object sender, OpenNonFictionDetailsEventArgs e) { Logger.Debug($"Opening non-fiction book with ID = {e.NonFictionBook.Id}, Libgen ID = {e.NonFictionBook.LibgenId}."); SearchSettings.DetailsMode openDetailsMode = MainModel.AppSettings.Search.OpenDetailsMode; if (openDetailsMode == SearchSettings.DetailsMode.NEW_TAB) { NonFictionDetailsTabViewModel nonFictionDetailsTabViewModel = new NonFictionDetailsTabViewModel(MainModel, CurrentWindowContext, e.NonFictionBook, isInModalWindow: false); nonFictionDetailsTabViewModel.SelectDownloadRequested += SelectDownloadRequested; nonFictionDetailsTabViewModel.CloseTabRequested += NonFictionDetailsCloseTabRequested; TabViewModels.Add(nonFictionDetailsTabViewModel); SelectedTabViewModel = nonFictionDetailsTabViewModel; } else { bool modalWindow = openDetailsMode == SearchSettings.DetailsMode.NEW_MODAL_WINDOW; NonFictionDetailsWindowViewModel detailsWindowViewModel = new NonFictionDetailsWindowViewModel(MainModel, e.NonFictionBook, modalWindow); detailsWindowViewModel.SelectDownloadRequested += SelectDownloadRequested; IWindowContext detailsWindowContext = WindowManager.CreateWindow(RegisteredWindows.WindowKey.NON_FICTION_DETAILS_WINDOW, detailsWindowViewModel, CurrentWindowContext); NonFictionDetailsWindowSettings detailsWindowSettings = MainModel.AppSettings.NonFiction.DetailsWindow; if (modalWindow) { detailsWindowContext.ShowDialog(detailsWindowSettings.Width, detailsWindowSettings.Height); detailsWindowViewModel.SelectDownloadRequested -= SelectDownloadRequested; } else { detailsWindowViewModel.WindowClosed += NonFictionDetailsWindowClosed; detailsWindowContext.Show(detailsWindowSettings.Width, detailsWindowSettings.Height); } } }
/// <summary> /// Initializes a new instance of the ViewModelLocator class. /// </summary> public ViewModelLocator() { ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); ////if (ViewModelBase.IsInDesignModeStatic) ////{ //// // Create design time view services and models //// SimpleIoc.Default.Register<IDataService, DesignDataService>(); ////} ////else ////{ //// // Create run time view services and models //// SimpleIoc.Default.Register<IDataService, DataService>(); ////} SimpleIoc.Default.Register <MainViewModel>(); SimpleIoc.Default.Register <BasicThreadFoobarViewModel>(); SimpleIoc.Default.Register <PoolFoobarViewModel>(); SimpleIoc.Default.Register <GoTapFoobarViewModel>(); SimpleIoc.Default.Register <AsyncKeywordFoobarViewModel>(); SimpleIoc.Default.Register <CustomAwaitFoobarViewModel>(); TabViewModels.Add(CustomAwait); TabViewModels.Add(AsyncKeyword); TabViewModels.Add(GoTapFoobar); TabViewModels.Add(PoolFoobar); TabViewModels.Add(BasicThreadFoobar); }
private void NewTab() { if (IsNewTabButtonVisible) { SearchTabViewModel searchTabViewModel = new SearchTabViewModel(MainModel, CurrentWindowContext); searchTabViewModel.NonFictionSearchComplete += SearchTabNonFictionSearchComplete; searchTabViewModel.FictionSearchComplete += SearchTabFictionSearchComplete; searchTabViewModel.SciMagSearchComplete += SearchTabSciMagSearchComplete; TabViewModels.Add(searchTabViewModel); SelectedTabViewModel = searchTabViewModel; NotifyPropertyChanged(nameof(IsNewTabButtonVisible)); } }
private void ShowSearchResults(SearchTabViewModel searchTabViewModel, TabViewModel searchResultsTabViewModel) { if (searchTabViewModel != DefaultSearchTabViewModel) { searchTabViewModel.NonFictionSearchComplete -= SearchTabNonFictionSearchComplete; searchTabViewModel.FictionSearchComplete -= SearchTabFictionSearchComplete; searchTabViewModel.SciMagSearchComplete -= SearchTabSciMagSearchComplete; TabViewModels.Remove(searchTabViewModel); } TabViewModels.Add(searchResultsTabViewModel); SelectedTabViewModel = searchResultsTabViewModel; NotifyPropertyChanged(nameof(IsDefaultSearchTabVisible)); NotifyPropertyChanged(nameof(AreTabsVisible)); NotifyPropertyChanged(nameof(IsNewTabButtonVisible)); }
public AdbGridViewModel(IDefaultPhoneInfoContainer container) { this.Container = container; SelectedTabModel = InfoDetailTabModel; TabViewModels.Add(InfoDetailTabModel); SelectedTabModel = InfoDetailTabModel; if (MInfoTypeHelper.GetMInfoTypeBox(container.InfoType) == MInfoTypeBox.AdbFile) { TabViewModels.Add(FileHexTabViewModel); if (container.InfoType == MInfoType.Image) { TabViewModels.Add(AdbPreviewViewModel); } } }
private void ShowDownloadManager() { DownloadManagerTabViewModel downloadManagerTabViewModel = DownloadManagerTabViewModel; if (downloadManagerTabViewModel == null) { downloadManagerTabViewModel = new DownloadManagerTabViewModel(MainModel, CurrentWindowContext); TabViewModels.Add(downloadManagerTabViewModel); SelectedTabViewModel = downloadManagerTabViewModel; NotifyPropertyChanged(nameof(IsDefaultSearchTabVisible)); NotifyPropertyChanged(nameof(AreTabsVisible)); NotifyPropertyChanged(nameof(IsNewTabButtonVisible)); } else { SelectedTabViewModel = downloadManagerTabViewModel; } }
private void LibraryMenuItemClick() { LibraryTabViewModel libraryTabViewModel = LibraryTabViewModel; if (libraryTabViewModel == null) { libraryTabViewModel = new LibraryTabViewModel(MainModel, CurrentWindowContext); libraryTabViewModel.OpenNonFictionDetailsRequested += OpenNonFictionDetailsRequested; libraryTabViewModel.OpenFictionDetailsRequested += OpenFictionDetailsRequested; libraryTabViewModel.OpenSciMagDetailsRequested += OpenSciMagDetailsRequested; TabViewModels.Add(libraryTabViewModel); SelectedTabViewModel = libraryTabViewModel; NotifyPropertyChanged(nameof(IsDefaultSearchTabVisible)); NotifyPropertyChanged(nameof(AreTabsVisible)); NotifyPropertyChanged(nameof(IsNewTabButtonVisible)); } else { SelectedTabViewModel = libraryTabViewModel; } }
private void BookmarksMenuItemClick(BookmarkViewModel bookmarkViewModel) { bool useCurrentTab; if (SelectedTabViewModel != null) { switch (bookmarkViewModel.LibgenObjectType) { case LibgenObjectType.NON_FICTION_BOOK: useCurrentTab = SelectedTabViewModel is NonFictionSearchResultsTabViewModel; break; case LibgenObjectType.FICTION_BOOK: useCurrentTab = SelectedTabViewModel is FictionSearchResultsTabViewModel; break; case LibgenObjectType.SCIMAG_ARTICLE: useCurrentTab = SelectedTabViewModel is SciMagSearchResultsTabViewModel; break; default: useCurrentTab = false; break; } } else { useCurrentTab = false; } if (useCurrentTab) { (SelectedTabViewModel as SearchResultsTabViewModel).Search(bookmarkViewModel.SearchQuery); } else { SearchResultsTabViewModel newTab; switch (bookmarkViewModel.LibgenObjectType) { case LibgenObjectType.NON_FICTION_BOOK: NonFictionSearchResultsTabViewModel nonFictionNewTab = new NonFictionSearchResultsTabViewModel(MainModel, CurrentWindowContext, bookmarkViewModel.SearchQuery, new List <NonFictionBook>()); nonFictionNewTab.OpenNonFictionDetailsRequested += OpenNonFictionDetailsRequested; newTab = nonFictionNewTab; break; case LibgenObjectType.FICTION_BOOK: FictionSearchResultsTabViewModel fictionNewTab = new FictionSearchResultsTabViewModel(MainModel, CurrentWindowContext, bookmarkViewModel.SearchQuery, new List <FictionBook>()); fictionNewTab.OpenFictionDetailsRequested += OpenFictionDetailsRequested; newTab = fictionNewTab; break; case LibgenObjectType.SCIMAG_ARTICLE: SciMagSearchResultsTabViewModel sciMagNewTab = new SciMagSearchResultsTabViewModel(MainModel, CurrentWindowContext, bookmarkViewModel.SearchQuery, new List <SciMagArticle>()); sciMagNewTab.OpenSciMagDetailsRequested += OpenSciMagDetailsRequested; newTab = sciMagNewTab; break; default: newTab = null; break; } if (newTab != null) { newTab.Search(bookmarkViewModel.SearchQuery); TabViewModels.Add(newTab); SelectedTabViewModel = newTab; NotifyPropertyChanged(nameof(IsDefaultSearchTabVisible)); NotifyPropertyChanged(nameof(AreTabsVisible)); NotifyPropertyChanged(nameof(IsNewTabButtonVisible)); } } }