On Friday 08 July 2011 18:51:17 Sebastian Sauer wrote: > Git commit 9f017cf21d343c1408214499bd878b987d8daf6f by Sebastian Sauer. > Committed on 08/07/2011 at 18:43. > Pushed by sebsauer into branch 'master'. > > Fix saving line-height to ODF. Just because the property exists doesn't > mean it's valid. > > M +3 -3 libs/kotext/styles/KoParagraphStyle.cpp > > http://commits.kde.org/calligra/9f017cf21d343c1408214499bd878b987d8daf6f > > diff --git a/libs/kotext/styles/KoParagraphStyle.cpp > b/libs/kotext/styles/KoParagraphStyle.cpp index ac5d1d5..987b2bd 100644 > --- a/libs/kotext/styles/KoParagraphStyle.cpp > +++ b/libs/kotext/styles/KoParagraphStyle.cpp > @@ -283,7 +283,7 @@ void KoParagraphStyle::unapplyStyle(QTextBlock &block) > const void KoParagraphStyle::setLineHeightPercent(int lineHeight) > { > setProperty(PercentLineHeight, lineHeight); > - setProperty(FixedLineHeight, 0); > + setProperty(FixedLineHeight, 0.0); > remove(NormalLineHeight); > } > > @@ -1946,10 +1946,10 @@ void KoParagraphStyle::saveOdf(KoGenStyle &style, > KoGenStyles &mainStyles) } else if (key == KoParagraphStyle::LineSpacing > && lineSpacing() != 0) { style.addPropertyPt("style:line-spacing", > lineSpacing(), KoGenStyle::ParagraphType); writtenLineSpacing = true; > - } else if (key == KoParagraphStyle::PercentLineHeight) { > + } else if (key == KoParagraphStyle::PercentLineHeight && > lineHeightPercent() != 0) { style.addProperty("fo:line-height", > QString("%1%").arg(lineHeightPercent()), KoGenStyle::ParagraphType); > writtenLineSpacing = true; > - } else if (key == KoParagraphStyle::FixedLineHeight && > lineHeightAbsolute() >= 0) { + } else if (key == > KoParagraphStyle::FixedLineHeight && lineHeightAbsolute() != 0) { > style.addPropertyPt("fo:line-height", lineHeightAbsolute(), > KoGenStyle::ParagraphType); writtenLineSpacing = true; > } else if (key == KoParagraphStyle::LineSpacingFromFont && > lineHeightAbsolute() == 0) {
I don't disagree with the idea of this change, but this is not really a bug in calligra itself. I will fix the unit test you broke, by adding a specific exception for this property. But the following code in OpenDocument relax ng is wrong : <attribute name="fo:line-height"> <choice> <value>normal</value> <ref name="nonNegativeLength"/> <ref name="percent"/> </choice> </attribute> Since nonNegativeLength can be zero, it means that 0 is a valid line-height... Still, the specification doesn't tell us what it means.
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel