Add best fit on image load

This commit is contained in:
2025-03-02 13:44:59 +01:00
parent 13e1abf07e
commit 37fdac39dc
4 changed files with 14 additions and 0 deletions
+9
View File
@@ -9,6 +9,7 @@
extern int DEFAULT_WIDTH;
extern double SATURATION;
extern int FILTERING;
extern bool BESTFIT;
class EvenNumber : public QSpinBox
{
@@ -75,6 +76,10 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent)
m_qualityThumbnail->setChecked(QUALITY_RESIZE);
m_qualityThumbnail->setToolTip(tr("Use box filter when downsampling thumbnails instead of nearest. Slightly slower."));
m_bestFit = new QCheckBox(tr("Best Fit on image load"));
m_bestFit->setToolTip(tr("Set Best Fit zoom level when opening new image."));
m_bestFit->setChecked(BESTFIT);
layout->addRow(tr("Image preload count"), m_preloadImages);
layout->addRow(tr("Thumbnails size"), m_thumSize);
layout->addRow(tr("Saturation"), m_saturation);
@@ -82,6 +87,7 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent)
layout->addRow(tr("Image interpolation"), m_filtering);
layout->addRow(m_qualityThumbnail);
layout->addRow(m_useNativeDialog);
layout->addRow(m_bestFit);
//layout->addRow(new QLabel(tr("Changes in settings will take effect after program restart.")));
QDialogButtonBox *buttonBox = new QDialogButtonBox(this);
@@ -103,6 +109,7 @@ void SettingsDialog::loadSettings()
SATURATION = settings.value("settings/saturation", 95.0).toDouble() / 100.0;
FILTERING = settings.value("settings/filtering", FILTERING).toInt();
QUALITY_RESIZE = settings.value("settings/qualitythumbnail", QUALITY_RESIZE).toBool();
BESTFIT = settings.value("settings/bestfit", BESTFIT).toBool();
QApplication::setAttribute(Qt::AA_DontUseNativeDialogs, settings.value("settings/dontusenativedialogs", false).toBool());
}
@@ -127,7 +134,9 @@ void SettingsDialog::saveSettings()
settings.setValue("settings/qualitythumbnail", m_qualityThumbnail->isChecked());
QUALITY_RESIZE = m_qualityThumbnail->isChecked();
FILTERING = m_filtering->currentIndex();
BESTFIT = m_bestFit->isChecked();
settings.setValue("settings/filtering", FILTERING);
settings.setValue("settings/bestfit", BESTFIT);
SATURATION = m_saturation->value() / 100.0;
QApplication::setAttribute(Qt::AA_DontUseNativeDialogs, m_useNativeDialog->isChecked());
if(DEFAULT_WIDTH != m_preloadImages->value())