Exemple #1
0
        private void SearchTabSciMagSearchComplete(object sender, SearchCompleteEventArgs <SciMagArticle> e)
        {
            SciMagSearchResultsTabViewModel sciMagSearchResultsTabViewModel =
                new SciMagSearchResultsTabViewModel(MainModel, CurrentWindowContext, e.SearchQuery, e.SearchResult);

            sciMagSearchResultsTabViewModel.OpenSciMagDetailsRequested += OpenSciMagDetailsRequested;
            ShowSearchResults(sender as SearchTabViewModel, sciMagSearchResultsTabViewModel);
        }
Exemple #2
0
        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));
                }
            }
        }