summaryrefslogtreecommitdiffstats
path: root/src/select-context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/select-context.cpp')
-rw-r--r--src/select-context.cpp164
1 files changed, 115 insertions, 49 deletions
diff --git a/src/select-context.cpp b/src/select-context.cpp
index 922329d7a..70955c969 100644
--- a/src/select-context.cpp
+++ b/src/select-context.cpp
@@ -49,6 +49,72 @@
#include "display/sp-canvas.h"
#include "display/drawing-item.h"
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_Up 0xff52
+#define GDK_KEY_KP_Up 0xff97
+#define GDK_KEY_Down 0xff54
+#define GDK_KEY_KP_Down 0xff99
+#define GDK_KEY_Left 0xff51
+#define GDK_KEY_KP_Left 0xff96
+#define GDK_KEY_Right 0xff53
+#define GDK_KEY_KP_Right 0xff98
+#define GDK_KEY_Home 0xff50
+#define GDK_KEY_KP_Home 0xff95
+#define GDK_KEY_End 0xff57
+#define GDK_KEY_KP_End 0xff9c
+#define GDK_KEY_a 0x061
+#define GDK_KEY_A 0x041
+#define GDK_KEY_g 0x067
+#define GDK_KEY_G 0x047
+#define GDK_KEY_l 0x06c
+#define GDK_KEY_L 0x04c
+#define GDK_KEY_r 0x072
+#define GDK_KEY_R 0x052
+#define GDK_KEY_s 0x073
+#define GDK_KEY_S 0x053
+#define GDK_KEY_u 0x075
+#define GDK_KEY_U 0x055
+#define GDK_KEY_x 0x078
+#define GDK_KEY_X 0x058
+#define GDK_KEY_z 0x07a
+#define GDK_KEY_Z 0x05a
+#define GDK_KEY_Escape 0xff1b
+#define GDK_KEY_Control_L 0xffe3
+#define GDK_KEY_Control_R 0xffe4
+#define GDK_KEY_Alt_L 0xffe9
+#define GDK_KEY_Alt_R 0xffea
+#define GDK_KEY_Shift_L 0xffe1
+#define GDK_KEY_Shift_R 0xffe2
+#define GDK_KEY_Meta_L 0xffe7
+#define GDK_KEY_Meta_R 0xffe8
+#define GDK_KEY_KP_0 0xffb0
+#define GDK_KEY_KP_1 0xffb1
+#define GDK_KEY_KP_2 0xffb2
+#define GDK_KEY_KP_3 0xffb3
+#define GDK_KEY_KP_4 0xffb4
+#define GDK_KEY_KP_5 0xffb5
+#define GDK_KEY_KP_6 0xffb6
+#define GDK_KEY_KP_7 0xffb7
+#define GDK_KEY_KP_8 0xffb8
+#define GDK_KEY_KP_9 0xffb9
+#define GDK_KEY_Insert 0xff63
+#define GDK_KEY_KP_Insert 0xff9e
+#define GDK_KEY_Delete 0xffff
+#define GDK_KEY_KP_Delete 0xff9f
+#define GDK_KEY_BackSpace 0xff08
+#define GDK_KEY_Return 0xff0d
+#define GDK_KEY_KP_Enter 0xff8d
+#define GDK_KEY_space 0x020
+#define GDK_KEY_Tab 0xff09
+#define GDK_KEY_ISO_Left_Tab 0xfe20
+#define GDK_KEY_bracketleft 0x05b
+#define GDK_KEY_bracketright 0x05d
+#define GDK_KEY_less 0x03c
+#define GDK_KEY_greater 0x03e
+#define GDK_KEY_comma 0x02c
+#define GDK_KEY_period 0x02e
+#endif
+
using Inkscape::DocumentUndo;
@@ -265,14 +331,14 @@ sp_select_context_abort(SPEventContext *event_context)
bool
key_is_a_modifier (guint key) {
- return (key == GDK_Alt_L ||
- key == GDK_Alt_R ||
- key == GDK_Control_L ||
- key == GDK_Control_R ||
- key == GDK_Shift_L ||
- key == GDK_Shift_R ||
- key == GDK_Meta_L || // Meta is when you press Shift+Alt (at least on my machine)
- key == GDK_Meta_R);
+ return (key == GDK_KEY_Alt_L ||
+ key == GDK_KEY_Alt_R ||
+ key == GDK_KEY_Control_L ||
+ key == GDK_KEY_Control_R ||
+ key == GDK_KEY_Shift_L ||
+ key == GDK_KEY_Shift_R ||
+ key == GDK_KEY_Meta_L || // Meta is when you press Shift+Alt (at least on my machine)
+ key == GDK_KEY_Meta_R);
}
void
@@ -399,18 +465,18 @@ sp_select_context_item_handler(SPEventContext *event_context, SPItem *item, GdkE
break;
case GDK_KEY_PRESS:
- if (get_group0_keyval (&event->key) == GDK_space) {
+ if (get_group0_keyval (&event->key) == GDK_KEY_space) {
if (sc->dragging && sc->grabbed) {
/* stamping mode: show content mode moving */
seltrans->stamp();
ret = TRUE;
}
- } else if (get_group0_keyval (&event->key) == GDK_Tab) {
+ } else if (get_group0_keyval (&event->key) == GDK_KEY_Tab) {
if (sc->dragging && sc->grabbed) {
seltrans->getNextClosestPoint(false);
ret = TRUE;
}
- } else if (get_group0_keyval (&event->key) == GDK_ISO_Left_Tab) {
+ } else if (get_group0_keyval (&event->key) == GDK_KEY_ISO_Left_Tab) {
if (sc->dragging && sc->grabbed) {
seltrans->getNextClosestPoint(true);
ret = TRUE;
@@ -862,10 +928,10 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
{
guint keyval = get_group0_keyval(&event->key);
bool alt = ( MOD__ALT
- || (keyval == GDK_Alt_L)
- || (keyval == GDK_Alt_R)
- || (keyval == GDK_Meta_L)
- || (keyval == GDK_Meta_R));
+ || (keyval == GDK_KEY_Alt_L)
+ || (keyval == GDK_KEY_Alt_R)
+ || (keyval == GDK_KEY_Meta_L)
+ || (keyval == GDK_KEY_Meta_R));
if (!key_is_a_modifier (keyval)) {
event_context->defaultMessageContext()->clear();
@@ -900,9 +966,9 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
int const snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12);
switch (get_group0_keyval (&event->key)) {
- case GDK_Left: // move selection left
- case GDK_KP_Left:
- case GDK_KP_4:
+ case GDK_KEY_Left: // move selection left
+ case GDK_KEY_KP_Left:
+ case GDK_KEY_KP_4:
if (!MOD__CTRL) { // not ctrl
gint mul = 1 + gobble_key_events(
get_group0_keyval(&event->key), 0); // with any mask
@@ -917,9 +983,9 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
ret = TRUE;
}
break;
- case GDK_Up: // move selection up
- case GDK_KP_Up:
- case GDK_KP_8:
+ case GDK_KEY_Up: // move selection up
+ case GDK_KEY_KP_Up:
+ case GDK_KEY_KP_8:
if (!MOD__CTRL) { // not ctrl
gint mul = 1 + gobble_key_events(
get_group0_keyval(&event->key), 0); // with any mask
@@ -934,9 +1000,9 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
ret = TRUE;
}
break;
- case GDK_Right: // move selection right
- case GDK_KP_Right:
- case GDK_KP_6:
+ case GDK_KEY_Right: // move selection right
+ case GDK_KEY_KP_Right:
+ case GDK_KEY_KP_6:
if (!MOD__CTRL) { // not ctrl
gint mul = 1 + gobble_key_events(
get_group0_keyval(&event->key), 0); // with any mask
@@ -951,9 +1017,9 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
ret = TRUE;
}
break;
- case GDK_Down: // move selection down
- case GDK_KP_Down:
- case GDK_KP_2:
+ case GDK_KEY_Down: // move selection down
+ case GDK_KEY_KP_Down:
+ case GDK_KEY_KP_2:
if (!MOD__CTRL) { // not ctrl
gint mul = 1 + gobble_key_events(
get_group0_keyval(&event->key), 0); // with any mask
@@ -968,20 +1034,20 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
ret = TRUE;
}
break;
- case GDK_Escape:
+ case GDK_KEY_Escape:
if (!sp_select_context_abort(event_context))
selection->clear();
ret = TRUE;
break;
- case GDK_a:
- case GDK_A:
+ case GDK_KEY_a:
+ case GDK_KEY_A:
if (MOD__CTRL_ONLY) {
sp_edit_select_all(desktop);
ret = TRUE;
}
break;
- case GDK_space:
+ case GDK_KEY_space:
/* stamping mode: show outline mode moving */
/* FIXME: Is next condition ok? (lauris) */
if (sc->dragging && sc->grabbed) {
@@ -989,14 +1055,14 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
ret = TRUE;
}
break;
- case GDK_x:
- case GDK_X:
+ case GDK_KEY_x:
+ case GDK_KEY_X:
if (MOD__ALT_ONLY) {
desktop->setToolboxFocusTo ("altx");
ret = TRUE;
}
break;
- case GDK_bracketleft:
+ case GDK_KEY_bracketleft:
if (MOD__ALT) {
gint mul = 1 + gobble_key_events(
get_group0_keyval(&event->key), 0); // with any mask
@@ -1008,7 +1074,7 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
}
ret = TRUE;
break;
- case GDK_bracketright:
+ case GDK_KEY_bracketright:
if (MOD__ALT) {
gint mul = 1 + gobble_key_events(
get_group0_keyval(&event->key), 0); // with any mask
@@ -1020,8 +1086,8 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
}
ret = TRUE;
break;
- case GDK_less:
- case GDK_comma:
+ case GDK_KEY_less:
+ case GDK_KEY_comma:
if (MOD__ALT) {
gint mul = 1 + gobble_key_events(
get_group0_keyval(&event->key), 0); // with any mask
@@ -1035,8 +1101,8 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
}
ret = TRUE;
break;
- case GDK_greater:
- case GDK_period:
+ case GDK_KEY_greater:
+ case GDK_KEY_period:
if (MOD__ALT) {
gint mul = 1 + gobble_key_events(
get_group0_keyval(&event->key), 0); // with any mask
@@ -1050,7 +1116,7 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
}
ret = TRUE;
break;
- case GDK_Return:
+ case GDK_KEY_Return:
if (MOD__CTRL_ONLY) {
if (selection->singleItem()) {
SPItem *clicked_item = selection->singleItem();
@@ -1065,14 +1131,14 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
ret = TRUE;
}
break;
- case GDK_BackSpace:
+ case GDK_KEY_BackSpace:
if (MOD__CTRL_ONLY) {
sp_select_context_up_one_layer(desktop);
ret = TRUE;
}
break;
- case GDK_s:
- case GDK_S:
+ case GDK_KEY_s:
+ case GDK_KEY_S:
if (MOD__SHIFT_ONLY) {
if (!selection->isEmpty()) {
seltrans->increaseState();
@@ -1080,8 +1146,8 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
ret = TRUE;
}
break;
- case GDK_g:
- case GDK_G:
+ case GDK_KEY_g:
+ case GDK_KEY_G:
if (MOD__SHIFT_ONLY) {
sp_selection_to_guides(desktop);
ret = true;
@@ -1099,10 +1165,10 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event)
event_context->defaultMessageContext()->clear();
bool alt = ( MOD__ALT
- || (keyval == GDK_Alt_L)
- || (keyval == GDK_Alt_R)
- || (keyval == GDK_Meta_L)
- || (keyval == GDK_Meta_R));
+ || (keyval == GDK_KEY_Alt_L)
+ || (keyval == GDK_KEY_Alt_R)
+ || (keyval == GDK_KEY_Meta_L)
+ || (keyval == GDK_KEY_Meta_R));
if (Inkscape::Rubberband::get(desktop)->is_started()) {
// if Alt then change cursor to moving cursor: