KoPageLayoutWidget::KoPageLayoutWidget(QWidget *parent, const KoPageLayout &layout) : QWidget(parent) , d(new Private) { d->widget.setupUi(this); d->pageLayout = layout; d->marginsEnabled = true; d->allowSignals = true; d->orientationGroup = new QButtonGroup(this); d->orientationGroup->addButton(d->widget.portrait, KoPageFormat::Portrait); d->orientationGroup->addButton(d->widget.landscape, KoPageFormat::Landscape); QButtonGroup *group2 = new QButtonGroup(this); group2->addButton(d->widget.singleSided); group2->addButton(d->widget.facingPages); // the two sets of labels we use might have different lengths; make sure this does not create a 'jumping' ui d->widget.facingPages->setChecked(true); facingPagesChanged(); int width = qMax(d->widget.leftLabel->width(), d->widget.rightLabel->width()); d->widget.singleSided->setChecked(true); facingPagesChanged(); width = qMax(width, qMax(d->widget.leftLabel->width(), d->widget.rightLabel->width())); d->widget.leftLabel->setMinimumSize(QSize(width, 5)); d->widget.units->addItems(KoUnit::listOfUnitNameForUi(KoUnit::HidePixel)); d->widget.sizes->addItems(KoPageFormat::localizedPageFormatNames()); setPageSpread(false); connect(d->widget.sizes, SIGNAL(currentIndexChanged(int)), this, SLOT(sizeChanged(int))); connect(d->widget.units, SIGNAL(currentIndexChanged(int)), this, SLOT(unitChanged(int))); connect(group2, SIGNAL(buttonClicked (int)), this, SLOT(facingPagesChanged())); connect(d->orientationGroup, SIGNAL(buttonClicked (int)), this, SLOT(orientationChanged())); connect(d->widget.width, SIGNAL(valueChangedPt(qreal)), this, SLOT(optionsChanged())); connect(d->widget.height, SIGNAL(valueChangedPt(qreal)), this, SLOT(optionsChanged())); connect(d->widget.topMargin, SIGNAL(valueChangedPt(qreal)), this, SLOT(marginsChanged())); connect(d->widget.bottomMargin, SIGNAL(valueChangedPt(qreal)), this, SLOT(marginsChanged())); connect(d->widget.bindingEdgeMargin, SIGNAL(valueChangedPt(qreal)), this, SLOT(marginsChanged())); connect(d->widget.pageEdgeMargin, SIGNAL(valueChangedPt(qreal)), this, SLOT(marginsChanged())); connect(d->widget.width, SIGNAL(valueChangedPt(qreal)), this, SLOT(optionsChanged())); connect(d->widget.height, SIGNAL(valueChangedPt(qreal)), this, SLOT(optionsChanged())); setUnit(KoUnit(KoUnit::Millimeter)); setPageLayout(layout); if (layout.format == 0) // make sure we always call this during startup, even if the A3 (index=0) was chosen sizeChanged(layout.format); showTextDirection(false); /* disable advanced page layout features by default */ d->widget.facingPageLabel->setVisible(false); d->widget.facingPages->setVisible(false); d->widget.singleSided->setVisible(false); d->widget.stylesLabel->setVisible(false); d->widget.pageStyle->setVisible(false); }
void FrameSvgItemMargins::setFixed(bool fixed) { if (fixed == m_fixed) { return; } m_fixed = fixed; emit marginsChanged(); }
void KoPageLayoutWidget::optionsChanged() { if (! d->allowSignals) return; if (d->widget.sizes->currentIndex() == KOdfPageFormat::CustomSize) { d->pageLayout.width = d->widget.width->value(); d->pageLayout.height = d->widget.height->value(); } else sizeChanged(d->widget.sizes->currentIndex()); marginsChanged(); }
void KoPageLayoutWidget::facingPagesChanged() { if (! d->allowSignals) return; d->allowSignals = false; if (d->widget.singleSided->isChecked()) { d->widget.leftLabel->setText(i18n("Left Edge:")); d->widget.rightLabel->setText(i18n("Right Edge:")); } else { d->widget.leftLabel->setText(i18n("Binding Edge:")); d->widget.rightLabel->setText(i18n("Page Edge:")); } d->allowSignals = true; marginsChanged(); sizeChanged(d->widget.sizes->currentIndex()); }
void QDeclarativeAnchors::setMargins(qreal offset) { Q_D(QDeclarativeAnchors); if (d->margins == offset) return; //###Is it significantly faster to set them directly so we can call fillChanged only once? if(!d->rightMargin || d->rightMargin == d->margins) setRightMargin(offset); if(!d->leftMargin || d->leftMargin == d->margins) setLeftMargin(offset); if(!d->topMargin || d->topMargin == d->margins) setTopMargin(offset); if(!d->bottomMargin || d->bottomMargin == d->margins) setBottomMargin(offset); d->margins = offset; emit marginsChanged(); }
void AnchorsBase::setMargins(int margins) { Q_D(AnchorsBase); if (d->margins == margins) { return; } d->margins = margins; if (margins != 0) { if (d->fill->target()) { updateFill(); } else { updateVertical(); updateHorizontal(); } } emit marginsChanged(margins); }
void KoPageLayoutWidget::setTextAreaAvailable(bool available) { d->marginsEnabled = available; d->widget.margins->setEnabled(available); marginsChanged(); }
void FrameSvgItemMargins::update() { emit marginsChanged(); }