[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