Add setting to control what "recent" is considered.

This commit is contained in:
Luis Ángel San Martín
2023-05-20 17:43:38 +02:00
parent 6a6a239cc7
commit 45af72520b
17 changed files with 86 additions and 14 deletions

View File

@ -86,6 +86,18 @@ OptionsDialog::OptionsDialog(QWidget *parent)
comicInfoXMLBoxLayout->addWidget(comicInfoXMLCheckbox);
comicInfoXMLBox->setLayout(comicInfoXMLBoxLayout);
auto recentlyAddedBox = new QGroupBox(tr("Consider 'recent' items added or updated since X days ago"));
recentIntervalSlider = new QSlider(Qt::Horizontal);
recentIntervalSlider->setRange(1, 30);
auto recentlyAddedLayout = new QHBoxLayout();
numDaysLabel = new QLabel();
numDaysLabel->setMidLineWidth(50);
recentlyAddedLayout->addWidget(numDaysLabel);
recentlyAddedLayout->addWidget(recentIntervalSlider);
recentlyAddedBox->setLayout(recentlyAddedLayout);
connect(recentIntervalSlider, &QAbstractSlider::valueChanged, this, &OptionsDialog::numDaysToConsiderRecentChanged);
// grid view background config
useBackgroundImageCheck = new QCheckBox(tr("Enable background image"));
@ -152,6 +164,7 @@ OptionsDialog::OptionsDialog(QWidget *parent)
generalLayout->addWidget(shortcutsBox);
generalLayout->addWidget(apiKeyBox);
generalLayout->addWidget(comicInfoXMLBox);
generalLayout->addWidget(recentlyAddedBox);
generalLayout->addStretch();
tabWidget->addTab(generalW, tr("General"));
@ -163,8 +176,6 @@ OptionsDialog::OptionsDialog(QWidget *parent)
layout->addWidget(tabWidget);
layout->addLayout(buttons);
setLayout(layout);
// restoreOptions(settings); //load options
// resize(200,0);
setModal(true);
setWindowTitle(tr("Options"));
@ -187,6 +198,8 @@ void OptionsDialog::restoreOptions(QSettings *settings)
comicInfoXMLCheckbox->setChecked(settings->value(IMPORT_COMIC_INFO_XML_METADATA, false).toBool());
recentIntervalSlider->setValue(settings->value(NUM_DAYS_TO_CONSIDER_RECENT, 1).toInt());
bool useBackgroundImage = settings->value(USE_BACKGROUND_IMAGE_IN_GRID_VIEW, true).toBool();
useBackgroundImageCheck->setChecked(useBackgroundImage);
@ -237,6 +250,15 @@ void OptionsDialog::useCurrentComicCoverCheckClicked(bool checked)
emit optionsChanged();
}
void OptionsDialog::numDaysToConsiderRecentChanged(int value)
{
settings->setValue(NUM_DAYS_TO_CONSIDER_RECENT, value);
numDaysLabel->setText(QString("%1").arg(value));
emit optionsChanged();
}
void OptionsDialog::resetToDefaults()
{
settings->setValue(OPACITY_BACKGROUND_IMAGE_IN_GRID_VIEW, 0.2);