Changeset View
Changeset View
Standalone View
Standalone View
src/Gui/SettingsDialog/SaveOptionsPage.cpp
Show All 22 Lines | |||||
23 | #include "SpectacleConfig.h" | 23 | #include "SpectacleConfig.h" | ||
24 | #include "ExportManager.h" | 24 | #include "ExportManager.h" | ||
25 | 25 | | |||
26 | #include <KIOWidgets/KUrlRequester> | 26 | #include <KIOWidgets/KUrlRequester> | ||
27 | #include <KLocalizedString> | 27 | #include <KLocalizedString> | ||
28 | 28 | | |||
29 | #include <QLineEdit> | 29 | #include <QLineEdit> | ||
30 | #include <QLabel> | 30 | #include <QLabel> | ||
31 | #include <QSpinBox> | ||||
31 | #include <QFormLayout> | 32 | #include <QFormLayout> | ||
32 | #include <QHBoxLayout> | 33 | #include <QHBoxLayout> | ||
33 | #include <QComboBox> | 34 | #include <QComboBox> | ||
34 | #include <QImageWriter> | 35 | #include <QImageWriter> | ||
35 | #include <QCheckBox> | 36 | #include <QCheckBox> | ||
36 | 37 | | |||
37 | SaveOptionsPage::SaveOptionsPage(QWidget *parent) : | 38 | SaveOptionsPage::SaveOptionsPage(QWidget *parent) : | ||
38 | SettingsPage(parent) | 39 | SettingsPage(parent) | ||
Show All 14 Lines | 40 | { | |||
53 | 54 | | |||
54 | mainLayout->addItem(new QSpacerItem(0, 18, QSizePolicy::Fixed, QSizePolicy::Fixed)); | 55 | mainLayout->addItem(new QSpacerItem(0, 18, QSizePolicy::Fixed, QSizePolicy::Fixed)); | ||
55 | 56 | | |||
56 | // Compression quality slider and current value display | 57 | // Compression quality slider and current value display | ||
57 | QHBoxLayout *sliderHorizLayout = new QHBoxLayout(); | 58 | QHBoxLayout *sliderHorizLayout = new QHBoxLayout(); | ||
58 | QVBoxLayout *sliderVertLayout = new QVBoxLayout(); | 59 | QVBoxLayout *sliderVertLayout = new QVBoxLayout(); | ||
59 | 60 | | |||
60 | // Current value | 61 | // Current value | ||
61 | QLabel *qualityValue = new QLabel(); | 62 | QSpinBox *mQualitySpinner = new QSpinBox(); | ||
62 | qualityValue->setNum(SpectacleConfig::instance()->compressionQuality()); | 63 | mQualitySpinner->setSuffix(QString::fromUtf8("%")); | ||
63 | qualityValue->setMinimumWidth(qualityValue->fontInfo().pointSize()*3); | 64 | mQualitySpinner->setRange(0, 100); | ||
65 | mQualitySpinner->setValue(SpectacleConfig::instance()->compressionQuality()); | ||||
66 | connect(mQualitySpinner, QOverload<int>::of(&QSpinBox::valueChanged), this, [=] (int value) {mQualitySlider->setValue(value);}); | ||||
64 | 67 | | |||
65 | // Slider | 68 | // Slider | ||
66 | mQualitySlider = new QSlider(Qt::Horizontal); | 69 | mQualitySlider = new QSlider(Qt::Horizontal); | ||
67 | mQualitySlider->setRange(0, 100); | 70 | mQualitySlider->setRange(0, 100); | ||
68 | mQualitySlider->setTickInterval(5); | | |||
69 | mQualitySlider->setSliderPosition(SpectacleConfig::instance()->compressionQuality()); | 71 | mQualitySlider->setSliderPosition(SpectacleConfig::instance()->compressionQuality()); | ||
70 | mQualitySlider->setTickPosition(QSlider::TicksBelow); | | |||
71 | mQualitySlider->setTracking(true); | 72 | mQualitySlider->setTracking(true); | ||
72 | connect(mQualitySlider, &QSlider::valueChanged, this, [=](int value) { | 73 | connect(mQualitySlider, &QSlider::valueChanged, this, [=](int value) { | ||
73 | qualityValue->setNum(value); | 74 | mQualitySpinner->setValue(value); | ||
74 | markDirty(); | 75 | markDirty(); | ||
75 | }); | 76 | }); | ||
76 | 77 | | |||
77 | sliderHorizLayout->addWidget(mQualitySlider); | 78 | sliderHorizLayout->addWidget(mQualitySlider); | ||
78 | sliderHorizLayout->addWidget(qualityValue); | 79 | sliderHorizLayout->addWidget(mQualitySpinner); | ||
79 | 80 | | |||
80 | sliderVertLayout->addLayout(sliderHorizLayout); | 81 | sliderVertLayout->addLayout(sliderHorizLayout); | ||
81 | 82 | | |||
82 | QLabel *qualitySliderDescription = new QLabel(); | 83 | QLabel *qualitySliderDescription = new QLabel(); | ||
83 | qualitySliderDescription->setText(i18n("Choose the image quality when saving with lossy image formats like JPEG")); | 84 | qualitySliderDescription->setText(i18n("Choose the image quality when saving with lossy image formats like JPEG")); | ||
84 | 85 | | |||
85 | sliderVertLayout->addWidget(qualitySliderDescription); | 86 | sliderVertLayout->addWidget(qualitySliderDescription); | ||
86 | 87 | | |||
▲ Show 20 Lines • Show All 137 Lines • Show Last 20 Lines |