summaryrefslogtreecommitdiffstats
path: root/src/ui/selected-color.cpp
diff options
context:
space:
mode:
authorTomasz Boczkowski <penginsbacon@gmail.com>2015-04-26 09:31:02 +0000
committerTomasz Boczkowski <penginsbacon@gmail.com>2015-04-26 09:31:02 +0000
commitf3d9316c605cb9a96dac304a8a45bc3ae56fed82 (patch)
tree49ead2c2c7d5f91c1873d5dbfc89401aa178dff5 /src/ui/selected-color.cpp
parentmerged SPNotebook c++-sification from svgpaints branch (diff)
parentadded dragged, released, grabbed signals to SelectedColor (diff)
downloadinkscape-f3d9316c605cb9a96dac304a8a45bc3ae56fed82.tar.gz
inkscape-f3d9316c605cb9a96dac304a8a45bc3ae56fed82.zip
merged SelectedColor enhancements from svgpaints branch
(bzr r14059.1.6)
Diffstat (limited to 'src/ui/selected-color.cpp')
-rw-r--r--src/ui/selected-color.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/ui/selected-color.cpp b/src/ui/selected-color.cpp
index fc702de83..440459c74 100644
--- a/src/ui/selected-color.cpp
+++ b/src/ui/selected-color.cpp
@@ -32,6 +32,7 @@ SelectedColor::SelectedColor()
: _color(0)
, _alpha(1.0)
, _virgin(true)
+ , _held(false)
{
}
@@ -86,7 +87,11 @@ void SelectedColor::setColorAlpha(SPColor const &color, gfloat alpha, bool emit)
_alpha = alpha;
if (emit) {
- signal_changed.emit();
+ if (_held) {
+ signal_dragged.emit();
+ } else {
+ signal_changed.emit();
+ }
}
#ifdef DUMP_CHANGE_INFO
} else {
@@ -101,6 +106,21 @@ void SelectedColor::colorAlpha(SPColor &color, gfloat &alpha) const {
alpha = _alpha;
}
+void SelectedColor::setHeld(bool held) {
+ bool grabbed = held && !_held;
+ bool released = !held && _held;
+
+ _held = held;
+
+ if (grabbed) {
+ signal_grabbed.emit();
+ }
+
+ if (released) {
+ signal_released.emit();
+ }
+}
+
}
}