configure the unit to image length, default unit is pixel and printing units are forbidden.
Initialize aspect ratio lockers with the current proportion.
65 : QWidget(parent)
66{
67
70
72
74 m_page->layout()->setContentsMargins(0, 0, 0, 0);
75 m_page->setObjectName(
"image_size");
76
78 m_page->pixelFilterCmb->allowAuto(
true);
80
83 } else {
85 }
86
89 m_page->pixelFilterCmb->setAutoHint(filterStrategy->
name());
90 });
91
98
100
104
106
108
113 m_page->pixelWidthDouble->changeValue(width);
114 m_page->pixelHeightDouble->changeValue(height);
115 m_page->pixelWidthDouble->setDisplayUnit(
false);
116 m_page->pixelHeightDouble->setDisplayUnit(
false);
117 m_page->pixelWidthDouble->setFocus();
118
119 connect(
m_page->pixelWidthDouble, qOverload<double>(&KisDoubleParseUnitSpinBox::valueChanged), [
this](){
120 Q_EMIT sigDesiredSizeChanged(desiredWidth(), desiredHeight(), desiredResolution());
121 });
122 connect(
m_page->pixelHeightDouble, qOverload<double>(&KisDoubleParseUnitSpinBox::valueChanged), [
this](){
123 Q_EMIT sigDesiredSizeChanged(desiredWidth(), desiredHeight(), desiredResolution());
124 });
125
127
129
131 m_page->pixelSizeUnit->setCurrentIndex(unitId);
132
141 m_page->pixelSizeUnit, SLOT(setCurrentIndex(
int)));
142
144
146
152
155 m_page->printWidth->setDisplayUnit(
false);
156 m_page->printHeight->setDisplayUnit(
false);
157 m_page->printResolution->setAlignment(Qt::AlignRight);
158
160
161
164
165
176
183
188 connect(
this, SIGNAL(okClicked()),
this, SLOT(accept()));
189
194 m_page->pixelAspectRatioBtn->setKeepAspectRatio(
true);
195 m_page->printAspectRatioBtn->setKeepAspectRatio(
true);
196 m_page->constrainProportionsCkb->setChecked(
true);
197
200
203
210 m_page->constrainProportionsCkb, SIGNAL(toggled(
bool)),
212
216
220
222 m_page->adjustPrintSizeSeparatelyCkb, SIGNAL(toggled(
bool)),
224
231 m_page->printWidthUnit, SIGNAL(currentIndexChanged(
int)),
233
236 m_page->printWidthUnit, SLOT(setCurrentIndex(
int)));
237
239 connect(
m_page->printResolutionUnit, SIGNAL(currentIndexChanged(
int)),
241
249
253
255 m_page->printResolution, SIGNAL(valueChanged(
double)),
257
258
262 QString printSizeUnit;
263
264 if (QLocale().measurementSystem() == QLocale::MetricSystem) {
265 printSizeUnit = "cm";
266 } else {
267 printSizeUnit = "in";
268 }
269
270 printSizeUnit = cfg.readEntry<QString>(
PARAM_SIZE_UNIT, printSizeUnit);
271
273
276
282
283 QString printResUnit = cfg.readEntry<QString>(
PARAM_RES_UNIT,
"");
284 m_page->printResolutionUnit->setCurrentText(printResUnit);
285
288
289 QHBoxLayout *l = new QHBoxLayout();
291 this->setLayout(l);
292
293 m_page->pixelWidthDouble->setFocus();
294}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void connectForwardBool(QObject *sender, const char *signal, QObject *receiver, const char *method)
KisAcyclicSignalConnector * createCoordinatedConnector()
create a coordinated connector that can be used for extending the number of self-locking connection.
void connectBackwardInt(QObject *sender, const char *signal, QObject *receiver, const char *method)
void connectBackwardVoid(QObject *sender, const char *signal, QObject *receiver, const char *method)
void connectBackwardBool(QObject *sender, const char *signal, QObject *receiver, const char *method)
void connectForwardInt(QObject *sender, const char *signal, QObject *receiver, const char *method)
void connectForwardVoid(QObject *sender, const char *signal, QObject *receiver, const char *method)
void connectSpinBoxes(SpinBoxType *spinOne, SpinBoxType *spinTwo, KoAspectButton *aspectButton)
static const KoID AutoOptionID
The KisDocumentAwareSpinBoxUnitManager class is a KisSpinBoxUnitManager that is able to connect to th...
static KisFilterStrategyRegistry * instance()
KisFilterStrategy * autoFilterStrategy(QSize originalSize, QSize desiredSize) const
void addWidget(QWidget *widget)
The KisSpinBoxUnitManager class is an abstract interface for the unitspinboxes classes to manage diff...
void setApparentUnitFromSymbol(QString pSymbol)
void syncWithOtherUnitManager(KisSpinBoxUnitManager *other)
void setUnitDimension(UnitDimension dimension)
int getApparentUnitId() const
get the position of the apparent unit in the list of units. It is useful if we want to build a model ...
void slotLockPixelRatioSwitched(bool value)
void slotLockPrintRatioSwitched(bool value)
KisAspectRatioLocker * m_printSizeLocker
void sigDesiredSizeChanged(qint32 width, qint32 height, double resolution)
void slotPrintResolutionUnitChanged()
static const QString PARAM_PRINT_SIZE_SEPARATE
static const QString PARAM_RES_UNIT
void slotSyncPrintToPixelSize()
KisDocumentAwareSpinBoxUnitManager * m_widthUnitManager
void slotAdjustSeparatelySwitched(bool value)
void slotSyncPixelToPrintSize()
void slotPrintResolutionChanged()
static const QString PARAM_IMSIZE_UNIT
KisAspectRatioLocker * m_pixelSizeLocker
KisSpinBoxUnitManager * m_printSizeUnitManager
void slotLockAllRatioSwitched(bool value)
KisDocumentAwareSpinBoxUnitManager * m_heightUnitManager
void setCurrentResolutionPPI(qreal value)
static const QString PARAM_RATIO_LOCK
static const QString PARAM_SIZE_UNIT
static KisFilterStrategy * lastUsedFilter
static const QString pixelsCentimeterStr()
static const int maxImagePixelSize
static QString pixelsInchStr()