summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2007-10-30 18:10:41 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2007-10-30 18:10:41 +0000
commit8bea8fc5979ad8e2c6718aa16e4a57eb7443d42f (patch)
treefe8ebc5a035e4635227a8ae179fb3df633616d39 /src
parentFirst step adding switching of colors to profiles (diff)
downloadinkscape-8bea8fc5979ad8e2c6718aa16e4a57eb7443d42f.tar.gz
inkscape-8bea8fc5979ad8e2c6718aa16e4a57eb7443d42f.zip
add alt dragging for no change mode
(bzr r3974)
Diffstat (limited to 'src')
-rw-r--r--src/ui/widget/rotateable.cpp28
-rw-r--r--src/ui/widget/selected-style.cpp18
2 files changed, 32 insertions, 14 deletions
diff --git a/src/ui/widget/rotateable.cpp b/src/ui/widget/rotateable.cpp
index 9941c10f8..8cc3c88e9 100644
--- a/src/ui/widget/rotateable.cpp
+++ b/src/ui/widget/rotateable.cpp
@@ -50,25 +50,35 @@ bool Rotateable::on_click(GdkEventButton *event) {
guint Rotateable::get_single_modifier(guint old, guint state) {
- if (old == 0) {
+ if (old == 0 || old == 3) {
if (state & GDK_CONTROL_MASK)
return 1; // ctrl
if (state & GDK_SHIFT_MASK)
return 2; // shift
+ if (state & GDK_MOD1_MASK)
+ return 3; // alt
return 0;
} else {
- if (!(state & GDK_CONTROL_MASK) && !(state & GDK_SHIFT_MASK))
- return 0; // none
- if (old == 1)
+ if (!(state & GDK_CONTROL_MASK) && !(state & GDK_SHIFT_MASK)) {
+ if (state & GDK_MOD1_MASK)
+ return 3; // alt
+ else
+ return 0; // none
+ }
+ if (old == 1) {
if (state & GDK_SHIFT_MASK && !(state & GDK_CONTROL_MASK))
return 2; // shift
- else
- return 1;
- if (old == 2)
+ if (state & GDK_MOD1_MASK && !(state & GDK_CONTROL_MASK))
+ return 3; // alt
+ return 1;
+ }
+ if (old == 2) {
if (state & GDK_CONTROL_MASK && !(state & GDK_SHIFT_MASK))
return 1; // ctrl
- else
- return 2;
+ if (state & GDK_MOD1_MASK && !(state & GDK_SHIFT_MASK))
+ return 3; // alt
+ return 2;
+ }
return old;
}
}
diff --git a/src/ui/widget/selected-style.cpp b/src/ui/widget/selected-style.cpp
index 3c996f665..6db4cb45c 100644
--- a/src/ui/widget/selected-style.cpp
+++ b/src/ui/widget/selected-style.cpp
@@ -1218,7 +1218,7 @@ RotateableSwatch::do_motion(double by, guint modifier) {
if (parent->_mode[fillstroke] != SS_COLOR)
return;
- if (!cr_set) {
+ if (!cr_set && modifier != 3) {
GtkWidget *w = GTK_WIDGET(gobj());
GdkBitmap *bitmap = NULL;
@@ -1251,9 +1251,14 @@ RotateableSwatch::do_motion(double by, guint modifier) {
}
float hsl[3];
- double diff = color_adjust(hsl, by, cc, modifier);
+ double diff = 0;
+ if (modifier != 3) {
+ diff = color_adjust(hsl, by, cc, modifier);
+ }
- if (modifier == 2) { // saturation
+ if (modifier == 3) { // do nothing
+
+ } else if (modifier == 2) { // saturation
sp_document_maybe_done (sp_desktop_document(parent->getDesktop()), undokey,
SP_VERB_DIALOG_FILL_STROKE, ("Adjust saturation"));
double ch = hsl[1];
@@ -1279,7 +1284,9 @@ RotateableSwatch::do_release(double by, guint modifier) {
return;
float hsl[3];
- color_adjust(hsl, by, startcolor, modifier);
+ if (modifier != 3) {
+ color_adjust(hsl, by, startcolor, modifier);
+ }
if (cr_set) {
GtkWidget *w = GTK_WIDGET(gobj());
@@ -1291,7 +1298,8 @@ RotateableSwatch::do_release(double by, guint modifier) {
cr_set = false;
}
- if (modifier == 2) { // saturation
+ if (modifier == 3) { // nothing
+ } else if (modifier == 2) { // saturation
sp_document_maybe_done (sp_desktop_document(parent->getDesktop()), undokey,
SP_VERB_DIALOG_FILL_STROKE, ("Adjust saturation"));