KWPageSettingsDialog::KWPageSettingsDialog(QWidget *parent, KWDocument *document, const KWPage &page) : KoPageLayoutDialog(parent, page.pageStyle().pageLayout()), m_document(document), m_page(page) { Q_ASSERT(document); showUnitchooser(true); Q_ASSERT(page.isValid()); m_columns = new KWDocumentColumns(this, m_page.pageStyle().columns()); addPage(m_columns, i18n("Columns")); m_headerFooter = new KWHeaderFooter(this, m_page.pageStyle()); addPage(m_headerFooter, i18n("Header/Footer")); showPageSpread(true); showTextDirection(true); // TODO can we hide this in selected usecases? Use the resource manager bidi-check maybe? //showApplyToDocument(true); // TODO uncommand when we can handle it. bool simpleSetup = document->pageCount() == 1 || (document->pageCount() == 2 && page.pageSide() == KWPage::PageSpread); if (!simpleSetup) { // if there is one style, its still a simple doc bool onlyOneStyle = true; foreach (const KWPage &p, document->pageManager()->pages()) { if (p.pageStyle() != m_page.pageStyle()) { onlyOneStyle = false; break; } } if (onlyOneStyle) simpleSetup = true; }
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); }
KWPageSettingsDialog::KWPageSettingsDialog(QWidget *parent, KWDocument *document, const KWPage &page) : KoPageLayoutDialog(parent, page.pageStyle().pageLayout()), m_document(document), m_page(page), m_pageStyle(page.pageStyle()) { Q_ASSERT(document); setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Apply | QDialogButtonBox::Cancel); connect(buttonBox(), SIGNAL(clicked(QAbstractButton*)), this, SLOT(slotButtonClicked(QAbstractButton*))); showUnitchooser(true); Q_ASSERT(page.isValid()); m_columns = new KWDocumentColumns(this, m_page.pageStyle().columns()); KPageWidgetItem *columnsPage = addPage(m_columns, i18n("Columns")); QWidget *pageStyleWidget = new QWidget(this); QHBoxLayout *pageStyleLayout = new QHBoxLayout(pageStyleWidget); pageStyleLayout->setMargin(0); KPageWidgetItem *stylePage = addPage(pageStyleWidget, i18n("Style")); m_pageStylesView = new QListWidget(this); pageStyleLayout->addWidget(m_pageStylesView, 1); connect(m_pageStylesView, SIGNAL(currentRowChanged(int)), this, SLOT(pageStyleCurrentRowChanged(int))); QVBoxLayout *pageStyleLayout2 = new QVBoxLayout(); pageStyleLayout->addLayout(pageStyleLayout2); m_clonePageStyleButton = new QPushButton(i18n("Clone"), pageStyleWidget); connect(m_clonePageStyleButton, SIGNAL(clicked()), this, SLOT(pageStyleCloneClicked())); pageStyleLayout2->addWidget(m_clonePageStyleButton); m_deletePageStyleButton = new QPushButton(i18n("Delete"), pageStyleWidget); connect(m_deletePageStyleButton, SIGNAL(clicked()), this, SLOT(pageStyleDeleteClicked())); pageStyleLayout2->addWidget(m_deletePageStyleButton); pageStyleLayout2->addStretch(); foreach(KPageWidgetItem *item, QList<KPageWidgetItem*>() << columnsPage << stylePage) m_pages[item->name()] = item; reloadPageStyles(); showPageSpread(false); //TODO better would be allow n pages to face rather then only 2 showTextDirection(true); // TODO can we hide this in selected usecases? Use the resource manager bidi-check maybe? //showApplyToDocument(true); // TODO uncommand when we can handle it. #if 0 bool simpleSetup = m_document->pageCount() == 1 || (m_document->pageCount() == 2 && page.pageSide() == KWPage::PageSpread); if (!simpleSetup) { // if there is one style, its still a simple doc bool onlyOneStyle = true; foreach (const KWPage &p, m_document->pageManager()->pages()) { if (p.pageStyle() != m_page.pageStyle()) { onlyOneStyle = false; break; } } if (onlyOneStyle) simpleSetup = true; }