Beispiel #1
0
 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);
         }
     }
 }
Beispiel #2
0
 private void ValidateAndCorrectNonFictionSettings()
 {
     if (NonFiction == null)
     {
         NonFiction = NonFictionSettings.Default;
     }
     else
     {
         if (NonFiction.DetailsWindow == null)
         {
             NonFiction.DetailsWindow = NonFictionDetailsWindowSettings.Default;
         }
         else
         {
             NonFictionDetailsWindowSettings nonFictionDetailsWindow = NonFiction.DetailsWindow;
             if (nonFictionDetailsWindow.Width < NON_FICTION_DETAILS_WINDOW_MIN_WIDTH)
             {
                 nonFictionDetailsWindow.Width = NON_FICTION_DETAILS_WINDOW_MIN_WIDTH;
             }
             if (nonFictionDetailsWindow.Height < NON_FICTION_DETAILS_WINDOW_MIN_HEIGHT)
             {
                 nonFictionDetailsWindow.Height = NON_FICTION_DETAILS_WINDOW_MIN_HEIGHT;
             }
         }
         if (NonFiction.Columns == null)
         {
             NonFiction.Columns = NonFictionColumnSettings.Default;
         }
         else
         {
             NonFictionColumnSettings nonFictionColumns = NonFiction.Columns;
             if (nonFictionColumns.TitleColumnWidth < NON_FICTION_GRID_TITLE_COLUMN_MIN_WIDTH)
             {
                 nonFictionColumns.TitleColumnWidth = NON_FICTION_GRID_TITLE_COLUMN_MIN_WIDTH;
             }
             if (nonFictionColumns.AuthorsColumnWidth < NON_FICTION_GRID_AUTHORS_COLUMN_MIN_WIDTH)
             {
                 nonFictionColumns.AuthorsColumnWidth = NON_FICTION_GRID_AUTHORS_COLUMN_MIN_WIDTH;
             }
             if (nonFictionColumns.SeriesColumnWidth < NON_FICTION_GRID_SERIES_COLUMN_MIN_WIDTH)
             {
                 nonFictionColumns.SeriesColumnWidth = NON_FICTION_GRID_SERIES_COLUMN_MIN_WIDTH;
             }
             if (nonFictionColumns.YearColumnWidth < NON_FICTION_GRID_YEAR_COLUMN_MIN_WIDTH)
             {
                 nonFictionColumns.YearColumnWidth = NON_FICTION_GRID_YEAR_COLUMN_MIN_WIDTH;
             }
             if (nonFictionColumns.PublisherColumnWidth < NON_FICTION_GRID_PUBLISHER_COLUMN_MIN_WIDTH)
             {
                 nonFictionColumns.PublisherColumnWidth = NON_FICTION_GRID_PUBLISHER_COLUMN_MIN_WIDTH;
             }
             if (nonFictionColumns.FormatColumnWidth < NON_FICTION_GRID_FORMAT_COLUMN_MIN_WIDTH)
             {
                 nonFictionColumns.FormatColumnWidth = NON_FICTION_GRID_FORMAT_COLUMN_MIN_WIDTH;
             }
             if (nonFictionColumns.FileSizeColumnWidth < NON_FICTION_GRID_FILESIZE_COLUMN_MIN_WIDTH)
             {
                 nonFictionColumns.FileSizeColumnWidth = NON_FICTION_GRID_FILESIZE_COLUMN_MIN_WIDTH;
             }
             if (nonFictionColumns.OcrColumnWidth < NON_FICTION_GRID_OCR_COLUMN_MIN_WIDTH)
             {
                 nonFictionColumns.OcrColumnWidth = NON_FICTION_GRID_OCR_COLUMN_MIN_WIDTH;
             }
             if (nonFictionColumns.ExistsInLibraryColumnWidth < NON_FICTION_GRID_EXISTS_IN_LIBRARY_COLUMN_MIN_WIDTH)
             {
                 nonFictionColumns.ExistsInLibraryColumnWidth = NON_FICTION_GRID_EXISTS_IN_LIBRARY_COLUMN_MIN_WIDTH;
             }
         }
         NonFiction.ExportPanel = ValidateAndCorrectExportPanelSettings(NonFiction.ExportPanel);
     }
 }