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

List:       kde-commits
Subject:    [digikam/frameworks] /: backport commit #b42606405bf27a5caa36da99d50b1247ed3d21a6 from git/master to
From:       Gilles Caulier <caulier.gilles () gmail ! com>
Date:       2015-09-30 19:48:40
Message-ID: E1ZhNMm-00015y-JM () scm ! kde ! org
[Download RAW message or body]

Git commit 22ee235b2b8720e7b750ae36b571e5f9e0914050 by Gilles Caulier.
Committed on 30/09/2015 at 19:47.
Pushed by cgilles into branch 'frameworks'.

backport commit #b42606405bf27a5caa36da99d50b1247ed3d21a6 from git/master to \
                frameworks branch
CCBUGS: 237719

M  +14   -5    imageplugins/filters/colorfxtool.cpp
M  +13   -14   libs/dimg/filters/fx/colorfxsettings.cpp

http://commits.kde.org/digikam/22ee235b2b8720e7b750ae36b571e5f9e0914050

diff --git a/imageplugins/filters/colorfxtool.cpp \
b/imageplugins/filters/colorfxtool.cpp index 5ad779e..4eb9883 100644
--- a/imageplugins/filters/colorfxtool.cpp
+++ b/imageplugins/filters/colorfxtool.cpp
@@ -78,9 +78,9 @@ public:
     static const QString configHistogramChannelEntry;
     static const QString configHistogramScaleEntry;
 
-    ImageRegionWidget*   previewWidget;
-    EditorToolSettings*  gboxSettings;
-    ColorFXSettings*     settingsView;
+    ImageRegionWidget*  previewWidget;
+    EditorToolSettings* gboxSettings;
+    ColorFXSettings*    settingsView;
 };
 
 const QString ColorFxTool::Private::configGroupName(QLatin1String("coloreffect \
Tool")); @@ -172,9 +172,18 @@ void ColorFxTool::slotColorSelectedFromTarget(const \
DColor& color)  void ColorFxTool::preparePreview()
 {
     d->settingsView->disable();
-    ColorFXContainer prm = d->settingsView->settings();
 
-    DImg preview = d->previewWidget->getOriginalRegionImage(true);
+    ColorFXContainer prm    = d->settingsView->settings();
+    bool useDownscaledImage = true;
+
+    // See bug #237719 : we cannot use downscaled image to render preview.
+    if (prm.colorFXType == ColorFXFilter::Neon ||
+        prm.colorFXType == ColorFXFilter::FindEdges)
+    {
+        useDownscaledImage = false;
+    }
+
+    DImg preview = d->previewWidget->getOriginalRegionImage(useDownscaledImage);
 
     setFilter(new ColorFXFilter(&preview, this, prm));
 }
diff --git a/libs/dimg/filters/fx/colorfxsettings.cpp \
b/libs/dimg/filters/fx/colorfxsettings.cpp index 759d7bb..e52d368 100644
--- a/libs/dimg/filters/fx/colorfxsettings.cpp
+++ b/libs/dimg/filters/fx/colorfxsettings.cpp
@@ -55,28 +55,27 @@ public:
     static const QString configLevelAdjustmentEntry;
     static const QString configIterationAdjustmentEntry;
 
-    QLabel*              effectTypeLabel;
-    QLabel*              levelLabel;
-    QLabel*              iterationLabel;
+    QLabel*       effectTypeLabel;
+    QLabel*       levelLabel;
+    QLabel*       iterationLabel;
 
-    RComboBox*           effectType;
+    RComboBox*    effectType;
 
-    RIntNumInput*        levelInput;
-    RIntNumInput*        iterationInput;
+    RIntNumInput* levelInput;
+    RIntNumInput* iterationInput;
 };
 
 const QString ColorFXSettings::Private::configEffectTypeEntry(QLatin1String("EffectType"));
  const QString ColorFXSettings::Private::configLevelAdjustmentEntry(QLatin1String("LevelAdjustment"));
  const QString ColorFXSettings::Private::configIterationAdjustmentEntry(QLatin1String("IterationAdjustment"));
  
-
 // --------------------------------------------------------
 
 ColorFXSettings::ColorFXSettings(QWidget* const parent)
     : QWidget(parent),
       d(new Private)
 {
-    QGridLayout* grid = new QGridLayout(parent);
+    QGridLayout* const grid = new QGridLayout(parent);
 
     d->effectTypeLabel = new QLabel(i18n("Type:"));
     d->effectType      = new RComboBox();
@@ -215,9 +214,9 @@ void ColorFXSettings::readSettings(KConfigGroup& group)
     ColorFXContainer prm;
     ColorFXContainer defaultPrm = defaultSettings();
 
-    d->effectType->setCurrentIndex(group.readEntry(d->configEffectTypeEntry,       \
                d->effectType->defaultIndex()));
-    d->levelInput->setValue(group.readEntry(d->configLevelAdjustmentEntry,         \
                d->levelInput->defaultValue()));
-    d->iterationInput->setValue(group.readEntry(d->configIterationAdjustmentEntry, \
d->iterationInput->defaultValue())); +    prm.colorFXType = \
group.readEntry(d->configEffectTypeEntry,          defaultPrm.colorFXType); +    \
prm.level       = group.readEntry(d->configLevelAdjustmentEntry,     \
defaultPrm.level); +    prm.iterations  = \
group.readEntry(d->configIterationAdjustmentEntry, defaultPrm.iterations);  
     setSettings(prm);
 }
@@ -226,9 +225,9 @@ void ColorFXSettings::writeSettings(KConfigGroup& group)
 {
     ColorFXContainer prm = settings();
 
-    group.writeEntry(d->configEffectTypeEntry,          \
                d->effectType->currentIndex());
-    group.writeEntry(d->configLevelAdjustmentEntry,     d->levelInput->value());
-    group.writeEntry(d->configIterationAdjustmentEntry, d->iterationInput->value());
+    group.writeEntry(d->configEffectTypeEntry,          prm.colorFXType);
+    group.writeEntry(d->configLevelAdjustmentEntry,     prm.level);
+    group.writeEntry(d->configIterationAdjustmentEntry, prm.iterations);
 }
 
 void ColorFXSettings::enable()


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

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