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

List:       kde-commits
Subject:    KDE/kdelibs/kdeui/colors
From:       Christoph Feck <christoph () maxiom ! de>
Date:       2010-05-05 5:42:26
Message-ID: 20100505054226.2F154AC8AB () svn ! kde ! org
[Download RAW message or body]

SVN commit 1122952 by cfeck:

Use KColorChooserMode functions in KColorDialog


 M  +18 -96    kcolordialog.cpp  


--- trunk/KDE/kdelibs/kdeui/colors/kcolordialog.cpp #1122951:1122952
@@ -74,6 +74,7 @@
 #include <config.h>
 #include <kdebug.h>
 
+#include "kcolorchoosermode_p.h"
 #include "kselector.h"
 #include "kcolorvalueselector.h"
 #include "khuesaturationselect.h"
@@ -89,6 +90,8 @@
 #include <fixx11h.h>
 #endif
 
+using namespace KDEPrivate;
+
 using KDEPrivate::KColorTable;
 
 struct ColorCollectionNameType {
@@ -1109,6 +1112,7 @@
 
     d->hedit = new KIntSpinBox(page);
     d->hedit->setMaximum(359);
+    d->hedit->setSuffix(i18nc("The angular degree unit (for hue)", "\302\260")); //  U+00B0 DEGREE SIGN
     l_lbot->addWidget(d->hedit, 0, 1);
     connect(d->hedit, SIGNAL(valueChanged(int)),
             SLOT(slotHSVChanged()));
@@ -1593,79 +1597,18 @@
 
 void KColorDialog::KColorDialogPrivate::slotHSChanged(int x, int y)
 {
-    int _h, _s, _v, _r, _g, _b, _a;
-
-    _h = selColor.hue();
-    _s = selColor.saturation();
-    _v = selColor.value();
-    _r = selColor.red();
-    _g = selColor.green();
-    _b = selColor.blue();
-    _a = selColor.alpha();
-
-    QColor col;
-
-    switch (chooserMode()) {
-    case ChooserRed:
-        col.setRgb(_r, x, y, _a);
-        break;
-    case ChooserGreen:
-        col.setRgb(x, _g, y, _a);
-        break;
-    case ChooserBlue:
-        col.setRgb(y, x, _b, _a);
-        break;
-    case ChooserHue:
-        col.setHsv(_h, x, y, _a);
-        break;
-    case ChooserSaturation:
-        col.setHsv(x, _s, y, _a);
-        break;
-    case ChooserValue:
-    default:
-        col.setHsv(x, y, _v, _a);
-        break;
-    }
+    QColor col = selColor;
+    KColorChooserMode xMode = chooserXMode(chooserMode());
+    KColorChooserMode yMode = chooserYMode(chooserMode());
+    setComponentValue(col, xMode, x / (xMode == ChooserHue ? 360.0 : 255.0));
+    setComponentValue(col, yMode, y / (yMode == ChooserHue ? 360.0 : 255.0));
     _setColor(col);
 }
 
 void KColorDialog::KColorDialogPrivate::slotVChanged(int v)
 {
-    int _h, _s, _v, _r, _g, _b, _a;
-
-    _h = selColor.hue();
-    _s = selColor.saturation();
-    _v = selColor.value();
-    _r = selColor.red();
-    _g = selColor.green();
-    _b = selColor.blue();
-    _a = selColor.alpha();
-
-
-    QColor col;
-
-    switch (chooserMode()) {
-    case ChooserHue:
-        col.setHsv(v, _s, _v, _a);
-        break;
-    case ChooserSaturation:
-        col.setHsv(_h, v, _v, _a);
-        break;
-    case ChooserRed:
-        col.setRgb(v, _g, _b, _a);
-        break;
-    case ChooserGreen:
-        col.setRgb(_r, v, _b, _a);
-        break;
-    case ChooserBlue:
-        col.setRgb(_r, _g, v, _a);
-        break;
-    case ChooserValue:
-    default:
-        col.setHsv(_h, _s, v, _a);
-        break;
-    }
-
+    QColor col = selColor;
+    setComponentValue(col, chooserMode(), v / (chooserMode() == ChooserHue ? 360.0 : 255.0));
     _setColor(col);
 }
 
@@ -1743,35 +1686,14 @@
     alphaSelector->setSecondColor(rgbColor);
     alphaSelector->setValue(color.alpha());
 
-    switch (chooserMode()) {
-    case ChooserSaturation:
-        hsSelector->setValues(color.hue(), color.value());
-        valuePal->setValue(color.saturation());
-        break;
-    case ChooserValue:
-        hsSelector->setValues(color.hue(), color.saturation());
-        valuePal->setValue(color.value());
-        break;
-    case ChooserRed:
-        hsSelector->setValues(color.green(), color.blue());
-        valuePal->setValue(color.red());
-        break;
-    case ChooserGreen:
-        hsSelector->setValues(color.red(), color.blue());
-        valuePal->setValue(color.green());
-        break;
-    case ChooserBlue:
-        hsSelector->setValues(color.green(), color.red());
-        valuePal->setValue(color.blue());
-        break;
-    case ChooserHue:
-    default:
-        hsSelector->setValues(color.saturation(), color.value());
-        valuePal->setValue(color.hue());
-        break;
+    KColorChooserMode xMode = chooserXMode(chooserMode());
+    KColorChooserMode yMode = chooserYMode(chooserMode());
+    int xValue = getComponentValue(color, xMode) * (xMode == ChooserHue ? 360.0 : 255.0);
+    int yValue = getComponentValue(color, yMode) * (yMode == ChooserHue ? 360.0 : 255.0);
+    int value = getComponentValue(color, chooserMode()) * (chooserMode() == ChooserHue ? 360.0 : 255.0);
+    hsSelector->setValues(xValue, yValue);
+    valuePal->setValue(value);
 
-    }
-
     bool blocked = valuePal->blockSignals(true);
 
     valuePal->setHue(color.hue());
[prev in list] [next in list] [prev in thread] [next in thread] 

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