public FictionSearchResultsTabViewModel(MainModel mainModel, IWindowContext parentWindowContext, string searchQuery,
                                                List <FictionBook> searchResults)
            : base(mainModel, parentWindowContext, LibgenObjectType.FICTION_BOOK, searchQuery)
        {
            columnSettings = mainModel.AppSettings.Fiction.Columns;
            LanguageFormatter formatter = MainModel.Localization.CurrentLanguage.Formatter;

            books = new ObservableCollection <FictionSearchResultItemViewModel>(searchResults.Select(book =>
                                                                                                     new FictionSearchResultItemViewModel(book, formatter)));
            Initialize();
        }
        public FictionSearchResultsTabViewModel(MainModel mainModel, IWindowContext parentWindowContext, string searchQuery,
                                                List <FictionBook> searchResults)
            : base(mainModel, parentWindowContext, LibgenObjectType.FICTION_BOOK, searchQuery)
        {
            columnSettings = mainModel.AppSettings.Fiction.Columns;
            LanguageFormatter formatter = MainModel.Localization.CurrentLanguage.Formatter;

            books = new ObservableCollection <FictionSearchResultItemViewModel>(searchResults.Select(book =>
                                                                                                     new FictionSearchResultItemViewModel(book, formatter)));
            OpenDetailsCommand          = new Command(param => OpenDetails((param as FictionSearchResultItemViewModel)?.Book));
            BookDataGridEnterKeyCommand = new Command(BookDataGridEnterKeyPressed);
            Initialize();
        }
 public FictionSearchResultsTabViewModel(MainModel mainModel, IWindowContext parentWindowContext, string searchQuery,
                                         ObservableCollection <FictionBook> searchResults)
     : base(mainModel, parentWindowContext, searchQuery)
 {
     columnSettings                   = mainModel.AppSettings.Fiction.Columns;
     this.searchQuery                 = searchQuery;
     books                            = searchResults;
     ExportPanelViewModel             = new ExportPanelViewModel(mainModel, LibgenObjectType.FICTION_BOOK, parentWindowContext);
     ExportPanelViewModel.ClosePanel += CloseExportPanel;
     OpenDetailsCommand               = new Command(param => OpenDetails(param as FictionBook));
     SearchCommand                    = new Command(Search);
     BookDataGridEnterKeyCommand      = new Command(BookDataGridEnterKeyPressed);
     Initialize();
 }
Esempio n. 4
0
 private void ValidateAndCorrectFictionSettings()
 {
     if (Fiction == null)
     {
         Fiction = FictionSettings.Default;
     }
     else
     {
         if (Fiction.DetailsWindow == null)
         {
             Fiction.DetailsWindow = FictionDetailsWindowSettings.Default;
         }
         else
         {
             FictionDetailsWindowSettings fictionDetailsWindow = Fiction.DetailsWindow;
             if (fictionDetailsWindow.Width < FICTION_DETAILS_WINDOW_MIN_WIDTH)
             {
                 fictionDetailsWindow.Width = FICTION_DETAILS_WINDOW_MIN_WIDTH;
             }
             if (fictionDetailsWindow.Height < FICTION_DETAILS_WINDOW_MIN_HEIGHT)
             {
                 fictionDetailsWindow.Height = FICTION_DETAILS_WINDOW_MIN_HEIGHT;
             }
         }
         if (Fiction.Columns == null)
         {
             Fiction.Columns = FictionColumnSettings.Default;
         }
         else
         {
             FictionColumnSettings fictionColumns = Fiction.Columns;
             if (fictionColumns.TitleColumnWidth < FICTION_GRID_TITLE_COLUMN_MIN_WIDTH)
             {
                 fictionColumns.TitleColumnWidth = FICTION_GRID_TITLE_COLUMN_MIN_WIDTH;
             }
             if (fictionColumns.AuthorsColumnWidth < FICTION_GRID_AUTHORS_COLUMN_MIN_WIDTH)
             {
                 fictionColumns.AuthorsColumnWidth = FICTION_GRID_AUTHORS_COLUMN_MIN_WIDTH;
             }
             if (fictionColumns.SeriesColumnWidth < FICTION_GRID_SERIES_COLUMN_MIN_WIDTH)
             {
                 fictionColumns.SeriesColumnWidth = FICTION_GRID_SERIES_COLUMN_MIN_WIDTH;
             }
             if (fictionColumns.YearColumnWidth < FICTION_GRID_YEAR_COLUMN_MIN_WIDTH)
             {
                 fictionColumns.YearColumnWidth = FICTION_GRID_YEAR_COLUMN_MIN_WIDTH;
             }
             if (fictionColumns.PublisherColumnWidth < FICTION_GRID_PUBLISHER_COLUMN_MIN_WIDTH)
             {
                 fictionColumns.PublisherColumnWidth = FICTION_GRID_PUBLISHER_COLUMN_MIN_WIDTH;
             }
             if (fictionColumns.FormatColumnWidth < FICTION_GRID_FORMAT_COLUMN_MIN_WIDTH)
             {
                 fictionColumns.FormatColumnWidth = FICTION_GRID_FORMAT_COLUMN_MIN_WIDTH;
             }
             if (fictionColumns.FileSizeColumnWidth < FICTION_GRID_FILESIZE_COLUMN_MIN_WIDTH)
             {
                 fictionColumns.FileSizeColumnWidth = FICTION_GRID_FILESIZE_COLUMN_MIN_WIDTH;
             }
             if (fictionColumns.ExistsInLibraryColumnWidth < FICTION_GRID_EXISTS_IN_LIBRARY_COLUMN_MIN_WIDTH)
             {
                 fictionColumns.ExistsInLibraryColumnWidth = FICTION_GRID_EXISTS_IN_LIBRARY_COLUMN_MIN_WIDTH;
             }
         }
         Fiction.ExportPanel = ValidateAndCorrectExportPanelSettings(Fiction.ExportPanel);
     }
 }