summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2012-04-15 00:17:25 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2012-04-15 00:17:25 +0000
commit0024197c76bca50d557edc2824646a636d695c4d (patch)
tree5806bbba74cc9460371d2175f8a354917004245e
parentDon't prevent deprecated symbol usage with GTK+ 3 build yet... let's go one s... (diff)
downloadinkscape-0024197c76bca50d557edc2824646a636d695c4d.tar.gz
inkscape-0024197c76bca50d557edc2824646a636d695c4d.zip
Get rid of remaining deprecated GDK Key symbols
(bzr r11250)
-rw-r--r--src/desktop-events.cpp80
-rw-r--r--src/dialogs/dialog-events.cpp107
-rw-r--r--src/draw-context.cpp78
-rw-r--r--src/ege-adjustment-action.cpp100
-rw-r--r--src/event-context.cpp157
-rw-r--r--src/flood-context.cpp95
-rw-r--r--src/inkview.cpp143
-rw-r--r--src/interface.cpp98
-rw-r--r--src/interface.h4
-rw-r--r--src/main.cpp13
-rw-r--r--src/pencil-context.cpp8
-rw-r--r--src/shortcuts.cpp10
-rw-r--r--src/spray-context.cpp148
-rw-r--r--src/text-context.cpp217
-rw-r--r--src/ui/dialog/xml-tree.cpp9
-rw-r--r--src/ui/tool/control-point-selection.cpp147
-rw-r--r--src/ui/tool/control-point.cpp12
-rw-r--r--src/ui/tool/multi-path-manipulator.cpp179
-rw-r--r--src/ui/tool/node-tool.cpp18
-rw-r--r--src/ui/tool/node.cpp17
-rw-r--r--src/ui/tool/selector.cpp6
-rw-r--r--src/ui/widget/spinbutton.cpp12
-rw-r--r--src/verbs.cpp9
-rw-r--r--src/widgets/toolbox.cpp6
24 files changed, 1407 insertions, 266 deletions
diff --git a/src/desktop-events.cpp b/src/desktop-events.cpp
index b16cebee2..68b372d99 100644
--- a/src/desktop-events.cpp
+++ b/src/desktop-events.cpp
@@ -47,6 +47,72 @@
#include "widgets/desktop-widget.h"
#include "xml/repr.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;
static void snoop_extended(GdkEvent* event, SPDesktop *desktop);
@@ -478,9 +544,9 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data)
break;
case GDK_KEY_PRESS:
switch (get_group0_keyval (&event->key)) {
- case GDK_Delete:
- case GDK_KP_Delete:
- case GDK_BackSpace:
+ case GDK_KEY_Delete:
+ case GDK_KEY_KP_Delete:
+ case GDK_KEY_BackSpace:
{
SPDocument *doc = guide->document;
sp_guide_remove(guide);
@@ -489,8 +555,8 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data)
sp_event_context_discard_delayed_snap_event(desktop->event_context);
break;
}
- case GDK_Shift_L:
- case GDK_Shift_R:
+ case GDK_KEY_Shift_L:
+ case GDK_KEY_Shift_R:
if (drag_type != SP_DRAG_MOVE_ORIGIN) {
GdkCursor *guide_cursor;
guide_cursor = gdk_cursor_new (GDK_EXCHANGE);
@@ -511,8 +577,8 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data)
break;
case GDK_KEY_RELEASE:
switch (get_group0_keyval (&event->key)) {
- case GDK_Shift_L:
- case GDK_Shift_R:
+ case GDK_KEY_Shift_L:
+ case GDK_KEY_Shift_R:
GdkCursor *guide_cursor;
guide_cursor = gdk_cursor_new (GDK_EXCHANGE);
gdk_window_set_cursor(gtk_widget_get_window (GTK_WIDGET(sp_desktop_canvas(desktop))), guide_cursor);
diff --git a/src/dialogs/dialog-events.cpp b/src/dialogs/dialog-events.cpp
index f8fce8bd7..70899d4d7 100644
--- a/src/dialogs/dialog-events.cpp
+++ b/src/dialogs/dialog-events.cpp
@@ -27,6 +27,105 @@
#include "dialog-events.h"
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_VoidSymbol 0xffffff
+#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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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_b 0x062
+#define GDK_KEY_B 0x042
+#define GDK_KEY_d 0x064
+#define GDK_KEY_D 0x044
+#define GDK_KEY_g 0x067
+#define GDK_KEY_G 0x047
+#define GDK_KEY_i 0x069
+#define GDK_KEY_I 0x049
+#define GDK_KEY_j 0x06a
+#define GDK_KEY_J 0x04a
+#define GDK_KEY_k 0x06b
+#define GDK_KEY_K 0x04b
+#define GDK_KEY_l 0x06c
+#define GDK_KEY_L 0x04c
+#define GDK_KEY_q 0x071
+#define GDK_KEY_Q 0x051
+#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_w 0x077
+#define GDK_KEY_W 0x057
+#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_F1 0xffbe
+#define GDK_KEY_F2 0xffbf
+#define GDK_KEY_F3 0xffc0
+#define GDK_KEY_F4 0xffc1
+#define GDK_KEY_F5 0xffc2
+#define GDK_KEY_F6 0xffc3
+#define GDK_KEY_F7 0xffc4
+#define GDK_KEY_F8 0xffc5
+#define GDK_KEY_F9 0xffc6
+#define GDK_KEY_F10 0xffc7
+#define GDK_KEY_F11 0xffc8
+#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_KP_Space 0xff80
+#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
+#define GDK_KEY_KP_Add 0xffab
+#define GDK_KEY_KP_Subtract 0xffad
+#endif
+
/**
* Remove focus from window to whoever it is transient for.
@@ -105,13 +204,13 @@ sp_dialog_event_handler (GtkWindow *win, GdkEvent *event, gpointer data)
case GDK_KEY_PRESS:
switch (get_group0_keyval (&event->key)) {
- case GDK_Escape:
+ case GDK_KEY_Escape:
sp_dialog_defocus (win);
ret = TRUE;
break;
- case GDK_F4:
- case GDK_w:
- case GDK_W:
+ case GDK_KEY_F4:
+ case GDK_KEY_w:
+ case GDK_KEY_W:
// close dialog
if (MOD__CTRL_ONLY) {
diff --git a/src/draw-context.cpp b/src/draw-context.cpp
index 36d7eb8de..d8ce2729d 100644
--- a/src/draw-context.cpp
+++ b/src/draw-context.cpp
@@ -45,6 +45,76 @@
#include <gdk/gdkkeysyms.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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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;
static void sp_draw_context_class_init(SPDrawContextClass *klass);
@@ -240,10 +310,10 @@ sp_draw_context_root_handler(SPEventContext *ec, GdkEvent *event)
switch (event->type) {
case GDK_KEY_PRESS:
switch (get_group0_keyval (&event->key)) {
- case GDK_Up:
- case GDK_Down:
- case GDK_KP_Up:
- case GDK_KP_Down:
+ case GDK_KEY_Up:
+ case GDK_KEY_Down:
+ case GDK_KEY_KP_Up:
+ case GDK_KEY_KP_Down:
// prevent the zoom field from activation
if (!MOD__CTRL_ONLY) {
ret = TRUE;
diff --git a/src/ege-adjustment-action.cpp b/src/ege-adjustment-action.cpp
index 47500c8c4..181d63d8f 100644
--- a/src/ege-adjustment-action.cpp
+++ b/src/ege-adjustment-action.cpp
@@ -48,6 +48,76 @@
#include "icon-size.h"
#include "ege-adjustment-action.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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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
+
static void ege_adjustment_action_class_init( EgeAdjustmentActionClass* klass );
static void ege_adjustment_action_init( EgeAdjustmentAction* action );
@@ -1025,7 +1095,7 @@ gboolean keypress_cb( GtkWidget *widget, GdkEventKey *event, gpointer data )
0, &key, 0, 0, 0 );
switch ( key ) {
- case GDK_Escape:
+ case GDK_KEY_Escape:
{
action->private_data->transferFocus = TRUE;
gtk_spin_button_set_value( GTK_SPIN_BUTTON(widget), action->private_data->lastVal );
@@ -1034,8 +1104,8 @@ gboolean keypress_cb( GtkWidget *widget, GdkEventKey *event, gpointer data )
}
break;
- case GDK_Return:
- case GDK_KP_Enter:
+ case GDK_KEY_Return:
+ case GDK_KEY_KP_Enter:
{
action->private_data->transferFocus = TRUE;
ege_adjustment_action_defocus( action );
@@ -1043,22 +1113,22 @@ gboolean keypress_cb( GtkWidget *widget, GdkEventKey *event, gpointer data )
}
break;
- case GDK_Tab:
+ case GDK_KEY_Tab:
{
action->private_data->transferFocus = FALSE;
wasConsumed = process_tab( widget, 1 );
}
break;
- case GDK_ISO_Left_Tab:
+ case GDK_KEY_ISO_Left_Tab:
{
action->private_data->transferFocus = FALSE;
wasConsumed = process_tab( widget, -1 );
}
break;
- case GDK_Up:
- case GDK_KP_Up:
+ case GDK_KEY_Up:
+ case GDK_KEY_KP_Up:
{
action->private_data->transferFocus = FALSE;
gdouble val = gtk_spin_button_get_value( GTK_SPIN_BUTTON(widget) );
@@ -1067,8 +1137,8 @@ gboolean keypress_cb( GtkWidget *widget, GdkEventKey *event, gpointer data )
}
break;
- case GDK_Down:
- case GDK_KP_Down:
+ case GDK_KEY_Down:
+ case GDK_KEY_KP_Down:
{
action->private_data->transferFocus = FALSE;
gdouble val = gtk_spin_button_get_value( GTK_SPIN_BUTTON(widget) );
@@ -1077,8 +1147,8 @@ gboolean keypress_cb( GtkWidget *widget, GdkEventKey *event, gpointer data )
}
break;
- case GDK_Page_Up:
- case GDK_KP_Page_Up:
+ case GDK_KEY_Page_Up:
+ case GDK_KEY_KP_Page_Up:
{
action->private_data->transferFocus = FALSE;
gdouble val = gtk_spin_button_get_value( GTK_SPIN_BUTTON(widget) );
@@ -1087,8 +1157,8 @@ gboolean keypress_cb( GtkWidget *widget, GdkEventKey *event, gpointer data )
}
break;
- case GDK_Page_Down:
- case GDK_KP_Page_Down:
+ case GDK_KEY_Page_Down:
+ case GDK_KEY_KP_Page_Down:
{
action->private_data->transferFocus = FALSE;
gdouble val = gtk_spin_button_get_value( GTK_SPIN_BUTTON(widget) );
@@ -1097,8 +1167,8 @@ gboolean keypress_cb( GtkWidget *widget, GdkEventKey *event, gpointer data )
}
break;
- case GDK_z:
- case GDK_Z:
+ case GDK_KEY_z:
+ case GDK_KEY_Z:
{
action->private_data->transferFocus = FALSE;
gtk_spin_button_set_value( GTK_SPIN_BUTTON(widget), action->private_data->lastVal );
diff --git a/src/event-context.cpp b/src/event-context.cpp
index 3bf1179c8..db7b29640 100644
--- a/src/event-context.cpp
+++ b/src/event-context.cpp
@@ -64,6 +64,93 @@
#include "sp-guide.h"
#include "color.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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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_d 0x064
+#define GDK_KEY_D 0x044
+#define GDK_KEY_g 0x067
+#define GDK_KEY_G 0x047
+#define GDK_KEY_l 0x06c
+#define GDK_KEY_L 0x04c
+#define GDK_KEY_q 0x071
+#define GDK_KEY_Q 0x051
+#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_w 0x077
+#define GDK_KEY_W 0x057
+#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_F1 0xffbe
+#define GDK_KEY_F2 0xffbf
+#define GDK_KEY_F3 0xffc0
+#define GDK_KEY_F4 0xffc1
+#define GDK_KEY_F5 0xffc2
+#define GDK_KEY_F6 0xffc3
+#define GDK_KEY_F7 0xffc4
+#define GDK_KEY_F8 0xffc5
+#define GDK_KEY_F9 0xffc6
+#define GDK_KEY_F10 0xffc7
+#define GDK_KEY_F11 0xffc8
+#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
+
static void sp_event_context_class_init(SPEventContextClass *klass);
static void sp_event_context_init(SPEventContext *event_context);
static void sp_event_context_dispose(GObject *object);
@@ -558,9 +645,9 @@ static gint sp_event_context_private_root_handler(
// in the editing window). So we resteal them back and run our regular shortcut
// invoker on them.
unsigned int shortcut;
- case GDK_Tab:
- case GDK_ISO_Left_Tab:
- case GDK_F1:
+ case GDK_KEY_Tab:
+ case GDK_KEY_ISO_Left_Tab:
+ case GDK_KEY_F1:
shortcut = get_group0_keyval(&event->key);
if (event->key.state & GDK_SHIFT_MASK)
shortcut |= SP_SHORTCUT_SHIFT_MASK;
@@ -571,15 +658,15 @@ static gint sp_event_context_private_root_handler(
ret = sp_shortcut_invoke(shortcut, desktop);
break;
- case GDK_D:
- case GDK_d:
+ case GDK_KEY_D:
+ case GDK_KEY_d:
if (!MOD__SHIFT && !MOD__CTRL && !MOD__ALT) {
sp_toggle_dropper(desktop);
ret = TRUE;
}
break;
- case GDK_Q:
- case GDK_q:
+ case GDK_KEY_Q:
+ case GDK_KEY_q:
if (desktop->quick_zoomed()) {
ret = TRUE;
}
@@ -588,18 +675,18 @@ static gint sp_event_context_private_root_handler(
ret = TRUE;
}
break;
- case GDK_W:
- case GDK_w:
- case GDK_F4:
+ case GDK_KEY_W:
+ case GDK_KEY_w:
+ case GDK_KEY_F4:
/* Close view */
if (MOD__CTRL_ONLY) {
sp_ui_close_view(NULL);
ret = TRUE;
}
break;
- case GDK_Left: // Ctrl Left
- case GDK_KP_Left:
- case GDK_KP_4:
+ case GDK_KEY_Left: // Ctrl Left
+ case GDK_KEY_KP_Left:
+ case GDK_KEY_KP_4:
if (MOD__CTRL_ONLY) {
int i = (int) floor(key_scroll * accelerate_scroll(event,
acceleration, sp_desktop_canvas(desktop)));
@@ -608,9 +695,9 @@ static gint sp_event_context_private_root_handler(
ret = TRUE;
}
break;
- case GDK_Up: // Ctrl Up
- case GDK_KP_Up:
- case GDK_KP_8:
+ case GDK_KEY_Up: // Ctrl Up
+ case GDK_KEY_KP_Up:
+ case GDK_KEY_KP_8:
if (MOD__CTRL_ONLY) {
int i = (int) floor(key_scroll * accelerate_scroll(event,
acceleration, sp_desktop_canvas(desktop)));
@@ -619,9 +706,9 @@ static gint sp_event_context_private_root_handler(
ret = TRUE;
}
break;
- case GDK_Right: // Ctrl Right
- case GDK_KP_Right:
- case GDK_KP_6:
+ case GDK_KEY_Right: // Ctrl Right
+ case GDK_KEY_KP_Right:
+ case GDK_KEY_KP_6:
if (MOD__CTRL_ONLY) {
int i = (int) floor(key_scroll * accelerate_scroll(event,
acceleration, sp_desktop_canvas(desktop)));
@@ -630,9 +717,9 @@ static gint sp_event_context_private_root_handler(
ret = TRUE;
}
break;
- case GDK_Down: // Ctrl Down
- case GDK_KP_Down:
- case GDK_KP_2:
+ case GDK_KEY_Down: // Ctrl Down
+ case GDK_KEY_KP_Down:
+ case GDK_KEY_KP_2:
if (MOD__CTRL_ONLY) {
int i = (int) floor(key_scroll * accelerate_scroll(event,
acceleration, sp_desktop_canvas(desktop)));
@@ -641,13 +728,13 @@ static gint sp_event_context_private_root_handler(
ret = TRUE;
}
break;
- case GDK_F10:
+ case GDK_KEY_F10:
if (MOD__SHIFT_ONLY) {
sp_event_root_menu_popup(desktop, NULL, event);
ret = TRUE;
}
break;
- case GDK_space:
+ case GDK_KEY_space:
if (prefs->getBool("/options/spacepans/value")) {
event_context->space_panning = true;
event_context->_message_context->set(Inkscape::INFORMATION_MESSAGE,
@@ -658,8 +745,8 @@ static gint sp_event_context_private_root_handler(
ret = TRUE;
}
break;
- case GDK_z:
- case GDK_Z:
+ case GDK_KEY_z:
+ case GDK_KEY_Z:
if (MOD__ALT_ONLY) {
desktop->zoom_grab_focus();
ret = TRUE;
@@ -672,7 +759,7 @@ static gint sp_event_context_private_root_handler(
break;
case GDK_KEY_RELEASE:
switch (get_group0_keyval(&event->key)) {
- case GDK_space:
+ case GDK_KEY_space:
if (event_context->space_panning) {
event_context->space_panning = false;
event_context->_message_context->clear();
@@ -685,8 +772,8 @@ static gint sp_event_context_private_root_handler(
ret = TRUE;
}
break;
- case GDK_Q:
- case GDK_q:
+ case GDK_KEY_Q:
+ case GDK_KEY_q:
if (desktop->quick_zoomed()) {
desktop->zoom_quick(false);
ret = TRUE;
@@ -1074,12 +1161,12 @@ void sp_event_show_modifier_tip(Inkscape::MessageContext *message_context,
gchar const *alt_tip) {
guint keyval = get_group0_keyval(&event->key);
- bool ctrl = ctrl_tip && (MOD__CTRL || (keyval == GDK_Control_L) || (keyval
- == GDK_Control_R));
- bool shift = shift_tip && (MOD__SHIFT || (keyval == GDK_Shift_L) || (keyval
- == GDK_Shift_R));
- bool alt = alt_tip && (MOD__ALT || (keyval == GDK_Alt_L) || (keyval
- == GDK_Alt_R) || (keyval == GDK_Meta_L) || (keyval == GDK_Meta_R));
+ bool ctrl = ctrl_tip && (MOD__CTRL || (keyval == GDK_KEY_Control_L) || (keyval
+ == GDK_KEY_Control_R));
+ bool shift = shift_tip && (MOD__SHIFT || (keyval == GDK_KEY_Shift_L) || (keyval
+ == GDK_KEY_Shift_R));
+ bool alt = alt_tip && (MOD__ALT || (keyval == GDK_KEY_Alt_L) || (keyval
+ == GDK_KEY_Alt_R) || (keyval == GDK_KEY_Meta_L) || (keyval == GDK_KEY_Meta_R));
gchar *tip = g_strdup_printf("%s%s%s%s%s", (ctrl ? ctrl_tip : ""), (ctrl
&& (shift || alt) ? "; " : ""), (shift ? shift_tip : ""), ((ctrl
diff --git a/src/flood-context.cpp b/src/flood-context.cpp
index c9f4a0097..7d798a93e 100644
--- a/src/flood-context.cpp
+++ b/src/flood-context.cpp
@@ -70,6 +70,93 @@
#include "pixmaps/cursor-paintbucket.xpm"
+#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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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_d 0x064
+#define GDK_KEY_D 0x044
+#define GDK_KEY_g 0x067
+#define GDK_KEY_G 0x047
+#define GDK_KEY_l 0x06c
+#define GDK_KEY_L 0x04c
+#define GDK_KEY_q 0x071
+#define GDK_KEY_Q 0x051
+#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_w 0x077
+#define GDK_KEY_W 0x057
+#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_F1 0xffbe
+#define GDK_KEY_F2 0xffbf
+#define GDK_KEY_F3 0xffc0
+#define GDK_KEY_F4 0xffc1
+#define GDK_KEY_F5 0xffc2
+#define GDK_KEY_F6 0xffc3
+#define GDK_KEY_F7 0xffc4
+#define GDK_KEY_F8 0xffc5
+#define GDK_KEY_F9 0xffc6
+#define GDK_KEY_F10 0xffc7
+#define GDK_KEY_F11 0xffc8
+#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;
using Inkscape::Display::ExtractARGB32;
@@ -1239,10 +1326,10 @@ static gint sp_flood_context_root_handler(SPEventContext *event_context, GdkEven
break;
case GDK_KEY_PRESS:
switch (get_group0_keyval (&event->key)) {
- case GDK_Up:
- case GDK_Down:
- case GDK_KP_Up:
- case GDK_KP_Down:
+ case GDK_KEY_Up:
+ case GDK_KEY_Down:
+ case GDK_KEY_KP_Up:
+ case GDK_KEY_KP_Down:
// prevent the zoom field from activation
if (!MOD__CTRL_ONLY)
ret = TRUE;
diff --git a/src/inkview.cpp b/src/inkview.cpp
index 57963577c..76d12aa46 100644
--- a/src/inkview.cpp
+++ b/src/inkview.cpp
@@ -70,6 +70,115 @@ Inkscape::Application *inkscape;
#define bind_textdomain_codeset(p,c)
#endif
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_VoidSymbol 0xffffff
+#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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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_b 0x062
+#define GDK_KEY_B 0x042
+#define GDK_KEY_c 0x063
+#define GDK_KEY_C 0x043
+#define GDK_KEY_d 0x064
+#define GDK_KEY_D 0x044
+#define GDK_KEY_g 0x067
+#define GDK_KEY_G 0x047
+#define GDK_KEY_h 0x068
+#define GDK_KEY_H 0x048
+#define GDK_KEY_i 0x069
+#define GDK_KEY_I 0x049
+#define GDK_KEY_j 0x06a
+#define GDK_KEY_J 0x04a
+#define GDK_KEY_k 0x06b
+#define GDK_KEY_K 0x04b
+#define GDK_KEY_l 0x06c
+#define GDK_KEY_L 0x04c
+#define GDK_KEY_q 0x071
+#define GDK_KEY_Q 0x051
+#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_v 0x076
+#define GDK_KEY_V 0x056
+#define GDK_KEY_w 0x077
+#define GDK_KEY_W 0x057
+#define GDK_KEY_x 0x078
+#define GDK_KEY_X 0x058
+#define GDK_KEY_y 0x079
+#define GDK_KEY_Y 0x059
+#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_F1 0xffbe
+#define GDK_KEY_F2 0xffbf
+#define GDK_KEY_F3 0xffc0
+#define GDK_KEY_F4 0xffc1
+#define GDK_KEY_F5 0xffc2
+#define GDK_KEY_F6 0xffc3
+#define GDK_KEY_F7 0xffc4
+#define GDK_KEY_F8 0xffc5
+#define GDK_KEY_F9 0xffc6
+#define GDK_KEY_F10 0xffc7
+#define GDK_KEY_F11 0xffc8
+#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_KP_Space 0xff80
+#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_braceleft 0x07b
+#define GDK_KEY_braceright 0x07d
+#define GDK_KEY_less 0x03c
+#define GDK_KEY_greater 0x03e
+#define GDK_KEY_comma 0x02c
+#define GDK_KEY_period 0x02e
+#define GDK_KEY_KP_Add 0xffab
+#define GDK_KEY_KP_Subtract 0xffad
+#endif
+
extern char *optarg;
extern int optind, opterr;
@@ -117,15 +226,15 @@ static int
sp_svgview_main_key_press (GtkWidget */*widget*/, GdkEventKey *event, struct SPSlideShow *ss)
{
switch (event->keyval) {
- case GDK_Up:
- case GDK_Home:
+ case GDK_KEY_Up:
+ case GDK_KEY_Home:
sp_svgview_goto_first(ss);
break;
- case GDK_Down:
- case GDK_End:
+ case GDK_KEY_Down:
+ case GDK_KEY_End:
sp_svgview_goto_last(ss);
break;
- case GDK_F11:
+ case GDK_KEY_F11:
#ifdef HAVE_GTK_WINDOW_FULLSCREEN
if (ss->fullscreen) {
gtk_window_unfullscreen (GTK_WINDOW(ss->window));
@@ -138,24 +247,24 @@ sp_svgview_main_key_press (GtkWidget */*widget*/, GdkEventKey *event, struct SPS
std::cout<<"Your GTK+ does not support fullscreen mode. Upgrade to 2.2."<<std::endl;
#endif
break;
- case GDK_Return:
+ case GDK_KEY_Return:
sp_svgview_control_show (ss);
break;
- case GDK_KP_Page_Down:
- case GDK_Page_Down:
- case GDK_Right:
- case GDK_space:
+ case GDK_KEY_KP_Page_Down:
+ case GDK_KEY_Page_Down:
+ case GDK_KEY_Right:
+ case GDK_KEY_space:
sp_svgview_show_next (ss);
break;
- case GDK_KP_Page_Up:
- case GDK_Page_Up:
- case GDK_Left:
- case GDK_BackSpace:
+ case GDK_KEY_KP_Page_Up:
+ case GDK_KEY_Page_Up:
+ case GDK_KEY_Left:
+ case GDK_KEY_BackSpace:
sp_svgview_show_prev (ss);
break;
- case GDK_Escape:
- case GDK_q:
- case GDK_Q:
+ case GDK_KEY_Escape:
+ case GDK_KEY_q:
+ case GDK_KEY_Q:
gtk_main_quit();
break;
default:
diff --git a/src/interface.cpp b/src/interface.cpp
index 91f16cbf9..762a1692d 100644
--- a/src/interface.cpp
+++ b/src/interface.cpp
@@ -26,6 +26,8 @@
#include "file.h"
#include <glib.h>
#include <gtkmm/icontheme.h>
+#include <gtkmm/imagemenuitem.h>
+#include <gtkmm/separatormenuitem.h>
#include "inkscape-private.h"
#include "extension/db.h"
@@ -81,6 +83,94 @@
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_VoidSymbol 0xffffff
+#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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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_d 0x064
+#define GDK_KEY_D 0x044
+#define GDK_KEY_g 0x067
+#define GDK_KEY_G 0x047
+#define GDK_KEY_l 0x06c
+#define GDK_KEY_L 0x04c
+#define GDK_KEY_q 0x071
+#define GDK_KEY_Q 0x051
+#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_w 0x077
+#define GDK_KEY_W 0x057
+#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_F1 0xffbe
+#define GDK_KEY_F2 0xffbf
+#define GDK_KEY_F3 0xffc0
+#define GDK_KEY_F4 0xffc1
+#define GDK_KEY_F5 0xffc2
+#define GDK_KEY_F6 0xffc3
+#define GDK_KEY_F7 0xffc4
+#define GDK_KEY_F8 0xffc5
+#define GDK_KEY_F9 0xffc6
+#define GDK_KEY_F10 0xffc7
+#define GDK_KEY_F11 0xffc8
+#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;
/* Drag and Drop */
@@ -415,7 +505,7 @@ sp_ui_dialog_title_string(Inkscape::Verb *verb, gchar *c)
g_free(atitle);
shortcut = sp_shortcut_get_primary(verb);
- if (shortcut!=GDK_VoidSymbol) {
+ if (shortcut!=GDK_KEY_VoidSymbol) {
gchar* key = sp_shortcut_get_label(shortcut);
s = g_stpcpy(s, " (");
s = g_stpcpy(s, key);
@@ -446,7 +536,7 @@ static GtkWidget *sp_ui_menu_append_item_from_verb(GtkMenu *menu, Inkscape::Verb
if (!action) return NULL;
shortcut = sp_shortcut_get_primary(verb);
- if (shortcut!=GDK_VoidSymbol) {
+ if (shortcut!=GDK_KEY_VoidSymbol) {
gchar* c = sp_shortcut_get_label(shortcut);
#if GTK_CHECK_VERSION(3,0,0)
GtkWidget *const hb = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 16);
@@ -634,7 +724,7 @@ sp_ui_menu_append_check_item_from_verb(GtkMenu *menu, Inkscape::UI::View::View *
SPAction *action = (verb) ? verb->get_action(view) : 0;
GtkWidget *item = gtk_check_menu_item_new();
- if (verb && shortcut!=GDK_VoidSymbol) {
+ if (verb && shortcut!=GDK_KEY_VoidSymbol) {
gchar* c = sp_shortcut_get_label(shortcut);
#if GTK_CHECK_VERSION(3,0,0)
@@ -1601,7 +1691,7 @@ void ContextMenu::AppendItemFromVerb(Inkscape::Verb *verb)//, SPDesktop *view)//
Gtk::ImageMenuItem *item = NULL;
unsigned int shortcut = sp_shortcut_get_primary(verb);
- if (shortcut!=GDK_VoidSymbol) {
+ if (shortcut!=GDK_KEY_VoidSymbol) {
gchar* c = sp_shortcut_get_label(shortcut);
Gtk::HBox *const hb = new Gtk::HBox (FALSE, 16);
Gtk::Label *const name_lbl = new Gtk::Label(action->name, true);
diff --git a/src/interface.h b/src/interface.h
index 0751171e2..1ea13f639 100644
--- a/src/interface.h
+++ b/src/interface.h
@@ -24,6 +24,10 @@ class SPObject;
class SPDesktop;
class SPViewWidget;
+namespace Gtk {
+class SeparatorMenuItem;
+}
+
namespace Inkscape {
class Verb;
diff --git a/src/main.cpp b/src/main.cpp
index 4bf327284..7a5d15cb7 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -117,6 +117,11 @@
#include <gdk/gdkkeysyms.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_Alt_L 0xffe9
+#define GDK_KEY_Alt_R 0xffea
+#endif
+
enum {
SP_ARG_NONE,
SP_ARG_NOGUI,
@@ -889,8 +894,8 @@ snooper(GdkEvent *event, gpointer /*data*/) {
break;
case GDK_KEY_PRESS:
keyval = get_group0_keyval(&event->key);
- if (keyval == GDK_Alt_L) altL_pressed = TRUE;
- if (keyval == GDK_Alt_R) altR_pressed = TRUE;
+ if (keyval == GDK_KEY_Alt_L) altL_pressed = TRUE;
+ if (keyval == GDK_KEY_Alt_R) altR_pressed = TRUE;
alt_pressed = alt_pressed || altL_pressed || altR_pressed;
alt_pressed = alt_pressed || (event->button.state & GDK_MOD1_MASK);
if (alt_pressed)
@@ -900,8 +905,8 @@ snooper(GdkEvent *event, gpointer /*data*/) {
break;
case GDK_KEY_RELEASE:
keyval = get_group0_keyval(&event->key);
- if (keyval == GDK_Alt_L) altL_pressed = FALSE;
- if (keyval == GDK_Alt_R) altR_pressed = FALSE;
+ if (keyval == GDK_KEY_Alt_L) altL_pressed = FALSE;
+ if (keyval == GDK_KEY_Alt_R) altR_pressed = FALSE;
if (!altL_pressed && !altR_pressed)
alt_pressed = FALSE;
break;
diff --git a/src/pencil-context.cpp b/src/pencil-context.cpp
index 03fa507de..6db7c8ae2 100644
--- a/src/pencil-context.cpp
+++ b/src/pencil-context.cpp
@@ -673,10 +673,10 @@ pencil_handle_key_release(SPPencilContext *const pc, guint const keyval, guint c
{
gint ret = FALSE;
switch (keyval) {
- case GDK_Alt_L:
- case GDK_Alt_R:
- case GDK_Meta_L:
- case GDK_Meta_R:
+ case GDK_KEY_Alt_L:
+ case GDK_KEY_Alt_R:
+ case GDK_KEY_Meta_L:
+ case GDK_KEY_Meta_R:
if (pc->state == SP_PENCIL_CONTEXT_SKETCH) {
spdc_concat_colors_and_flush(pc, FALSE);
pc->sketch_n = 0;
diff --git a/src/shortcuts.cpp b/src/shortcuts.cpp
index aab55327d..57fc59614 100644
--- a/src/shortcuts.cpp
+++ b/src/shortcuts.cpp
@@ -39,6 +39,10 @@
#include "xml/node-iterators.h"
#include "xml/repr.h"
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_VoidSymbol 0xffffff
+#endif
+
using namespace Inkscape;
static void sp_shortcut_set(unsigned int const shortcut, Inkscape::Verb *const verb, bool const is_primary);
@@ -127,7 +131,7 @@ static void read_shortcuts_file(char const *filename) {
}
guint keyval=gdk_keyval_from_name(keyval_name);
- if (keyval == GDK_VoidSymbol || keyval == 0) {
+ if (keyval == GDK_KEY_VoidSymbol || keyval == 0) {
g_warning("Unknown keyval %s for %s", keyval_name, verb_name);
continue;
}
@@ -202,7 +206,7 @@ sp_shortcut_get_verb(unsigned int shortcut)
unsigned int sp_shortcut_get_primary(Inkscape::Verb *verb)
{
- unsigned int result = GDK_VoidSymbol;
+ unsigned int result = GDK_KEY_VoidSymbol;
if (!primary_shortcuts) {
sp_shortcut_init();
}
@@ -225,7 +229,7 @@ gchar *sp_shortcut_get_label(unsigned int shortcut)
* gtk_label_set_text_with_mnemonic(lbl, str).
*/
gchar *result = 0;
- if (shortcut != GDK_VoidSymbol) {
+ if (shortcut != GDK_KEY_VoidSymbol) {
result = gtk_accelerator_get_label(
shortcut & (~SP_SHORTCUT_MODIFIER_MASK), static_cast<GdkModifierType>(
((shortcut & SP_SHORTCUT_SHIFT_MASK) ? GDK_SHIFT_MASK : 0) |
diff --git a/src/spray-context.cpp b/src/spray-context.cpp
index 89da66b8f..b10c486c7 100644
--- a/src/spray-context.cpp
+++ b/src/spray-context.cpp
@@ -72,6 +72,98 @@
#include <gdk/gdkkeysyms.h>
#include <glibmm/i18n.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_VoidSymbol 0xffffff
+#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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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_d 0x064
+#define GDK_KEY_D 0x044
+#define GDK_KEY_g 0x067
+#define GDK_KEY_G 0x047
+#define GDK_KEY_j 0x06a
+#define GDK_KEY_J 0x04a
+#define GDK_KEY_k 0x06b
+#define GDK_KEY_K 0x04b
+#define GDK_KEY_l 0x06c
+#define GDK_KEY_L 0x04c
+#define GDK_KEY_q 0x071
+#define GDK_KEY_Q 0x051
+#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_w 0x077
+#define GDK_KEY_W 0x057
+#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_F1 0xffbe
+#define GDK_KEY_F2 0xffbf
+#define GDK_KEY_F3 0xffc0
+#define GDK_KEY_F4 0xffc1
+#define GDK_KEY_F5 0xffc2
+#define GDK_KEY_F6 0xffc3
+#define GDK_KEY_F7 0xffc4
+#define GDK_KEY_F8 0xffc5
+#define GDK_KEY_F9 0xffc6
+#define GDK_KEY_F10 0xffc7
+#define GDK_KEY_F11 0xffc8
+#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;
using namespace std;
@@ -796,29 +888,29 @@ gint sp_spray_context_root_handler(SPEventContext *event_context, GdkEvent *even
case GDK_KEY_PRESS:
switch (get_group0_keyval (&event->key)) {
- case GDK_j:
- case GDK_J:
+ case GDK_KEY_j:
+ case GDK_KEY_J:
if (MOD__SHIFT_ONLY) {
sp_spray_switch_mode(tc, SPRAY_MODE_COPY, MOD__SHIFT);
ret = TRUE;
}
break;
- case GDK_k:
- case GDK_K:
+ case GDK_KEY_k:
+ case GDK_KEY_K:
if (MOD__SHIFT_ONLY) {
sp_spray_switch_mode(tc, SPRAY_MODE_CLONE, MOD__SHIFT);
ret = TRUE;
}
break;
- case GDK_l:
- case GDK_L:
+ case GDK_KEY_l:
+ case GDK_KEY_L:
if (MOD__SHIFT_ONLY) {
sp_spray_switch_mode(tc, SPRAY_MODE_SINGLE_PATH, MOD__SHIFT);
ret = TRUE;
}
break;
- case GDK_Up:
- case GDK_KP_Up:
+ case GDK_KEY_Up:
+ case GDK_KEY_KP_Up:
if (!MOD__CTRL_ONLY) {
tc->population += 0.01;
if (tc->population > 1.0) {
@@ -828,8 +920,8 @@ gint sp_spray_context_root_handler(SPEventContext *event_context, GdkEvent *even
ret = TRUE;
}
break;
- case GDK_Down:
- case GDK_KP_Down:
+ case GDK_KEY_Down:
+ case GDK_KEY_KP_Down:
if (!MOD__CTRL_ONLY) {
tc->population -= 0.01;
if (tc->population < 0.0) {
@@ -839,8 +931,8 @@ gint sp_spray_context_root_handler(SPEventContext *event_context, GdkEvent *even
ret = TRUE;
}
break;
- case GDK_Right:
- case GDK_KP_Right:
+ case GDK_KEY_Right:
+ case GDK_KEY_KP_Right:
if (!MOD__CTRL_ONLY) {
tc->width += 0.01;
if (tc->width > 1.0) {
@@ -852,8 +944,8 @@ gint sp_spray_context_root_handler(SPEventContext *event_context, GdkEvent *even
ret = TRUE;
}
break;
- case GDK_Left:
- case GDK_KP_Left:
+ case GDK_KEY_Left:
+ case GDK_KEY_KP_Left:
if (!MOD__CTRL_ONLY) {
tc->width -= 0.01;
if (tc->width < 0.01) {
@@ -864,33 +956,33 @@ gint sp_spray_context_root_handler(SPEventContext *event_context, GdkEvent *even
ret = TRUE;
}
break;
- case GDK_Home:
- case GDK_KP_Home:
+ case GDK_KEY_Home:
+ case GDK_KEY_KP_Home:
tc->width = 0.01;
desktop->setToolboxAdjustmentValue("altx-spray", tc->width * 100);
sp_spray_update_area(tc);
ret = TRUE;
break;
- case GDK_End:
- case GDK_KP_End:
+ case GDK_KEY_End:
+ case GDK_KEY_KP_End:
tc->width = 1.0;
desktop->setToolboxAdjustmentValue("altx-spray", tc->width * 100);
sp_spray_update_area(tc);
ret = TRUE;
break;
- case GDK_x:
- case GDK_X:
+ case GDK_KEY_x:
+ case GDK_KEY_X:
if (MOD__ALT_ONLY) {
desktop->setToolboxFocusTo("altx-spray");
ret = TRUE;
}
break;
- case GDK_Shift_L:
- case GDK_Shift_R:
+ case GDK_KEY_Shift_L:
+ case GDK_KEY_Shift_R:
sp_spray_update_cursor(tc, true);
break;
- case GDK_Control_L:
- case GDK_Control_R:
+ case GDK_KEY_Control_L:
+ case GDK_KEY_Control_R:
break;
default:
break;
@@ -900,12 +992,12 @@ gint sp_spray_context_root_handler(SPEventContext *event_context, GdkEvent *even
case GDK_KEY_RELEASE: {
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
switch (get_group0_keyval(&event->key)) {
- case GDK_Shift_L:
- case GDK_Shift_R:
+ case GDK_KEY_Shift_L:
+ case GDK_KEY_Shift_R:
sp_spray_update_cursor(tc, false);
break;
- case GDK_Control_L:
- case GDK_Control_R:
+ case GDK_KEY_Control_L:
+ case GDK_KEY_Control_R:
sp_spray_switch_mode (tc, prefs->getInt("/tools/spray/mode"), MOD__SHIFT);
tc->_message_context->clear();
break;
diff --git a/src/text-context.cpp b/src/text-context.cpp
index 724c40aa8..c2a9b6a24 100644
--- a/src/text-context.cpp
+++ b/src/text-context.cpp
@@ -54,6 +54,105 @@
#include "xml/repr.h"
#include <gtk/gtk.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_VoidSymbol 0xffffff
+#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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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_b 0x062
+#define GDK_KEY_B 0x042
+#define GDK_KEY_d 0x064
+#define GDK_KEY_D 0x044
+#define GDK_KEY_g 0x067
+#define GDK_KEY_G 0x047
+#define GDK_KEY_i 0x069
+#define GDK_KEY_I 0x049
+#define GDK_KEY_j 0x06a
+#define GDK_KEY_J 0x04a
+#define GDK_KEY_k 0x06b
+#define GDK_KEY_K 0x04b
+#define GDK_KEY_l 0x06c
+#define GDK_KEY_L 0x04c
+#define GDK_KEY_q 0x071
+#define GDK_KEY_Q 0x051
+#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_w 0x077
+#define GDK_KEY_W 0x057
+#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_F1 0xffbe
+#define GDK_KEY_F2 0xffbf
+#define GDK_KEY_F3 0xffc0
+#define GDK_KEY_F4 0xffc1
+#define GDK_KEY_F5 0xffc2
+#define GDK_KEY_F6 0xffc3
+#define GDK_KEY_F7 0xffc4
+#define GDK_KEY_F8 0xffc5
+#define GDK_KEY_F9 0xffc6
+#define GDK_KEY_F10 0xffc7
+#define GDK_KEY_F11 0xffc8
+#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_KP_Space 0xff80
+#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
+#define GDK_KEY_KP_Add 0xffab
+#define GDK_KEY_KP_Subtract 0xffad
+#endif
+
using Inkscape::DocumentUndo;
static void sp_text_context_class_init(SPTextContextClass *klass);
@@ -741,8 +840,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
case GDK_KEY_PRESS: {
guint const group0_keyval = get_group0_keyval(&event->key);
- if (group0_keyval == GDK_KP_Add ||
- group0_keyval == GDK_KP_Subtract) {
+ if (group0_keyval == GDK_KEY_KP_Add ||
+ group0_keyval == GDK_KEY_KP_Subtract) {
if (!(event->key.state & GDK_MOD2_MASK)) // mod2 is NumLock; if on, type +/- keys
break; // otherwise pass on keypad +/- so they can zoom
}
@@ -765,8 +864,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
keyboard shortcuts), but differs from the ISO 14755
recommendation. */
switch (group0_keyval) {
- case GDK_space:
- case GDK_KP_Space: {
+ case GDK_KEY_space:
+ case GDK_KEY_KP_Space: {
if (tc->unipos) {
insert_uni_char(tc);
}
@@ -775,7 +874,7 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
return TRUE;
}
- case GDK_BackSpace: {
+ case GDK_KEY_BackSpace: {
g_return_val_if_fail(tc->unipos < sizeof(tc->uni), TRUE);
if (tc->unipos) {
tc->uni[--tc->unipos] = '\0';
@@ -784,8 +883,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
return TRUE;
}
- case GDK_Return:
- case GDK_KP_Enter: {
+ case GDK_KEY_Return:
+ case GDK_KEY_KP_Enter: {
if (tc->unipos) {
insert_uni_char(tc);
}
@@ -795,7 +894,7 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
return TRUE;
}
- case GDK_Escape: {
+ case GDK_KEY_Escape: {
// Cancel unimode.
tc->unimode = false;
gtk_im_context_reset(tc->imc);
@@ -803,8 +902,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
return TRUE;
}
- case GDK_Shift_L:
- case GDK_Shift_R:
+ case GDK_KEY_Shift_L:
+ case GDK_KEY_Shift_R:
break;
default: {
@@ -850,14 +949,14 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
/* Neither unimode nor IM consumed key; process text tool shortcuts */
switch (group0_keyval) {
- case GDK_x:
- case GDK_X:
+ case GDK_KEY_x:
+ case GDK_KEY_X:
if (MOD__ALT_ONLY) {
desktop->setToolboxFocusTo ("altx-text");
return TRUE;
}
break;
- case GDK_space:
+ case GDK_KEY_space:
if (MOD__CTRL_ONLY) {
/* No-break space */
if (!tc->text) { // printable key; create text if none (i.e. if nascent_object)
@@ -873,8 +972,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
return TRUE;
}
break;
- case GDK_U:
- case GDK_u:
+ case GDK_KEY_U:
+ case GDK_KEY_u:
if (MOD__CTRL_ONLY || (MOD__CTRL && MOD__SHIFT)) {
if (tc->unimode) {
tc->unimode = false;
@@ -890,8 +989,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
return TRUE;
}
break;
- case GDK_B:
- case GDK_b:
+ case GDK_KEY_B:
+ case GDK_KEY_b:
if (MOD__CTRL_ONLY && tc->text) {
SPStyle const *style = sp_te_style_at_position(tc->text, std::min(tc->text_sel_start, tc->text_sel_end));
SPCSSAttr *css = sp_repr_css_attr_new();
@@ -912,8 +1011,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
return TRUE;
}
break;
- case GDK_I:
- case GDK_i:
+ case GDK_KEY_I:
+ case GDK_KEY_i:
if (MOD__CTRL_ONLY && tc->text) {
SPStyle const *style = sp_te_style_at_position(tc->text, std::min(tc->text_sel_start, tc->text_sel_end));
SPCSSAttr *css = sp_repr_css_attr_new();
@@ -931,8 +1030,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
break;
- case GDK_A:
- case GDK_a:
+ case GDK_KEY_A:
+ case GDK_KEY_a:
if (MOD__CTRL_ONLY && tc->text) {
Inkscape::Text::Layout const *layout = te_get_layout(tc->text);
if (layout) {
@@ -945,8 +1044,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
break;
- case GDK_Return:
- case GDK_KP_Enter:
+ case GDK_KEY_Return:
+ case GDK_KEY_KP_Enter:
{
if (!tc->text) { // printable key; create text if none (i.e. if nascent_object)
sp_text_context_setup_text(tc);
@@ -966,7 +1065,7 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
_("New line"));
return TRUE;
}
- case GDK_BackSpace:
+ case GDK_KEY_BackSpace:
if (tc->text) { // if nascent_object, do nothing, but return TRUE; same for all other delete and move keys
bool noSelection = false;
@@ -1000,8 +1099,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
_("Backspace"));
}
return TRUE;
- case GDK_Delete:
- case GDK_KP_Delete:
+ case GDK_KEY_Delete:
+ case GDK_KEY_KP_Delete:
if (tc->text) {
bool noSelection = false;
@@ -1031,9 +1130,9 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
_("Delete"));
}
return TRUE;
- case GDK_Left:
- case GDK_KP_Left:
- case GDK_KP_4:
+ case GDK_KEY_Left:
+ case GDK_KEY_KP_Left:
+ case GDK_KEY_KP_4:
if (tc->text) {
if (MOD__ALT) {
gint mul = 1 + gobble_key_events(
@@ -1056,9 +1155,9 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
}
return TRUE;
- case GDK_Right:
- case GDK_KP_Right:
- case GDK_KP_6:
+ case GDK_KEY_Right:
+ case GDK_KEY_KP_Right:
+ case GDK_KEY_KP_6:
if (tc->text) {
if (MOD__ALT) {
gint mul = 1 + gobble_key_events(
@@ -1081,9 +1180,9 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
}
return TRUE;
- case GDK_Up:
- case GDK_KP_Up:
- case GDK_KP_8:
+ case GDK_KEY_Up:
+ case GDK_KEY_KP_Up:
+ case GDK_KEY_KP_8:
if (tc->text) {
if (MOD__ALT) {
gint mul = 1 + gobble_key_events(
@@ -1106,9 +1205,9 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
}
return TRUE;
- case GDK_Down:
- case GDK_KP_Down:
- case GDK_KP_2:
+ case GDK_KEY_Down:
+ case GDK_KEY_KP_Down:
+ case GDK_KEY_KP_2:
if (tc->text) {
if (MOD__ALT) {
gint mul = 1 + gobble_key_events(
@@ -1131,8 +1230,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
}
return TRUE;
- case GDK_Home:
- case GDK_KP_Home:
+ case GDK_KEY_Home:
+ case GDK_KEY_KP_Home:
if (tc->text) {
if (MOD__CTRL)
tc->text_sel_end.thisStartOfShape();
@@ -1142,8 +1241,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
break;
}
return TRUE;
- case GDK_End:
- case GDK_KP_End:
+ case GDK_KEY_End:
+ case GDK_KEY_KP_End:
if (tc->text) {
if (MOD__CTRL)
tc->text_sel_end.nextStartOfShape();
@@ -1153,23 +1252,23 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
break;
}
return TRUE;
- case GDK_Page_Down:
- case GDK_KP_Page_Down:
+ case GDK_KEY_Page_Down:
+ case GDK_KEY_KP_Page_Down:
if (tc->text) {
tc->text_sel_end.cursorDown(screenlines);
cursor_moved = true;
break;
}
return TRUE;
- case GDK_Page_Up:
- case GDK_KP_Page_Up:
+ case GDK_KEY_Page_Up:
+ case GDK_KEY_KP_Page_Up:
if (tc->text) {
tc->text_sel_end.cursorUp(screenlines);
cursor_moved = true;
break;
}
return TRUE;
- case GDK_Escape:
+ case GDK_KEY_Escape:
if (tc->creating) {
tc->creating = 0;
if (tc->grabbed) {
@@ -1182,7 +1281,7 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
tc->nascent_object = FALSE;
return TRUE;
- case GDK_bracketleft:
+ case GDK_KEY_bracketleft:
if (tc->text) {
if (MOD__ALT || MOD__CTRL) {
if (MOD__ALT) {
@@ -1203,7 +1302,7 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
}
break;
- case GDK_bracketright:
+ case GDK_KEY_bracketright:
if (tc->text) {
if (MOD__ALT || MOD__CTRL) {
if (MOD__ALT) {
@@ -1224,8 +1323,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
}
break;
- case GDK_less:
- case GDK_comma:
+ case GDK_KEY_less:
+ case GDK_KEY_comma:
if (tc->text) {
if (MOD__ALT) {
if (MOD__CTRL) {
@@ -1249,8 +1348,8 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
}
break;
- case GDK_greater:
- case GDK_period:
+ case GDK_KEY_greater:
+ case GDK_KEY_period:
if (tc->text) {
if (MOD__ALT) {
if (MOD__CTRL) {
@@ -1291,13 +1390,13 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
} else return TRUE; // return the "I took care of it" value if it was consumed by the IM
} else { // do nothing if there's no object to type in - the key will be sent to parent context,
// except up/down that are swallowed to prevent the zoom field from activation
- if ((group0_keyval == GDK_Up ||
- group0_keyval == GDK_Down ||
- group0_keyval == GDK_KP_Up ||
- group0_keyval == GDK_KP_Down )
+ if ((group0_keyval == GDK_KEY_Up ||
+ group0_keyval == GDK_KEY_Down ||
+ group0_keyval == GDK_KEY_KP_Up ||
+ group0_keyval == GDK_KEY_KP_Down )
&& !MOD__CTRL_ONLY) {
return TRUE;
- } else if (group0_keyval == GDK_Escape) { // cancel rubberband
+ } else if (group0_keyval == GDK_KEY_Escape) { // cancel rubberband
if (tc->creating) {
tc->creating = 0;
if (tc->grabbed) {
@@ -1306,7 +1405,7 @@ static gint sp_text_context_root_handler(SPEventContext *const event_context, Gd
}
Inkscape::Rubberband::get(desktop)->stop();
}
- } else if ((group0_keyval == GDK_x || group0_keyval == GDK_X) && MOD__ALT_ONLY) {
+ } else if ((group0_keyval == GDK_KEY_x || group0_keyval == GDK_KEY_X) && MOD__ALT_ONLY) {
desktop->setToolboxFocusTo ("altx-text");
return TRUE;
}
diff --git a/src/ui/dialog/xml-tree.cpp b/src/ui/dialog/xml-tree.cpp
index 20460474b..5c39a2b22 100644
--- a/src/ui/dialog/xml-tree.cpp
+++ b/src/ui/dialog/xml-tree.cpp
@@ -48,6 +48,11 @@
#include "widgets/sp-xmlview-content.h"
#include "widgets/sp-xmlview-tree.h"
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_Escape 0xff1b
+#define GDK_KEY_Return 0xff0d
+#endif
+
namespace Inkscape {
namespace UI {
namespace Dialog {
@@ -334,7 +339,7 @@ bool XmlTree::sp_xml_tree_key_press(GdkEventKey *event)
/* fixme: if you need to add more xml-tree-specific callbacks, you should probably upgrade
* the sp_shortcut mechanism to take into account windows. */
- if (shortcut == (SP_SHORTCUT_CONTROL_MASK | GDK_Return)) {
+ if (shortcut == (SP_SHORTCUT_CONTROL_MASK | GDK_KEY_Return)) {
cmd_set_attr();
return true;
}
@@ -839,7 +844,7 @@ void XmlTree::on_document_uri_set(gchar const * /*uri*/, SPDocument * /*document
gboolean XmlTree::quit_on_esc (GtkWidget *w, GdkEventKey *event, GObject */*tbl*/)
{
switch (get_group0_keyval (event)) {
- case GDK_Escape: // defocus
+ case GDK_KEY_Escape: // defocus
gtk_widget_destroy(w);
return TRUE;
}
diff --git a/src/ui/tool/control-point-selection.cpp b/src/ui/tool/control-point-selection.cpp
index a44fde3be..e4899691a 100644
--- a/src/ui/tool/control-point-selection.cpp
+++ b/src/ui/tool/control-point-selection.cpp
@@ -21,6 +21,109 @@
#include <gdk/gdkkeysyms.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_VoidSymbol 0xffffff
+#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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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_b 0x062
+#define GDK_KEY_B 0x042
+#define GDK_KEY_d 0x064
+#define GDK_KEY_D 0x044
+#define GDK_KEY_g 0x067
+#define GDK_KEY_G 0x047
+#define GDK_KEY_h 0x068
+#define GDK_KEY_H 0x048
+#define GDK_KEY_i 0x069
+#define GDK_KEY_I 0x049
+#define GDK_KEY_j 0x06a
+#define GDK_KEY_J 0x04a
+#define GDK_KEY_k 0x06b
+#define GDK_KEY_K 0x04b
+#define GDK_KEY_l 0x06c
+#define GDK_KEY_L 0x04c
+#define GDK_KEY_q 0x071
+#define GDK_KEY_Q 0x051
+#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_v 0x076
+#define GDK_KEY_V 0x056
+#define GDK_KEY_w 0x077
+#define GDK_KEY_W 0x057
+#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_F1 0xffbe
+#define GDK_KEY_F2 0xffbf
+#define GDK_KEY_F3 0xffc0
+#define GDK_KEY_F4 0xffc1
+#define GDK_KEY_F5 0xffc2
+#define GDK_KEY_F6 0xffc3
+#define GDK_KEY_F7 0xffc4
+#define GDK_KEY_F8 0xffc5
+#define GDK_KEY_F9 0xffc6
+#define GDK_KEY_F10 0xffc7
+#define GDK_KEY_F11 0xffc8
+#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_KP_Space 0xff80
+#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
+#define GDK_KEY_KP_Add 0xffab
+#define GDK_KEY_KP_Subtract 0xffad
+#endif
+
namespace Inkscape {
namespace UI {
@@ -593,43 +696,43 @@ bool ControlPointSelection::event(SPEventContext * /*event_context*/, GdkEvent *
switch(shortcut_key(event->key)) {
// moves
- case GDK_Up:
- case GDK_KP_Up:
- case GDK_KP_8:
+ case GDK_KEY_Up:
+ case GDK_KEY_KP_Up:
+ case GDK_KEY_KP_8:
return _keyboardMove(event->key, Geom::Point(0, 1));
- case GDK_Down:
- case GDK_KP_Down:
- case GDK_KP_2:
+ case GDK_KEY_Down:
+ case GDK_KEY_KP_Down:
+ case GDK_KEY_KP_2:
return _keyboardMove(event->key, Geom::Point(0, -1));
- case GDK_Right:
- case GDK_KP_Right:
- case GDK_KP_6:
+ case GDK_KEY_Right:
+ case GDK_KEY_KP_Right:
+ case GDK_KEY_KP_6:
return _keyboardMove(event->key, Geom::Point(1, 0));
- case GDK_Left:
- case GDK_KP_Left:
- case GDK_KP_4:
+ case GDK_KEY_Left:
+ case GDK_KEY_KP_Left:
+ case GDK_KEY_KP_4:
return _keyboardMove(event->key, Geom::Point(-1, 0));
// rotates
- case GDK_bracketleft:
+ case GDK_KEY_bracketleft:
return _keyboardRotate(event->key, 1);
- case GDK_bracketright:
+ case GDK_KEY_bracketright:
return _keyboardRotate(event->key, -1);
// scaling
- case GDK_less:
- case GDK_comma:
+ case GDK_KEY_less:
+ case GDK_KEY_comma:
return _keyboardScale(event->key, -1);
- case GDK_greater:
- case GDK_period:
+ case GDK_KEY_greater:
+ case GDK_KEY_period:
return _keyboardScale(event->key, 1);
// TODO: skewing
// flipping
// NOTE: H is horizontal flip, while Shift+H switches transform handle mode!
- case GDK_h:
- case GDK_H:
+ case GDK_KEY_h:
+ case GDK_KEY_H:
if (held_shift(event->key)) {
toggleTransformHandlesMode();
return true;
@@ -637,8 +740,8 @@ bool ControlPointSelection::event(SPEventContext * /*event_context*/, GdkEvent *
// any modifiers except shift should cause no action
if (held_any_modifiers(event->key)) break;
return _keyboardFlip(Geom::X);
- case GDK_v:
- case GDK_V:
+ case GDK_KEY_v:
+ case GDK_KEY_V:
if (held_any_modifiers(event->key)) break;
return _keyboardFlip(Geom::Y);
default: break;
diff --git a/src/ui/tool/control-point.cpp b/src/ui/tool/control-point.cpp
index a5509655f..15af21777 100644
--- a/src/ui/tool/control-point.cpp
+++ b/src/ui/tool/control-point.cpp
@@ -27,6 +27,12 @@
#include "ui/tool/event-utils.h"
#include "ui/tool/transform-handle-set.h"
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_Escape 0xff1b
+#define GDK_KEY_Tab 0xff09
+#define GDK_KEY_ISO_Left_Tab 0xfe20
+#endif
+
namespace Inkscape {
namespace UI {
@@ -440,7 +446,7 @@ bool ControlPoint::_eventHandler(SPEventContext *event_context, GdkEvent *event)
case GDK_KEY_PRESS:
switch (get_group0_keyval(&event->key))
{
- case GDK_Escape: {
+ case GDK_KEY_Escape: {
// ignore Escape if this is not a drag
if (!_drag_initiated) break;
@@ -480,7 +486,7 @@ bool ControlPoint::_eventHandler(SPEventContext *event_context, GdkEvent *event)
ungrabbed(NULL); // ungrabbed handlers can handle a NULL event
snapprefs.setSnapEnabledGlobally(snap_save);
} return true;
- case GDK_Tab:
+ case GDK_KEY_Tab:
{// Downcast from ControlPoint to TransformHandle, if possible
// This is an ugly hack; we should have the transform handle intercept the keystrokes itself
TransformHandle *th = dynamic_cast<TransformHandle*>(this);
@@ -490,7 +496,7 @@ bool ControlPoint::_eventHandler(SPEventContext *event_context, GdkEvent *event)
}
break;
}
- case GDK_ISO_Left_Tab:
+ case GDK_KEY_ISO_Left_Tab:
{// Downcast from ControlPoint to TransformHandle, if possible
// This is an ugly hack; we should have the transform handle intercept the keystrokes itself
TransformHandle *th = dynamic_cast<TransformHandle*>(this);
diff --git a/src/ui/tool/multi-path-manipulator.cpp b/src/ui/tool/multi-path-manipulator.cpp
index 597a151c0..2be96afad 100644
--- a/src/ui/tool/multi-path-manipulator.cpp
+++ b/src/ui/tool/multi-path-manipulator.cpp
@@ -31,6 +31,115 @@
#include <gdk/gdkkeysyms.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_VoidSymbol 0xffffff
+#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_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#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_b 0x062
+#define GDK_KEY_B 0x042
+#define GDK_KEY_c 0x063
+#define GDK_KEY_C 0x043
+#define GDK_KEY_d 0x064
+#define GDK_KEY_D 0x044
+#define GDK_KEY_g 0x067
+#define GDK_KEY_G 0x047
+#define GDK_KEY_h 0x068
+#define GDK_KEY_H 0x048
+#define GDK_KEY_i 0x069
+#define GDK_KEY_I 0x049
+#define GDK_KEY_j 0x06a
+#define GDK_KEY_J 0x04a
+#define GDK_KEY_k 0x06b
+#define GDK_KEY_K 0x04b
+#define GDK_KEY_l 0x06c
+#define GDK_KEY_L 0x04c
+#define GDK_KEY_q 0x071
+#define GDK_KEY_Q 0x051
+#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_v 0x076
+#define GDK_KEY_V 0x056
+#define GDK_KEY_w 0x077
+#define GDK_KEY_W 0x057
+#define GDK_KEY_x 0x078
+#define GDK_KEY_X 0x058
+#define GDK_KEY_y 0x079
+#define GDK_KEY_Y 0x059
+#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_F1 0xffbe
+#define GDK_KEY_F2 0xffbf
+#define GDK_KEY_F3 0xffc0
+#define GDK_KEY_F4 0xffc1
+#define GDK_KEY_F5 0xffc2
+#define GDK_KEY_F6 0xffc3
+#define GDK_KEY_F7 0xffc4
+#define GDK_KEY_F8 0xffc5
+#define GDK_KEY_F9 0xffc6
+#define GDK_KEY_F10 0xffc7
+#define GDK_KEY_F11 0xffc8
+#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_KP_Space 0xff80
+#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_braceleft 0x07b
+#define GDK_KEY_braceright 0x07d
+#define GDK_KEY_less 0x03c
+#define GDK_KEY_greater 0x03e
+#define GDK_KEY_comma 0x02c
+#define GDK_KEY_period 0x02e
+#define GDK_KEY_KP_Add 0xffab
+#define GDK_KEY_KP_Subtract 0xffad
+#endif
+
#ifdef USE_GNU_HASHES
namespace __gnu_cxx {
template<>
@@ -581,21 +690,21 @@ bool MultiPathManipulator::event(SPEventContext *event_context, GdkEvent *event)
switch (key) {
// single handle functions
// rotation
- case GDK_bracketleft:
- case GDK_braceleft:
+ case GDK_KEY_bracketleft:
+ case GDK_KEY_braceleft:
pm.rotateHandle(n, which, 1, one_pixel);
break;
- case GDK_bracketright:
- case GDK_braceright:
+ case GDK_KEY_bracketright:
+ case GDK_KEY_braceright:
pm.rotateHandle(n, which, -1, one_pixel);
break;
// adjust length
- case GDK_period:
- case GDK_greater:
+ case GDK_KEY_period:
+ case GDK_KEY_greater:
pm.scaleHandle(n, which, 1, one_pixel);
break;
- case GDK_comma:
- case GDK_less:
+ case GDK_KEY_comma:
+ case GDK_KEY_less:
pm.scaleHandle(n, which, -1, one_pixel);
break;
default:
@@ -611,13 +720,13 @@ bool MultiPathManipulator::event(SPEventContext *event_context, GdkEvent *event)
switch (event->type) {
case GDK_KEY_PRESS:
switch (key) {
- case GDK_Insert:
- case GDK_KP_Insert:
+ case GDK_KEY_Insert:
+ case GDK_KEY_KP_Insert:
// Insert - insert nodes in the middle of selected segments
insertNodes();
return true;
- case GDK_i:
- case GDK_I:
+ case GDK_KEY_i:
+ case GDK_KEY_I:
if (held_only_shift(event->key)) {
// Shift+I - insert nodes (alternate keybinding for Mac keyboards
// that don't have the Insert key)
@@ -625,14 +734,14 @@ bool MultiPathManipulator::event(SPEventContext *event_context, GdkEvent *event)
return true;
}
break;
- case GDK_d:
- case GDK_D:
+ case GDK_KEY_d:
+ case GDK_KEY_D:
if (held_only_shift(event->key)) {
duplicateNodes();
return true;
}
- case GDK_j:
- case GDK_J:
+ case GDK_KEY_j:
+ case GDK_KEY_J:
if (held_only_shift(event->key)) {
// Shift+J - join nodes
joinNodes();
@@ -644,17 +753,17 @@ bool MultiPathManipulator::event(SPEventContext *event_context, GdkEvent *event)
return true;
}
break;
- case GDK_b:
- case GDK_B:
+ case GDK_KEY_b:
+ case GDK_KEY_B:
if (held_only_shift(event->key)) {
// Shift+B - break nodes
breakNodes();
return true;
}
break;
- case GDK_Delete:
- case GDK_KP_Delete:
- case GDK_BackSpace:
+ case GDK_KEY_Delete:
+ case GDK_KEY_KP_Delete:
+ case GDK_KEY_BackSpace:
if (held_shift(event->key)) break;
if (held_alt(event->key)) {
// Alt+Delete - delete segments
@@ -669,55 +778,55 @@ bool MultiPathManipulator::event(SPEventContext *event_context, GdkEvent *event)
deleteNodes(del_preserves_shape ^ held_control(event->key));
}
return true;
- case GDK_c:
- case GDK_C:
+ case GDK_KEY_c:
+ case GDK_KEY_C:
if (held_only_shift(event->key)) {
// Shift+C - make nodes cusp
setNodeType(NODE_CUSP);
return true;
}
break;
- case GDK_s:
- case GDK_S:
+ case GDK_KEY_s:
+ case GDK_KEY_S:
if (held_only_shift(event->key)) {
// Shift+S - make nodes smooth
setNodeType(NODE_SMOOTH);
return true;
}
break;
- case GDK_a:
- case GDK_A:
+ case GDK_KEY_a:
+ case GDK_KEY_A:
if (held_only_shift(event->key)) {
// Shift+A - make nodes auto-smooth
setNodeType(NODE_AUTO);
return true;
}
break;
- case GDK_y:
- case GDK_Y:
+ case GDK_KEY_y:
+ case GDK_KEY_Y:
if (held_only_shift(event->key)) {
// Shift+Y - make nodes symmetric
setNodeType(NODE_SYMMETRIC);
return true;
}
break;
- case GDK_r:
- case GDK_R:
+ case GDK_KEY_r:
+ case GDK_KEY_R:
if (held_only_shift(event->key)) {
// Shift+R - reverse subpaths
reverseSubpaths();
return true;
}
break;
- case GDK_l:
- case GDK_L:
+ case GDK_KEY_l:
+ case GDK_KEY_L:
if (held_only_shift(event->key)) {
// Shift+L - make segments linear
setSegmentType(SEGMENT_STRAIGHT);
return true;
}
- case GDK_u:
- case GDK_U:
+ case GDK_KEY_u:
+ case GDK_KEY_U:
if (held_only_shift(event->key)) {
// Shift+L - make segments curves
setSegmentType(SEGMENT_CUBIC_BEZIER);
diff --git a/src/ui/tool/node-tool.cpp b/src/ui/tool/node-tool.cpp
index 3c1e7de71..95cf7aebb 100644
--- a/src/ui/tool/node-tool.cpp
+++ b/src/ui/tool/node-tool.cpp
@@ -43,6 +43,14 @@
#include <gdk/gdkkeysyms.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_Escape 0xff1b
+#define GDK_KEY_a 0x061
+#define GDK_KEY_A 0x041
+#define GDK_KEY_h 0x068
+#define GDK_KEY_H 0x048
+#endif
+
/** @struct InkNodeTool
*
* Node tool event context.
@@ -503,7 +511,7 @@ gint ink_node_tool_root_handler(SPEventContext *event_context, GdkEvent *event)
case GDK_KEY_PRESS:
switch (get_group0_keyval(&event->key))
{
- case GDK_Escape: // deselect everything
+ case GDK_KEY_Escape: // deselect everything
if (nt->_selected_nodes->empty()) {
selection->clear();
} else {
@@ -511,8 +519,8 @@ gint ink_node_tool_root_handler(SPEventContext *event_context, GdkEvent *event)
}
ink_node_tool_update_tip(nt, event);
return TRUE;
- case GDK_a:
- case GDK_A:
+ case GDK_KEY_a:
+ case GDK_KEY_A:
if (held_control(event->key) && held_alt(event->key)) {
nt->_selected_nodes->selectAll();
// Ctrl+A is handled in selection-chemistry.cpp via verb
@@ -520,8 +528,8 @@ gint ink_node_tool_root_handler(SPEventContext *event_context, GdkEvent *event)
return TRUE;
}
break;
- case GDK_h:
- case GDK_H:
+ case GDK_KEY_h:
+ case GDK_KEY_H:
if (held_only_control(event->key)) {
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
prefs->setBool("/tools/nodes/show_handles", !nt->show_handles);
diff --git a/src/ui/tool/node.cpp b/src/ui/tool/node.cpp
index ff644b4e3..1d3acb4a5 100644
--- a/src/ui/tool/node.cpp
+++ b/src/ui/tool/node.cpp
@@ -33,6 +33,15 @@
#include "ui/tool/path-manipulator.h"
#include <gdk/gdkkeysyms.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_s 0x073
+#define GDK_KEY_S 0x053
+#define GDK_KEY_Page_Up 0xff55
+#define GDK_KEY_KP_Page_Up 0xff9a
+#define GDK_KEY_Page_Down 0xff56
+#define GDK_KEY_KP_Page_Down 0xff9b
+#endif
+
namespace Inkscape {
namespace UI {
@@ -232,8 +241,8 @@ bool Handle::_eventHandler(SPEventContext *event_context, GdkEvent *event)
case GDK_KEY_PRESS:
switch (shortcut_key(event->key))
{
- case GDK_s:
- case GDK_S:
+ case GDK_KEY_s:
+ case GDK_KEY_S:
if (held_only_shift(event->key) && _parent->_type == NODE_CUSP) {
// when Shift+S is pressed when hovering over a handle belonging to a cusp node,
// hold this handle in place; otherwise process normally
@@ -803,10 +812,10 @@ bool Node::_eventHandler(SPEventContext *event_context, GdkEvent *event)
case GDK_KEY_PRESS:
switch (shortcut_key(event->key))
{
- case GDK_Page_Up:
+ case GDK_KEY_Page_Up:
dir = 1;
break;
- case GDK_Page_Down:
+ case GDK_KEY_Page_Down:
dir = -1;
break;
default: goto bail_out;
diff --git a/src/ui/tool/selector.cpp b/src/ui/tool/selector.cpp
index 86ad05515..6820b7635 100644
--- a/src/ui/tool/selector.cpp
+++ b/src/ui/tool/selector.cpp
@@ -19,6 +19,10 @@
#include <gdk/gdkkeysyms.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_Escape 0xff1b
+#endif
+
namespace Inkscape {
namespace UI {
@@ -49,7 +53,7 @@ public:
protected:
virtual bool _eventHandler(SPEventContext *event_context, GdkEvent *event) {
- if (event->type == GDK_KEY_PRESS && shortcut_key(event->key) == GDK_Escape &&
+ if (event->type == GDK_KEY_PRESS && shortcut_key(event->key) == GDK_KEY_Escape &&
sp_canvas_item_is_visible(_rubber))
{
_cancel = true;
diff --git a/src/ui/widget/spinbutton.cpp b/src/ui/widget/spinbutton.cpp
index 60b7856f6..8ba8d413d 100644
--- a/src/ui/widget/spinbutton.cpp
+++ b/src/ui/widget/spinbutton.cpp
@@ -17,6 +17,12 @@
#include "util/expression-evaluator.h"
#include "event-context.h"
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_Escape 0xff1b
+#define GDK_KEY_z 0x07a
+#define GDK_KEY_Z 0x05a
+#endif
+
namespace Inkscape {
namespace UI {
namespace Widget {
@@ -64,12 +70,12 @@ bool SpinButton::on_my_focus_in_event(GdkEventFocus* /*event*/)
bool SpinButton::on_my_key_press_event(GdkEventKey* event)
{
switch (get_group0_keyval (event)) {
- case GDK_Escape:
+ case GDK_KEY_Escape:
undo();
return true; // I consumed the event
break;
- case GDK_z:
- case GDK_Z:
+ case GDK_KEY_z:
+ case GDK_KEY_Z:
if (event->state & GDK_CONTROL_MASK) {
undo();
return true; // I consumed the event
diff --git a/src/verbs.cpp b/src/verbs.cpp
index d4ac35b33..1b57ad4ff 100644
--- a/src/verbs.cpp
+++ b/src/verbs.cpp
@@ -84,6 +84,11 @@
#include <gtk/gtk.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_KP_Add 0xffab
+#define GDK_KEY_KP_Subtract 0xffad
+#endif
+
using Inkscape::DocumentUndo;
//#ifdef WITH_INKBOARD
@@ -1656,7 +1661,7 @@ void ZoomVerb::perform(SPAction *action, void *data)
case SP_VERB_ZOOM_IN:
{
gint mul = 1 + gobble_key_events(
- GDK_KP_Add, 0); // with any mask
+ GDK_KEY_KP_Add, 0); // with any mask
// While drawing with the pen/pencil tool, zoom towards the end of the unfinished path
if (tools_isactive(dt, TOOLS_FREEHAND_PENCIL) || tools_isactive(dt, TOOLS_FREEHAND_PEN)) {
SPCurve *rc = SP_DRAW_CONTEXT(ec)->red_curve;
@@ -1674,7 +1679,7 @@ void ZoomVerb::perform(SPAction *action, void *data)
case SP_VERB_ZOOM_OUT:
{
gint mul = 1 + gobble_key_events(
- GDK_KP_Subtract, 0); // with any mask
+ GDK_KEY_KP_Subtract, 0); // with any mask
// While drawing with the pen/pencil tool, zoom away from the end of the unfinished path
if (tools_isactive(dt, TOOLS_FREEHAND_PENCIL) || tools_isactive(dt, TOOLS_FREEHAND_PEN)) {
SPCurve *rc = SP_DRAW_CONTEXT(ec)->red_curve;
diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp
index aa87fb873..58c7958ba 100644
--- a/src/widgets/toolbox.cpp
+++ b/src/widgets/toolbox.cpp
@@ -113,6 +113,10 @@
#include "toolbox.h"
#include <gtk/gtk.h>
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_VoidSymbol 0xffffff
+#endif
+
//#define DEBUG_TEXT
using Inkscape::UnitTracker;
@@ -860,7 +864,7 @@ GtkWidget * sp_toolbox_button_new_from_verb_with_doubleclick(GtkWidget *t, Inksc
unsigned int shortcut = sp_shortcut_get_primary(verb);
- if (shortcut != GDK_VoidSymbol) {
+ if (shortcut != GDK_KEY_VoidSymbol) {
gchar *key = sp_shortcut_get_label(shortcut);
gchar *tip = g_strdup_printf ("%s (%s)", action->tip, key);
if ( t ) {