[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/libs/kotext/styles
From:       Pierre Ducroquet <pinaraf () gmail ! com>
Date:       2007-12-31 23:00:19
Message-ID: 1199142019.573121.31418.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 755282 by ducroquet:

Happy new year !!
For my first commit in 2008, a small gift : much better saving support for paragraph \
and character style. (still missing : font name in character, and border in \
paragraph)



 M  +35 -21    KoCharacterStyle.cpp  
 M  +42 -2     KoParagraphStyle.cpp  


--- trunk/koffice/libs/kotext/styles/KoCharacterStyle.cpp #755281:755282
@@ -767,8 +767,6 @@
                     // Remember : Qt and CSS/XSL doesn't have the same scale...
                     target->addProperty("fo:font-weight", boldness*10, \
KoGenStyle::TextType);  }
-            } else {
-                kDebug(32500) << "What is this ???" << d->stylesPrivate->value(key);
             }
         } else if (key == QTextFormat::FontItalic) {
             if (d->stylesPrivate->value(key).toBool()) {
@@ -779,19 +777,13 @@
         } else if (key == UnderlineStyle) {
             bool ok = false;
             int style = d->stylesPrivate->value(key).toInt(&ok);
-            if (ok) {
+            if (ok)
                 target->addProperty("style:text-underline-style", \
                exportOasisLineStyle((KoCharacterStyle::LineStyle) style), \
                KoGenStyle::TextType);
-            } else {
-                kDebug(32500) << "What is this ???" << d->stylesPrivate->value(key);
-            }
         } else if (key == UnderlineType) {
             bool ok = false;
             int type = d->stylesPrivate->value(key).toInt(&ok);
-            if (ok) {
+            if (ok)
                 target->addProperty("style:text-underline-type", \
                exportOasisLineType((KoCharacterStyle::LineType) type), \
                KoGenStyle::TextType);
-            } else {
-                kDebug(32500) << "What is this ???" << d->stylesPrivate->value(key);
-            }
         } else if (key == UnderlineColor) {
             QColor color = d->stylesPrivate->value(key).value<QColor>();
             if (color.isValid())
@@ -799,33 +791,55 @@
         } else if (key == StrikeOutStyle) {
             bool ok = false;
             int style = d->stylesPrivate->value(key).toInt(&ok);
-            if (ok) {
+            if (ok)
                 target->addProperty("style:text-line-through-style", \
                exportOasisLineStyle((KoCharacterStyle::LineStyle) style), \
                KoGenStyle::TextType);
-            } else {
-                kDebug(32500) << "What is this ???" << d->stylesPrivate->value(key);
-            }
         } else if (key == StrikeOutType) {
             bool ok = false;
             int type = d->stylesPrivate->value(key).toInt(&ok);
-            if (ok) {
+            if (ok)
                 target->addProperty("style:text-line-through-type", \
                exportOasisLineType((KoCharacterStyle::LineType) type), \
                KoGenStyle::TextType);
-            } else {
-                kDebug(32500) << "What is this ???" << d->stylesPrivate->value(key);
-            }
         } else if (key == StrikeOutColor) {
             QColor color = d->stylesPrivate->value(key).value<QColor>();
             if (color.isValid())
                 target->addProperty("style:text-line-through-color", color.name(), \
                KoGenStyle::TextType);
-        }  else if (key == QTextFormat::BackgroundBrush) {
+        } else if (key == QTextFormat::BackgroundBrush) {
             QBrush brush = d->stylesPrivate->value(key).value<QBrush>();
             if (brush.style() == Qt::NoBrush)
                 target->addProperty("fo:background-color", "transparent", \
KoGenStyle::TextType);  else
                 target->addProperty("fo:background-color", brush.color().name(), \
                KoGenStyle::TextType);
-        } else {
-//             kDebug(32500) << "Storing the key " << key << "=>" << \
d->stylesPrivate->value(key); +        } else if (key == \
QTextFormat::ForegroundBrush) { +            QBrush brush = \
d->stylesPrivate->value(key).value<QBrush>(); +            if (brush.style() == \
Qt::NoBrush) +                target->addProperty("fo:color", "transparent", \
KoGenStyle::TextType); +            else
+                target->addProperty("fo:color", brush.color().name(), \
KoGenStyle::TextType); +        } else if (key == QTextFormat::TextVerticalAlignment) \
{ +            if (verticalAlignment() == QTextCharFormat::AlignSuperScript)
+                target->addProperty("style:text-position", "super", \
KoGenStyle::TextType); +            else if (verticalAlignment() == \
QTextCharFormat::AlignSubScript) +                \
target->addProperty("style:text-position", "sub", KoGenStyle::TextType); +        } \
else if (key == KoCharacterStyle::TransformText) { +            Transform transform = \
(Transform) d->stylesPrivate->value(key).value<int>(); +            switch \
(transform) { +                case SmallCaps:
+                    target->addProperty("fo:font-variant", "small-caps", \
KoGenStyle::TextType); +                    break;
+                case AllUppercase:
+                    target->addProperty("fo:text-transform", "uppercase", \
KoGenStyle::TextType); +                    break;
+                case AllLowercase:
+                    target->addProperty("fo:text-transform", "lowercase", \
KoGenStyle::TextType); +                    break;
+                case Capitalize:
+                    target->addProperty("fo:text-transform", "capitalize", \
KoGenStyle::TextType); +                    break;
+            }
+        } else if (key == QTextFormat::FontPointSize) {
+            target->addAttributePt("fo:font-size", fontPointSize());
         }
     }
+    //TODO: font name and family
 }
 
 #include "KoCharacterStyle.moc"
--- trunk/koffice/libs/kotext/styles/KoParagraphStyle.cpp #755281:755282
@@ -1192,10 +1192,50 @@
                 if (!direction.isEmpty())
                     target->addProperty("style:writing-mode", direction, \
KoGenStyle::ParagraphType);  }
-        } else {
-            //kDebug(32500) << "Storing the key " << key << "=>" << \
d->stylesPrivate->value(key); +        } else if (key == \
KoParagraphStyle::BreakBefore) { +            if (breakBefore())
+                target->addProperty("fo:breaf-before", "page", \
KoGenStyle::ParagraphType); +        } else if (key == KoParagraphStyle::BreakAfter) \
{ +            if (breakBefore())
+                target->addProperty("fo:breaf-after", "page", \
KoGenStyle::ParagraphType); +        } else if (key == QTextFormat::BackgroundBrush) \
{ +            QBrush backBrush = background();
+            if (backBrush.style() != Qt::NoBrush)
+                target->addProperty("fo:background-color", backBrush.color().name(), \
KoGenStyle::ParagraphType); +            else
+                target->addProperty("fo:background-color", "transparent", \
KoGenStyle::ParagraphType); +        // Padding
+        } else if (key == KoParagraphStyle::LeftPadding) {
+            target->addAttributePt("fo:padding-left", leftPadding());
+        } else if (key == KoParagraphStyle::RightPadding) {
+            target->addAttributePt("fo:padding-right", rightPadding());
+        } else if (key == KoParagraphStyle::TopPadding) {
+            target->addAttributePt("fo:padding-top", topPadding());
+        } else if (key == KoParagraphStyle::BottomPadding) {
+            target->addAttributePt("fo:padding-bottom", bottomPadding());
+        // Margin
+        } else if (key == QTextFormat::BlockLeftMargin) {
+            target->addAttributePt("fo:margin-left", leftMargin());
+        } else if (key == QTextFormat::BlockRightMargin) {
+            target->addAttributePt("fo:margin-right", rightMargin());
+        } else if (key == QTextFormat::BlockTopMargin) {
+            target->addAttributePt("fo:margin-top", topMargin());
+        } else if (key == QTextFormat::BlockBottomMargin) {
+            target->addAttributePt("fo:margin-bottom", bottomMargin());
+        // Line spacing
+        } else if (key == KoParagraphStyle::MinimumLineHeight) {
+            target->addAttributePt("style:line-height-at-least", \
minimumLineHeight()); +        } else if (key == KoParagraphStyle::LineSpacing) {
+            target->addAttributePt("style:line-spacing", lineSpacing());
+        } else if (key == KoParagraphStyle::PercentLineHeight) {
+            target->addProperty("fo:line-height", \
QString("%1%").arg(lineHeightPercent()), KoGenStyle::ParagraphType); +        } else \
if (key == KoParagraphStyle::FixedLineHeight) { +            \
target->addAttributePt("fo:line-height", lineHeightAbsolute()); +        } else if \
(key == QTextFormat::TextIndent) { +            \
target->addAttributePt("fo:text-indent", textIndent());  }
     }
+    // TODO : save border information
 }
 
 #include "KoParagraphStyle.moc"


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic