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

List:       kde-commits
Subject:    [calligra] plugins/pictureshape: Save the color-mode correctly.
From:       Silvio Heinrich <plassy () web ! de>
Date:       2011-12-23 8:25:03
Message-ID: 20111223082503.8A563A60A6 () git ! kde ! org
[Download RAW message or body]

Git commit 5085c28111366210c82e1ac7b3f73604ae1aa533 by Silvio Heinrich.
Committed on 23/12/2011 at 09:23.
Pushed by heinrich into branch 'master'.

Save the color-mode correctly.

M  +35   -16   plugins/pictureshape/PictureShape.cpp

http://commits.kde.org/calligra/5085c28111366210c82e1ac7b3f73604ae1aa533

diff --git a/plugins/pictureshape/PictureShape.cpp b/plugins/pictureshape/PictureShape.cpp
index 68eeb6a..11cca62 100644
--- a/plugins/pictureshape/PictureShape.cpp
+++ b/plugins/pictureshape/PictureShape.cpp
@@ -279,6 +279,23 @@ QString PictureShape::saveStyle(KoGenStyle& style, KoShapeSavingContext& context
     if(transparency() > 0.0) {
         style.addProperty("draw:image-opacity", QString("%1%").arg((1.0 - transparency()) * 100.0));
     }
+
+    switch(m_mode)
+    {
+    case Standard:
+        style.addProperty("draw:color-mode", "standard");
+        break;
+    case Greyscale:
+        style.addProperty("draw:color-mode", "greyscale");
+        break;
+    case Watermark:
+        style.addProperty("draw:color-mode", "watermark");
+        break;
+    case Mono:
+        style.addProperty("draw:color-mode", "mono");
+        break;
+    }
+    
     return KoShape::saveStyle(style, context);
 }
 
@@ -314,23 +331,25 @@ PictureShape::PictureMode PictureShape::mode() const
 
 void PictureShape::setMode(PictureShape::PictureMode mode)
 {
-    if( mode != m_mode ) {
-        m_mode = mode;
-        KoFilterEffect* filterMode = filterEffectStack()->takeFilterEffect(0);
-        delete filterMode;
-        switch( mode ) {
-            case Greyscale:
-                filterMode = new GreyscaleFilterEffect();
-                break;
-            case Mono:
-                filterMode = new MonoFilterEffect();
-                break;
-            default:
-                filterMode = new WatermarkFilterEffect();
-                break;
+    if (mode != m_mode) {
+        filterEffectStack()->removeFilterEffect(0);
+        
+        switch(mode)
+        {
+        case Greyscale:
+            filterEffectStack()->appendFilterEffect(new GreyscaleFilterEffect());
+            break;
+        case Mono:
+            filterEffectStack()->appendFilterEffect(new MonoFilterEffect());
+            break;
+        case Watermark:
+            filterEffectStack()->appendFilterEffect(new WatermarkFilterEffect());
+            break;
+        default:
+            break;
         }
-        if( filterMode )
-            filterEffectStack()->appendFilterEffect(filterMode);
+        
+        m_mode = mode;
         update();
     }
 }
[prev in list] [next in list] [prev in thread] [next in thread] 

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