diff options
| author | gustav_b <gustav_b@users.sourceforge.net> | 2007-09-19 09:31:03 +0000 |
|---|---|---|
| committer | gustav_b <gustav_b@users.sourceforge.net> | 2007-09-19 09:31:03 +0000 |
| commit | fae67972a47bee9e2aff05d312f846c2d3308888 (patch) | |
| tree | faebf2727e9f49a654dedb8bf8d77a4ea1c0a700 /src/ui/dialog/dialog.cpp | |
| parent | r16619@tres: ted | 2007-09-18 21:09:29 -0700 (diff) | |
| download | inkscape-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.cpp | 61 |
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 |
