summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/dialog.cpp
diff options
context:
space:
mode:
authorgustav_b <gustav_b@users.sourceforge.net>2007-09-19 09:31:03 +0000
committergustav_b <gustav_b@users.sourceforge.net>2007-09-19 09:31:03 +0000
commitfae67972a47bee9e2aff05d312f846c2d3308888 (patch)
treefaebf2727e9f49a654dedb8bf8d77a4ea1c0a700 /src/ui/dialog/dialog.cpp
parentr16619@tres: ted | 2007-09-18 21:09:29 -0700 (diff)
downloadinkscape-fae67972a47bee9e2aff05d312f846c2d3308888.tar.gz
inkscape-fae67972a47bee9e2aff05d312f846c2d3308888.zip
Handle Dialog events properly
(bzr r3774)
Diffstat (limited to 'src/ui/dialog/dialog.cpp')
-rw-r--r--src/ui/dialog/dialog.cpp61
1 files changed, 28 insertions, 33 deletions
diff --git a/src/ui/dialog/dialog.cpp b/src/ui/dialog/dialog.cpp
index cb9ea0226..4fbc217ab 100644
--- a/src/ui/dialog/dialog.cpp
+++ b/src/ui/dialog/dialog.cpp
@@ -308,8 +308,25 @@ Dialog::_onEvent(GdkEvent *event)
switch (event->type) {
case GDK_KEY_PRESS: {
- ret = _onKeyPress(&event->key);
- break;
+ switch (get_group0_keyval (&event->key)) {
+ case GDK_Escape: {
+ _defocus();
+ ret = true;
+ break;
+ }
+ case GDK_F4:
+ case GDK_w:
+ case GDK_W: {
+ if (mod_ctrl_only(event->key.state)) {
+ _close();
+ ret = true;
+ }
+ break;
+ }
+ default: { // pass keypress to the canvas
+ break;
+ }
+ }
}
default:
;
@@ -321,37 +338,15 @@ Dialog::_onEvent(GdkEvent *event)
bool
Dialog::_onKeyPress(GdkEventKey *event)
{
- bool ret = false;
- switch (get_group0_keyval (event)) {
- case GDK_Escape: {
- _defocus();
- ret = true;
- break;
- }
- case GDK_F4:
- case GDK_w:
- case GDK_W: {
- if (mod_ctrl_only(event->state)) {
- _close();
- ret = true;
- }
- break;
- }
- default: { // pass keypress to the canvas
- unsigned int shortcut;
- shortcut = get_group0_keyval (event) |
- ( event->state & GDK_SHIFT_MASK ?
- SP_SHORTCUT_SHIFT_MASK : 0 ) |
- ( event->state & GDK_CONTROL_MASK ?
- SP_SHORTCUT_CONTROL_MASK : 0 ) |
- ( event->state & GDK_MOD1_MASK ?
- SP_SHORTCUT_ALT_MASK : 0 );
- sp_shortcut_invoke( shortcut, SP_ACTIVE_DESKTOP );
- break;
- }
- }
-
- return ret;
+ unsigned int shortcut;
+ shortcut = get_group0_keyval(event) |
+ ( event->state & GDK_SHIFT_MASK ?
+ SP_SHORTCUT_SHIFT_MASK : 0 ) |
+ ( event->state & GDK_CONTROL_MASK ?
+ SP_SHORTCUT_CONTROL_MASK : 0 ) |
+ ( event->state & GDK_MOD1_MASK ?
+ SP_SHORTCUT_ALT_MASK : 0 );
+ return sp_shortcut_invoke(shortcut, SP_ACTIVE_DESKTOP);
}
void