Add thumbnail quality to settings
This commit is contained in:
+1
-1
Submodule libXISF updated: aa356443d3...033a34e248
+3
-1
@@ -489,7 +489,9 @@ void LoadRunable::run()
|
|||||||
{
|
{
|
||||||
if(rawImage && rawImage->valid())
|
if(rawImage && rawImage->valid())
|
||||||
{
|
{
|
||||||
rawImage->resize(THUMB_SIZE, THUMB_SIZE);
|
if(QUALITY_RESIZE)
|
||||||
|
rawImage->resize(THUMB_SIZE, THUMB_SIZE);
|
||||||
|
|
||||||
rawImage->convertToThumbnail();
|
rawImage->convertToThumbnail();
|
||||||
}
|
}
|
||||||
QMetaObject::invokeMethod(m_receiver, "thumbnailLoadFinish", Qt::QueuedConnection, Q_ARG(std::shared_ptr<RawImage>, rawImage));
|
QMetaObject::invokeMethod(m_receiver, "thumbnailLoadFinish", Qt::QueuedConnection, Q_ARG(std::shared_ptr<RawImage>, rawImage));
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ int THUMB_SIZE = 128;
|
|||||||
int THUMB_SIZE_BORDER = 138;
|
int THUMB_SIZE_BORDER = 138;
|
||||||
int THUMB_SIZE_BORDER_Y = 158;
|
int THUMB_SIZE_BORDER_Y = 158;
|
||||||
double SATURATION = 0.95;
|
double SATURATION = 0.95;
|
||||||
|
bool QUALITY_RESIZE = true;
|
||||||
|
|
||||||
#ifdef __SSE2__
|
#ifdef __SSE2__
|
||||||
template<typename T, int ch>
|
template<typename T, int ch>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
extern int THUMB_SIZE;
|
extern int THUMB_SIZE;
|
||||||
extern int THUMB_SIZE_BORDER;
|
extern int THUMB_SIZE_BORDER;
|
||||||
extern int THUMB_SIZE_BORDER_Y;
|
extern int THUMB_SIZE_BORDER_Y;
|
||||||
|
extern bool QUALITY_RESIZE;
|
||||||
|
|
||||||
class Peak
|
class Peak
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -71,11 +71,16 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent)
|
|||||||
m_filtering->addItems({tr("Nearest"), tr("Linear"), tr("Cubic")});
|
m_filtering->addItems({tr("Nearest"), tr("Linear"), tr("Cubic")});
|
||||||
m_filtering->setCurrentIndex(FILTERING);
|
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("Image preload count"), m_preloadImages);
|
||||||
layout->addRow(tr("Thumbnails size"), m_thumSize);
|
layout->addRow(tr("Thumbnails size"), m_thumSize);
|
||||||
layout->addRow(tr("Saturation"), m_saturation);
|
layout->addRow(tr("Saturation"), m_saturation);
|
||||||
layout->addRow(tr("Slideshow interval"), m_slideShowTime);
|
layout->addRow(tr("Slideshow interval"), m_slideShowTime);
|
||||||
layout->addRow(tr("Image filtering"), m_filtering);
|
layout->addRow(tr("Image filtering"), m_filtering);
|
||||||
|
layout->addRow(m_qualityThumbnail);
|
||||||
layout->addRow(m_useNativeDialog);
|
layout->addRow(m_useNativeDialog);
|
||||||
//layout->addRow(new QLabel(tr("Changes in settings will take effect after program restart.")));
|
//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();
|
DEFAULT_WIDTH = settings.value("settings/preloadimagecount", DEFAULT_WIDTH).toInt();
|
||||||
SATURATION = settings.value("settings/saturation", 95.0).toDouble() / 100.0;
|
SATURATION = settings.value("settings/saturation", 95.0).toDouble() / 100.0;
|
||||||
FILTERING = settings.value("settings/filtering", FILTERING).toInt();
|
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());
|
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/dontusenativedialogs", m_useNativeDialog->isChecked());
|
||||||
settings.setValue("settings/saturation", m_saturation->value());
|
settings.setValue("settings/saturation", m_saturation->value());
|
||||||
settings.setValue("settings/slideshowtime", m_slideShowTime->value());
|
settings.setValue("settings/slideshowtime", m_slideShowTime->value());
|
||||||
|
settings.setValue("settings/qualitythumbnail", m_qualityThumbnail->isChecked());
|
||||||
|
QUALITY_RESIZE = m_qualityThumbnail->isChecked();
|
||||||
FILTERING = m_filtering->currentIndex();
|
FILTERING = m_filtering->currentIndex();
|
||||||
settings.setValue("settings/filtering", FILTERING);
|
settings.setValue("settings/filtering", FILTERING);
|
||||||
SATURATION = m_saturation->value() / 100.0;
|
SATURATION = m_saturation->value() / 100.0;
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ private:
|
|||||||
QDoubleSpinBox *m_slideShowTime;
|
QDoubleSpinBox *m_slideShowTime;
|
||||||
QDoubleSpinBox *m_saturation;
|
QDoubleSpinBox *m_saturation;
|
||||||
QCheckBox *m_useNativeDialog;
|
QCheckBox *m_useNativeDialog;
|
||||||
|
QCheckBox *m_qualityThumbnail;
|
||||||
QComboBox *m_filtering;
|
QComboBox *m_filtering;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user