Add thumbnail quality to settings

This commit is contained in:
2024-02-01 23:03:21 +01:00
parent d5f2351905
commit 0cee4c9c53
6 changed files with 15 additions and 2 deletions
+1 -1
Submodule libXISF updated: aa356443d3...033a34e248
+3 -1
View File
@@ -489,7 +489,9 @@ void LoadRunable::run()
{
if(rawImage && rawImage->valid())
{
rawImage->resize(THUMB_SIZE, THUMB_SIZE);
if(QUALITY_RESIZE)
rawImage->resize(THUMB_SIZE, THUMB_SIZE);
rawImage->convertToThumbnail();
}
QMetaObject::invokeMethod(m_receiver, "thumbnailLoadFinish", Qt::QueuedConnection, Q_ARG(std::shared_ptr<RawImage>, rawImage));
+1
View File
@@ -7,6 +7,7 @@ int THUMB_SIZE = 128;
int THUMB_SIZE_BORDER = 138;
int THUMB_SIZE_BORDER_Y = 158;
double SATURATION = 0.95;
bool QUALITY_RESIZE = true;
#ifdef __SSE2__
template<typename T, int ch>
+1
View File
@@ -12,6 +12,7 @@
extern int THUMB_SIZE;
extern int THUMB_SIZE_BORDER;
extern int THUMB_SIZE_BORDER_Y;
extern bool QUALITY_RESIZE;
class Peak
{
+8
View File
@@ -71,11 +71,16 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent)
m_filtering->addItems({tr("Nearest"), tr("Linear"), tr("Cubic")});
m_filtering->setCurrentIndex(FILTERING);
m_qualityThumbnail = new QCheckBox(tr("Smooth thumbnails"), this);
m_qualityThumbnail->setChecked(QUALITY_RESIZE);
m_qualityThumbnail->setToolTip(tr("Use box filter when downsampling thumbnails instead of nearest. Slightly slower."));
layout->addRow(tr("Image preload count"), m_preloadImages);
layout->addRow(tr("Thumbnails size"), m_thumSize);
layout->addRow(tr("Saturation"), m_saturation);
layout->addRow(tr("Slideshow interval"), m_slideShowTime);
layout->addRow(tr("Image filtering"), m_filtering);
layout->addRow(m_qualityThumbnail);
layout->addRow(m_useNativeDialog);
//layout->addRow(new QLabel(tr("Changes in settings will take effect after program restart.")));
@@ -97,6 +102,7 @@ void SettingsDialog::loadSettings()
DEFAULT_WIDTH = settings.value("settings/preloadimagecount", DEFAULT_WIDTH).toInt();
SATURATION = settings.value("settings/saturation", 95.0).toDouble() / 100.0;
FILTERING = settings.value("settings/filtering", FILTERING).toInt();
QUALITY_RESIZE = settings.value("settings/qualitythumbnail").toBool();
QApplication::setAttribute(Qt::AA_DontUseNativeDialogs, settings.value("settings/dontusenativedialogs", false).toBool());
}
@@ -118,6 +124,8 @@ void SettingsDialog::saveSettings()
settings.setValue("settings/dontusenativedialogs", m_useNativeDialog->isChecked());
settings.setValue("settings/saturation", m_saturation->value());
settings.setValue("settings/slideshowtime", m_slideShowTime->value());
settings.setValue("settings/qualitythumbnail", m_qualityThumbnail->isChecked());
QUALITY_RESIZE = m_qualityThumbnail->isChecked();
FILTERING = m_filtering->currentIndex();
settings.setValue("settings/filtering", FILTERING);
SATURATION = m_saturation->value() / 100.0;
+1
View File
@@ -23,6 +23,7 @@ private:
QDoubleSpinBox *m_slideShowTime;
QDoubleSpinBox *m_saturation;
QCheckBox *m_useNativeDialog;
QCheckBox *m_qualityThumbnail;
QComboBox *m_filtering;
};