diff options
Diffstat (limited to 'src/gui/text/qtextodfwriter.cpp')
-rw-r--r-- | src/gui/text/qtextodfwriter.cpp | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/src/gui/text/qtextodfwriter.cpp b/src/gui/text/qtextodfwriter.cpp index 1906502c10..9721243454 100644 --- a/src/gui/text/qtextodfwriter.cpp +++ b/src/gui/text/qtextodfwriter.cpp @@ -90,7 +90,7 @@ public: contentStream = device; } - virtual ~QXmlStreamStrategy() + ~QXmlStreamStrategy() { if (contentStream) contentStream->close(); @@ -546,10 +546,12 @@ void QTextOdfWriter::writeFormats(QXmlStreamWriter &writer, const QSet<int> &for else writeFrameFormat(writer, textFormat.toFrameFormat(), formatIndex); break; +#if QT_DEPRECATED_SINCE(5, 3) case QTextFormat::TableFormat: // this case never happens, because TableFormat is a FrameFormat Q_UNREACHABLE(); break; +#endif } } @@ -936,26 +938,30 @@ void QTextOdfWriter::tableCellStyleElement(QXmlStreamWriter &writer, const int & if (hasBorder) { writer.writeAttribute(foNS, QString::fromLatin1("border"), pixelToPoint(tableFormatTmp.border()) + QLatin1String(" ") - + borderStyleName(tableFormatTmp.borderStyle()) - + QLatin1String(" #000000")); //!! HARD-CODING color black + + borderStyleName(tableFormatTmp.borderStyle()) + QLatin1String(" ") + + tableFormatTmp.borderBrush().color().name(QColor::HexRgb)); } - qreal padding = format.topPadding(); - if (padding > 0 && padding == format.bottomPadding() - && padding == format.leftPadding() && padding == format.rightPadding()) { + qreal topPadding = format.topPadding(); + qreal padding = topPadding + tableFormatTmp.cellPadding(); + if (padding > 0 && topPadding == format.bottomPadding() + && topPadding == format.leftPadding() && topPadding == format.rightPadding()) { writer.writeAttribute(foNS, QString::fromLatin1("padding"), pixelToPoint(padding)); } else { if (padding > 0) writer.writeAttribute(foNS, QString::fromLatin1("padding-top"), pixelToPoint(padding)); - if (format.bottomPadding() > 0) + padding = format.bottomPadding() + tableFormatTmp.cellPadding(); + if (padding > 0) writer.writeAttribute(foNS, QString::fromLatin1("padding-bottom"), - pixelToPoint(format.bottomPadding())); - if (format.leftPadding() > 0) + pixelToPoint(padding)); + padding = format.leftPadding() + tableFormatTmp.cellPadding(); + if (padding > 0) writer.writeAttribute(foNS, QString::fromLatin1("padding-left"), - pixelToPoint(format.leftPadding())); - if (format.rightPadding() > 0) + pixelToPoint(padding)); + padding = format.rightPadding() + tableFormatTmp.cellPadding(); + if (padding > 0) writer.writeAttribute(foNS, QString::fromLatin1("padding-right"), - pixelToPoint(format.rightPadding())); + pixelToPoint(padding)); } if (format.hasProperty(QTextFormat::TextVerticalAlignment)) { @@ -1007,7 +1013,7 @@ bool QTextOdfWriter::writeAll() m_strategy = new QXmlStreamStrategy(m_device); if (!m_device->isWritable() && ! m_device->open(QIODevice::WriteOnly)) { - qWarning("QTextOdfWriter::writeAll: the device can not be opened for writing"); + qWarning("QTextOdfWriter::writeAll: the device cannot be opened for writing"); return false; } QXmlStreamWriter writer(m_strategy->contentStream); |