void TextTools::setRightAlign() { QTextBlockFormat bformat; bformat.setAlignment((bformat.alignment() & ~Qt::AlignHorizontal_Mask) | Qt::AlignRight); cursor()->mergeBlockFormat(bformat); updateTools(); }
void AnnotationSettings::updateStyleButtons() { QTextBlockFormat bf = _ui->content->textCursor().blockFormat(); switch(bf.alignment()) { case Qt::AlignLeft: _ui->left->setChecked(true); break; case Qt::AlignCenter: _ui->center->setChecked(true); break; case Qt::AlignJustify: _ui->justify->setChecked(true); break; case Qt::AlignRight: _ui->right->setChecked(true); break; default: break; } QTextCharFormat cf = _ui->content->textCursor().charFormat(); _ui->btnTextColor->setColor(cf.foreground().color()); _ui->size->blockSignals(true); if(cf.fontPointSize() < 1) _ui->size->setValue(12); else _ui->size->setValue(cf.fontPointSize()); _ui->size->blockSignals(false); _ui->font->blockSignals(true); _ui->font->setCurrentFont(cf.font()); _ui->font->blockSignals(false); _ui->italic->setChecked(cf.fontItalic()); _ui->bold->setChecked(cf.fontWeight() > QFont::Normal); _ui->underline->setChecked(cf.fontUnderline()); _ui->strikethrough->setChecked(cf.font().strikeOut()); }
void tst_QTextFormat::defaultAlignment() { QTextBlockFormat fmt; QVERIFY(!fmt.hasProperty(QTextFormat::BlockAlignment)); QCOMPARE(fmt.intProperty(QTextFormat::BlockAlignment), 0); QVERIFY(fmt.alignment() == Qt::AlignLeft); }
void TextEditor::cursorPositionChanged() { QTextCursor cursor = edit->textCursor(); QTextBlockFormat f = cursor.blockFormat(); if (f.alignment() & Qt::AlignLeft) { leftAlign->setChecked(true); centerAlign->setChecked(false); rightAlign->setChecked(false); } else if (f.alignment() & Qt::AlignHCenter) { leftAlign->setChecked(false); centerAlign->setChecked(true); rightAlign->setChecked(false); } else if (f.alignment() & Qt::AlignRight) { leftAlign->setChecked(false); centerAlign->setChecked(false); rightAlign->setChecked(true); } }
void TextTools::updateTools() { blockAllSignals(true); QTextCursor* cursor = _textElement->cursor(); QTextCharFormat format = cursor->charFormat(); QTextBlockFormat bformat = cursor->blockFormat(); QFont f(format.font()); typefaceFamily->setCurrentFont(f); double ps = f.pointSizeF(); if (ps == -1.0) ps = f.pixelSize() * PPI / MScore::DPI; typefaceSize->setValue(ps); typefaceItalic->setChecked(format.fontItalic()); typefaceBold->setChecked(format.fontWeight() == QFont::Bold); typefaceUnderline->setChecked(format.fontUnderline()); typefaceSubscript->setChecked(format.verticalAlignment() == QTextCharFormat::AlignSubScript); typefaceSuperscript->setChecked(format.verticalAlignment() == QTextCharFormat::AlignSuperScript); centerAlign->setChecked(bformat.alignment() & Qt::AlignHCenter); leftAlign->setChecked (bformat.alignment() & Qt::AlignLeft); rightAlign->setChecked (bformat.alignment() & Qt::AlignRight); Align align = _textElement->align(); if (align & ALIGN_BOTTOM) { topAlign->setChecked(false); bottomAlign->setChecked(true); vcenterAlign->setChecked(false); } else if (align & ALIGN_VCENTER) { topAlign->setChecked(false); bottomAlign->setChecked(false); vcenterAlign->setChecked(true); } else { topAlign->setChecked(true); bottomAlign->setChecked(false); vcenterAlign->setChecked(false); } blockAllSignals(false); }
void WordXMLParagraphProperties::setFormat(QTextBlockFormat aFormat) { if (aFormat.alignment() & Qt::AlignLeft) { alignment=paLeft; } else if (aFormat.alignment() & Qt::AlignHCenter) { alignment=paCenter; } else if (aFormat.alignment() & Qt::AlignRight) { alignment=paRight; } else if (aFormat.alignment() & Qt::AlignJustify) { alignment=paBoth; } else { alignment=paNone; } QColor backgroundColor=aFormat.background().color(); if (aFormat.background().style()!=Qt::NoBrush && backgroundColor.isValid() && backgroundColor!=QColor(255, 255, 255)) { shading.pattern="pct-25"; shading.setColor(backgroundColor); shading.fillColor=shading.color; shading.backgroundColor=shading.color; /* borders.setTopBorder (btSingle, 6, 15, 1, "auto"); borders.setLeftBorder (btSingle, 6, 15, 1, "auto"); borders.setBottomBorder(btSingle, 6, 15, 1, "auto"); borders.setRightBorder (btSingle, 6, 15, 1, "auto"); */ } }
void TestStyles::testApplyParagraphStyle() { KoParagraphStyle style; style.setStyleId(1001); QTextBlockFormat format; QCOMPARE(format.properties().count(), 0); style.applyStyle(format); QCOMPARE(format.properties().count(), 2); // the styleId and nextStyleId QCOMPARE(format.property(KoParagraphStyle::StyleId).toInt(), 1001); QCOMPARE(format.property(KoParagraphStyle::NextStyle).toInt(), 1001); style.setName("name"); style.setAlignment(Qt::AlignRight); style.applyStyle(format); QCOMPARE(format.properties().count(), 3); QCOMPARE(format.alignment(), Qt::AlignRight); }
bool OdtWriter::writeParagraphStyle(const QTextBlockFormat& format, const QString& name) { QXmlStreamAttributes attributes; bool rtl = format.layoutDirection() == Qt::RightToLeft; if (rtl) { attributes.append(QString::fromLatin1("style:writing-mode"), QString::fromLatin1("rl")); } Qt::Alignment align = format.alignment(); if (rtl && (align & Qt::AlignLeft)) { attributes.append(QString::fromLatin1("fo:text-align"), QString::fromLatin1("left")); } else if (align & Qt::AlignRight) { attributes.append(QString::fromLatin1("fo:text-align"), QString::fromLatin1("right")); } else if (align & Qt::AlignCenter) { attributes.append(QString::fromLatin1("fo:text-align"), QString::fromLatin1("center")); } else if (align & Qt::AlignJustify) { attributes.append(QString::fromLatin1("fo:text-align"), QString::fromLatin1("justify")); } if (format.indent() > 0) { attributes.append(QString::fromLatin1("fo:margin-left"), QString::number(format.indent() * 0.5) + QString::fromLatin1("in")); } if (attributes.isEmpty()) { return false; } m_xml.writeStartElement(QString::fromLatin1("style:style")); m_xml.writeAttribute(QString::fromLatin1("style:name"), name); m_xml.writeAttribute(QString::fromLatin1("style:family"), QString::fromLatin1("paragraph")); m_xml.writeAttribute(QString::fromLatin1("style:parent-style-name"), QString::fromLatin1("Normal")); m_xml.writeEmptyElement(QString::fromLatin1("style:paragraph-properties")); m_xml.writeAttributes(attributes); m_xml.writeEndElement(); return true; }
void TextTools::setHalign(QAction* a) { QTextBlockFormat bformat; Qt::Alignment qa = bformat.alignment() & ~Qt::AlignHorizontal_Mask; switch(a->data().toInt()) { case ALIGN_HCENTER: qa |= Qt::AlignHCenter; break; case ALIGN_RIGHT: qa |= Qt::AlignRight; break; case ALIGN_LEFT: qa |= Qt::AlignLeft; break; } bformat.setAlignment(qa); cursor()->mergeBlockFormat(bformat); _textElement->setAlign((_textElement->align() & ~ ALIGN_HMASK) | Align(a->data().toInt())); updateTools(); layoutText(); }
/*! * \brief Updates the format of the selected text */ void QwwRichTextEdit::updateCurrentBlockFormat(){ QTextBlockFormat fmt = textCursor().blockFormat(); switch(fmt.alignment()){ case Qt::AlignLeft: al->setChecked(true); break; case Qt::AlignRight: ar->setChecked(true); break; case Qt::AlignCenter: ac->setChecked(true); break; case Qt::AlignJustify: aj->setChecked(true); break; default: al->setChecked(true); } if(!textCursor().hasSelection()) li->setChecked(textCursor().currentList()!=0); // currentList = textCursor().currentList(); QTextCharFormat cf = textCursor().charFormat(); if(cf.font().family()!=fcb->currentFont().family()){ fcb->setCurrentFont(cf.font()); } if(cf.font().pointSize()!=fsp->currentText().toInt()){ fsp->setCurrentIndex(fsp->findText(QString::number(cf.font().pointSize()))); } #ifndef WW_NO_COLORBUTTON if(cf.foreground().color()!=colorButton->currentColor() && !textCursor().hasSelection()) colorButton->setCurrentColor(cf.foreground().color()); #endif }
void TestStyles::testUnapplyStyle() { // Used to test OverlineColor style QColor testOverlineColor(255, 128, 64); KoCharacterStyle::LineWeight testOverlineWeight = KoCharacterStyle::ThickLineWeight; qreal testOverlineWidth = 1.5; // in this test we should avoid testing any of the hardcodedDefaultProperties; see KoCharacterStyle for details! KoParagraphStyle headers; headers.setOverlineColor(testOverlineColor); headers.setOverlineMode(KoCharacterStyle::ContinuousLineMode); headers.setOverlineStyle(KoCharacterStyle::DottedLine); headers.setOverlineType(KoCharacterStyle::DoubleLine); headers.setOverlineWidth(testOverlineWeight, testOverlineWidth); headers.setFontWeight(QFont::Bold); headers.setAlignment(Qt::AlignCenter); KoParagraphStyle head1; head1.setParentStyle(&headers); head1.setLeftMargin(QTextLength(QTextLength::FixedLength, 40)); QTextDocument doc; doc.setPlainText("abc"); QTextBlock block = doc.begin(); head1.applyStyle(block); QTextCursor cursor(block); QTextBlockFormat bf = cursor.blockFormat(); KoParagraphStyle bfStyle (bf, cursor.charFormat()); QCOMPARE(bf.alignment(), Qt::AlignCenter); QCOMPARE(bfStyle.leftMargin(), 40.); QTextCharFormat cf = cursor.charFormat(); QCOMPARE(cf.colorProperty(KoCharacterStyle::OverlineColor), testOverlineColor); QCOMPARE(cf.intProperty(KoCharacterStyle::OverlineMode), (int) KoCharacterStyle::ContinuousLineMode); QCOMPARE(cf.intProperty(KoCharacterStyle::OverlineStyle), (int) KoCharacterStyle::DottedLine); QCOMPARE(cf.intProperty(KoCharacterStyle::OverlineType), (int) KoCharacterStyle::DoubleLine); QCOMPARE(cf.intProperty(KoCharacterStyle::OverlineWeight), (int) testOverlineWeight); QCOMPARE(cf.doubleProperty(KoCharacterStyle::OverlineWidth), testOverlineWidth); head1.unapplyStyle(block); bf = cursor.blockFormat(); QCOMPARE(bf.hasProperty(QTextFormat::BlockAlignment), false); QCOMPARE(bf.hasProperty(QTextFormat::BlockLeftMargin), false); cf = cursor.charFormat(); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineColor), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineMode), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineStyle), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineType), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWeight), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWidth), false); doc.clear(); block = doc.begin(); head1.applyStyle(block); bf = cursor.blockFormat(); KoParagraphStyle bfStyle2 (bf, cursor.charFormat()); QCOMPARE(bf.alignment(), Qt::AlignCenter); QCOMPARE(bfStyle2.leftMargin(), 40.); cf = cursor.charFormat(); //QCOMPARE(cf.fontOverline(), true); QCOMPARE(cf.colorProperty(KoCharacterStyle::OverlineColor), testOverlineColor); QCOMPARE(cf.intProperty(KoCharacterStyle::OverlineMode), (int) KoCharacterStyle::ContinuousLineMode); QCOMPARE(cf.intProperty(KoCharacterStyle::OverlineStyle), (int) KoCharacterStyle::DottedLine); QCOMPARE(cf.intProperty(KoCharacterStyle::OverlineType), (int) KoCharacterStyle::DoubleLine); QCOMPARE(cf.intProperty(KoCharacterStyle::OverlineWeight), (int) testOverlineWeight); QCOMPARE(cf.doubleProperty(KoCharacterStyle::OverlineWidth), testOverlineWidth); head1.unapplyStyle(block); bf = cursor.blockFormat(); QCOMPARE(bf.hasProperty(QTextFormat::BlockAlignment), false); QCOMPARE(bf.hasProperty(QTextFormat::BlockLeftMargin), false); cf = cursor.charFormat(); //QCOMPARE(cf.hasProperty(QTextFormat::FontOverline), false); doc.setHtml("bla bla<i>italic</i>enzo"); block = doc.begin(); head1.applyStyle(block); bf = cursor.blockFormat(); KoParagraphStyle bfStyle3(bf, cursor.charFormat()); QCOMPARE(bf.alignment(), Qt::AlignCenter); QCOMPARE(bfStyle3.leftMargin(), 40.); cf = cursor.charFormat(); //QCOMPARE(cf.fontOverline(), true); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineColor), true); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineMode), true); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineStyle), true); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineType), true); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWeight), true); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWidth), true); cursor.setPosition(7); cursor.setPosition(12, QTextCursor::KeepAnchor); QTextCharFormat italic; italic.setFontItalic(true); cursor.mergeCharFormat(italic); cursor.setPosition(8); cf = cursor.charFormat(); QCOMPARE(cf.fontItalic(), true); cursor.setPosition(0); head1.unapplyStyle(block); cursor.setPosition(0); bf = cursor.blockFormat(); QCOMPARE(bf.hasProperty(QTextFormat::BlockAlignment), false); QCOMPARE(bf.hasProperty(QTextFormat::BlockLeftMargin), false); cf = cursor.charFormat(); //QCOMPARE(cf.hasProperty(QTextFormat::FontOverline), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineColor), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineMode), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineStyle), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineType), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWeight), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWidth), false); cursor.setPosition(8); cf = cursor.charFormat(); //QCOMPARE(cf.hasProperty(QTextFormat::FontOverline), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineColor), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineMode), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineStyle), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineType), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWeight), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWidth), false); QCOMPARE(cf.fontItalic(), true); cursor.setPosition(12); cf = cursor.charFormat(); //QCOMPARE(cf.hasProperty(QTextFormat::FontOverline), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineColor), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineMode), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineStyle), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineType), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWeight), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWidth), false); QCOMPARE(cf.fontItalic(), true); cursor.setPosition(13); cf = cursor.charFormat(); //QCOMPARE(cf.hasProperty(QTextFormat::FontOverline), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineColor), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineMode), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineStyle), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineType), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWeight), false); QCOMPARE(cf.hasProperty(KoCharacterStyle::OverlineWidth), false); QCOMPARE(cf.hasProperty(QTextFormat::FontWeight), false); QCOMPARE(cf.hasProperty(QTextFormat::FontItalic), false); }
void QTextOdfWriter::writeBlockFormat(QXmlStreamWriter &writer, QTextBlockFormat format, int formatIndex) const { writer.writeStartElement(styleNS, QString::fromLatin1("style")); writer.writeAttribute(styleNS, QString::fromLatin1("name"), QString::fromLatin1("p%1").arg(formatIndex)); writer.writeAttribute(styleNS, QString::fromLatin1("family"), QString::fromLatin1("paragraph")); writer.writeStartElement(styleNS, QString::fromLatin1("paragraph-properties")); if (format.hasProperty(QTextFormat::BlockAlignment)) { const Qt::Alignment alignment = format.alignment() & Qt::AlignHorizontal_Mask; QString value; if (alignment == Qt::AlignLeading) value = QString::fromLatin1("start"); else if (alignment == Qt::AlignTrailing) value = QString::fromLatin1("end"); else if (alignment == (Qt::AlignLeft | Qt::AlignAbsolute)) value = QString::fromLatin1("left"); else if (alignment == (Qt::AlignRight | Qt::AlignAbsolute)) value = QString::fromLatin1("right"); else if (alignment == Qt::AlignHCenter) value = QString::fromLatin1("center"); else if (alignment == Qt::AlignJustify) value = QString::fromLatin1("justify"); else qWarning() << "QTextOdfWriter: unsupported paragraph alignment; " << format.alignment(); if (! value.isNull()) writer.writeAttribute(foNS, QString::fromLatin1("text-align"), value); } if (format.hasProperty(QTextFormat::BlockTopMargin)) writer.writeAttribute(foNS, QString::fromLatin1("margin-top"), pixelToPoint(qMax(qreal(0.), format.topMargin())) ); if (format.hasProperty(QTextFormat::BlockBottomMargin)) writer.writeAttribute(foNS, QString::fromLatin1("margin-bottom"), pixelToPoint(qMax(qreal(0.), format.bottomMargin())) ); if (format.hasProperty(QTextFormat::BlockLeftMargin) || format.hasProperty(QTextFormat::BlockIndent)) writer.writeAttribute(foNS, QString::fromLatin1("margin-left"), pixelToPoint(qMax(qreal(0.), format.leftMargin() + format.indent()))); if (format.hasProperty(QTextFormat::BlockRightMargin)) writer.writeAttribute(foNS, QString::fromLatin1("margin-right"), pixelToPoint(qMax(qreal(0.), format.rightMargin())) ); if (format.hasProperty(QTextFormat::TextIndent)) writer.writeAttribute(foNS, QString::fromLatin1("text-indent"), pixelToPoint(format.textIndent())); if (format.hasProperty(QTextFormat::PageBreakPolicy)) { if (format.pageBreakPolicy() & QTextFormat::PageBreak_AlwaysBefore) writer.writeAttribute(foNS, QString::fromLatin1("break-before"), QString::fromLatin1("page")); if (format.pageBreakPolicy() & QTextFormat::PageBreak_AlwaysAfter) writer.writeAttribute(foNS, QString::fromLatin1("break-after"), QString::fromLatin1("page")); } if (format.hasProperty(QTextFormat::BackgroundBrush)) { QBrush brush = format.background(); writer.writeAttribute(foNS, QString::fromLatin1("background-color"), brush.color().name()); } if (format.hasProperty(QTextFormat::BlockNonBreakableLines)) writer.writeAttribute(foNS, QString::fromLatin1("keep-together"), format.nonBreakableLines() ? QString::fromLatin1("true") : QString::fromLatin1("false")); if (format.hasProperty(QTextFormat::TabPositions)) { QList<QTextOption::Tab> tabs = format.tabPositions(); writer.writeStartElement(styleNS, QString::fromLatin1("tab-stops")); QList<QTextOption::Tab>::Iterator iterator = tabs.begin(); while(iterator != tabs.end()) { writer.writeEmptyElement(styleNS, QString::fromLatin1("tab-stop")); writer.writeAttribute(styleNS, QString::fromLatin1("position"), pixelToPoint(iterator->position) ); QString type; switch(iterator->type) { case QTextOption::DelimiterTab: type = QString::fromLatin1("char"); break; case QTextOption::LeftTab: type = QString::fromLatin1("left"); break; case QTextOption::RightTab: type = QString::fromLatin1("right"); break; case QTextOption::CenterTab: type = QString::fromLatin1("center"); break; } writer.writeAttribute(styleNS, QString::fromLatin1("type"), type); if (iterator->delimiter != 0) writer.writeAttribute(styleNS, QString::fromLatin1("char"), iterator->delimiter); ++iterator; } writer.writeEndElement(); // tab-stops } writer.writeEndElement(); // paragraph-properties writer.writeEndElement(); // style }
void HtmlExporter::emitBlockAttributes( const QTextBlock &block ) { // kDebug() << "html" << html; QTextBlockFormat format = block.blockFormat(); if (format.hasProperty( QTextFormat::LayoutDirection ) ) { Qt::LayoutDirection dir = format.layoutDirection(); // if (dir == Qt::LeftToRight) { // mDefaultBlockFormat.setAlignment(Qt::AlignLeft); // } else { // mDefaultBlockFormat.setAlignment(Qt::AlignRight); // } // if ( dir != mDefaultBlockFormat.layoutDirection() ) { // assume default to not bloat the html too much if ( dir == Qt::LeftToRight ) { html += QLatin1String( " dir=\"ltr\"" ); // mDefaultBlockFormat.setAlignment(Qt::AlignLeft); } else { html += QLatin1String( " dir=\"rtl\"" ); // mDefaultBlockFormat.setAlignment(Qt::AlignRight); } } if ( format.hasProperty( QTextFormat::BlockAlignment ) ) { emitAlignment( format.alignment() ); } bool attributesEmitted = false; QLatin1String style( " style=\"" ); //html += style; // if (block.begin().atEnd()) { // html += QLatin1String("-qt-paragraph-type:empty;"); // } if ( format.hasProperty( QTextBlockFormat::FrameMargin ) ) { if ( !attributesEmitted ) { html += style; attributesEmitted = true; } emitMargins( QString::number( format.topMargin() ), QString::number( format.bottomMargin() ), QString::number( format.leftMargin() ), QString::number( format.rightMargin() ) ); } if ( format.hasProperty( QTextBlockFormat::BlockIndent ) ) { // if (format.indent() == 0) { if ( format.indent() == mDefaultBlockFormat.indent() ) { // assume default not to bloat the html too much } else { if ( !attributesEmitted ) { html += style; attributesEmitted = true; } html += QLatin1String( " -qt-block-indent:" ); html += QString::number( format.indent() ); html += QLatin1Char( ';' ); } } if ( format.hasProperty( QTextBlockFormat::TextIndent ) ) { // if (format.textIndent() == 0) { if ( format.textIndent() == mDefaultBlockFormat.textIndent() ) { // assume default not to bloat the html too much } else { if ( !attributesEmitted ) { html += style; attributesEmitted = true; } html += QLatin1String( " text-indent:" ); html += QString::number( format.textIndent() ); html += QLatin1String( "px;" ); } } //QTextCharFormat diff = formatDifference(defaultCharFormat, block.charFormat()).toCharFormat(); //if (!diff.properties().isEmpty()) //emitCharFormatStyle(diff); if ( attributesEmitted ) { html += QLatin1Char( '"' ); } // QBrush bg = format.background(); // if (bg != Qt::NoBrush) // emitAttribute("bgcolor", bg.color().name()); }