Example #1
0
 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);
         }
     }
 }
Example #2
0
 private void ValidateAndCorrectSciMagSettings()
 {
     if (SciMag == null)
     {
         SciMag = SciMagSettings.Default;
     }
     else
     {
         if (SciMag.DetailsWindow == null)
         {
             SciMag.DetailsWindow = SciMagDetailsWindowSettings.Default;
         }
         else
         {
             SciMagDetailsWindowSettings sciMagDetailsWindow = SciMag.DetailsWindow;
             if (sciMagDetailsWindow.Width < SCI_MAG_DETAILS_WINDOW_MIN_WIDTH)
             {
                 sciMagDetailsWindow.Width = SCI_MAG_DETAILS_WINDOW_MIN_WIDTH;
             }
             if (sciMagDetailsWindow.Height < SCI_MAG_DETAILS_WINDOW_MIN_HEIGHT)
             {
                 sciMagDetailsWindow.Height = SCI_MAG_DETAILS_WINDOW_MIN_HEIGHT;
             }
         }
         if (SciMag.Columns == null)
         {
             SciMag.Columns = SciMagColumnSettings.Default;
         }
         else
         {
             SciMagColumnSettings sciMagColumns = SciMag.Columns;
             if (sciMagColumns.TitleColumnWidth < SCI_MAG_GRID_TITLE_COLUMN_MIN_WIDTH)
             {
                 sciMagColumns.TitleColumnWidth = SCI_MAG_GRID_TITLE_COLUMN_MIN_WIDTH;
             }
             if (sciMagColumns.AuthorsColumnWidth < SCI_MAG_GRID_AUTHORS_COLUMN_MIN_WIDTH)
             {
                 sciMagColumns.AuthorsColumnWidth = SCI_MAG_GRID_AUTHORS_COLUMN_MIN_WIDTH;
             }
             if (sciMagColumns.JournalColumnWidth < SCI_MAG_GRID_JOURNAL_COLUMN_MIN_WIDTH)
             {
                 sciMagColumns.JournalColumnWidth = SCI_MAG_GRID_JOURNAL_COLUMN_MIN_WIDTH;
             }
             if (sciMagColumns.YearColumnWidth < SCI_MAG_GRID_YEAR_COLUMN_MIN_WIDTH)
             {
                 sciMagColumns.YearColumnWidth = SCI_MAG_GRID_YEAR_COLUMN_MIN_WIDTH;
             }
             if (sciMagColumns.FileSizeColumnWidth < SCI_MAG_GRID_FILESIZE_COLUMN_MIN_WIDTH)
             {
                 sciMagColumns.FileSizeColumnWidth = SCI_MAG_GRID_FILESIZE_COLUMN_MIN_WIDTH;
             }
             if (sciMagColumns.DoiColumnWidth < SCI_MAG_GRID_DOI_COLUMN_MIN_WIDTH)
             {
                 sciMagColumns.DoiColumnWidth = SCI_MAG_GRID_DOI_COLUMN_MIN_WIDTH;
             }
         }
         SciMag.ExportPanel = ValidateAndCorrectExportPanelSettings(SciMag.ExportPanel);
     }
 }