diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2013-05-06 00:57:18 +0000 |
|---|---|---|
| committer | Jabiertxo Arraiza Zenotz <jtx@jtx.marker.es> | 2013-05-06 00:57:18 +0000 |
| commit | 658579b7ba73d404953808a0b399c747d7724804 (patch) | |
| tree | 8032e88a23b043b876e19eb7ac99663ff96d0a4e /src/tweak-context.cpp | |
| parent | Removed auto select nodes, not decide for the user. Added auto update all sel... (diff) | |
| parent | Fix for 1171434 : trunk: INX <optiongroup> broken^ (diff) | |
| download | inkscape-658579b7ba73d404953808a0b399c747d7724804.tar.gz inkscape-658579b7ba73d404953808a0b399c747d7724804.zip | |
update to trunk
(bzr r11950.1.112)
Diffstat (limited to 'src/tweak-context.cpp')
| -rw-r--r-- | src/tweak-context.cpp | 107 |
1 files changed, 66 insertions, 41 deletions
diff --git a/src/tweak-context.cpp b/src/tweak-context.cpp index 28e4c1629..58b6f2b54 100644 --- a/src/tweak-context.cpp +++ b/src/tweak-context.cpp @@ -32,6 +32,15 @@ #include "desktop-style.h" #include "message-context.h" #include "pixmaps/cursor-tweak-move.xpm" +#include "pixmaps/cursor-tweak-move-in.xpm" +#include "pixmaps/cursor-tweak-move-out.xpm" +#include "pixmaps/cursor-tweak-move-jitter.xpm" +#include "pixmaps/cursor-tweak-scale-up.xpm" +#include "pixmaps/cursor-tweak-scale-down.xpm" +#include "pixmaps/cursor-tweak-rotate-clockwise.xpm" +#include "pixmaps/cursor-tweak-rotate-counterclockwise.xpm" +#include "pixmaps/cursor-tweak-more.xpm" +#include "pixmaps/cursor-tweak-less.xpm" #include "pixmaps/cursor-thin.xpm" #include "pixmaps/cursor-thicken.xpm" #include "pixmaps/cursor-attract.xpm" @@ -189,23 +198,39 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift) break; case TWEAK_MODE_MOVE_IN_OUT: tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to <b>move in</b>; with Shift to <b>move out</b>."), sel_message); - event_context->cursor_shape = cursor_tweak_move_xpm; + if (with_shift) { + event_context->cursor_shape = cursor_tweak_move_out_xpm; + } else { + event_context->cursor_shape = cursor_tweak_move_in_xpm; + } break; case TWEAK_MODE_MOVE_JITTER: tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to <b>move randomly</b>."), sel_message); - event_context->cursor_shape = cursor_tweak_move_xpm; + event_context->cursor_shape = cursor_tweak_move_jitter_xpm; break; case TWEAK_MODE_SCALE: tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to <b>scale down</b>; with Shift to <b>scale up</b>."), sel_message); - event_context->cursor_shape = cursor_tweak_move_xpm; + if (with_shift) { + event_context->cursor_shape = cursor_tweak_scale_up_xpm; + } else { + event_context->cursor_shape = cursor_tweak_scale_down_xpm; + } break; case TWEAK_MODE_ROTATE: tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to <b>rotate clockwise</b>; with Shift, <b>counterclockwise</b>."), sel_message); - event_context->cursor_shape = cursor_tweak_move_xpm; + if (with_shift) { + event_context->cursor_shape = cursor_tweak_rotate_counterclockwise_xpm; + } else { + event_context->cursor_shape = cursor_tweak_rotate_clockwise_xpm; + } break; case TWEAK_MODE_MORELESS: tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to <b>duplicate</b>; with Shift, <b>delete</b>."), sel_message); - event_context->cursor_shape = cursor_tweak_move_xpm; + if (with_shift) { + event_context->cursor_shape = cursor_tweak_less_xpm; + } else { + event_context->cursor_shape = cursor_tweak_more_xpm; + } break; case TWEAK_MODE_PUSH: tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag to <b>push paths</b>."), sel_message); @@ -1233,7 +1258,7 @@ sp_tweak_context_root_handler(SPEventContext *event_context, if (!tc->has_dilated) { // if we did not rub, do a light tap tc->pressure = 0.03; - sp_tweak_dilate (tc, motion_w, desktop->dt2doc(motion_dt), Geom::Point(0,0), MOD__SHIFT); + sp_tweak_dilate (tc, motion_w, desktop->dt2doc(motion_dt), Geom::Point(0,0), MOD__SHIFT(event)); } tc->is_dilating = false; tc->has_dilated = false; @@ -1300,24 +1325,24 @@ sp_tweak_context_root_handler(SPEventContext *event_context, case GDK_KEY_m: case GDK_KEY_M: case GDK_KEY_0: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_MOVE, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_MOVE, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_i: case GDK_KEY_I: case GDK_KEY_1: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_MOVE_IN_OUT, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_MOVE_IN_OUT, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_z: case GDK_KEY_Z: case GDK_KEY_2: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_MOVE_JITTER, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_MOVE_JITTER, MOD__SHIFT(event)); ret = TRUE; } break; @@ -1326,84 +1351,84 @@ sp_tweak_context_root_handler(SPEventContext *event_context, case GDK_KEY_greater: case GDK_KEY_period: case GDK_KEY_3: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_SCALE, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_SCALE, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_bracketright: case GDK_KEY_bracketleft: case GDK_KEY_4: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_ROTATE, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_ROTATE, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_d: case GDK_KEY_D: case GDK_KEY_5: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_MORELESS, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_MORELESS, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_p: case GDK_KEY_P: case GDK_KEY_6: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_PUSH, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_PUSH, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_s: case GDK_KEY_S: case GDK_KEY_7: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_SHRINK_GROW, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_SHRINK_GROW, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_a: case GDK_KEY_A: case GDK_KEY_8: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_ATTRACT_REPEL, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_ATTRACT_REPEL, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_r: case GDK_KEY_R: case GDK_KEY_9: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_ROUGHEN, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_ROUGHEN, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_c: case GDK_KEY_C: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_COLORPAINT, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_COLORPAINT, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_j: case GDK_KEY_J: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_COLORJITTER, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_COLORJITTER, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_b: case GDK_KEY_B: - if (MOD__SHIFT_ONLY) { - sp_tweak_switch_mode(tc, TWEAK_MODE_BLUR, MOD__SHIFT); + if (MOD__SHIFT_ONLY(event)) { + sp_tweak_switch_mode(tc, TWEAK_MODE_BLUR, MOD__SHIFT(event)); ret = TRUE; } break; case GDK_KEY_Up: case GDK_KEY_KP_Up: - if (!MOD__CTRL_ONLY) { + if (!MOD__CTRL_ONLY(event)) { tc->force += 0.05; if (tc->force > 1.0) { tc->force = 1.0; @@ -1414,7 +1439,7 @@ sp_tweak_context_root_handler(SPEventContext *event_context, break; case GDK_KEY_Down: case GDK_KEY_KP_Down: - if (!MOD__CTRL_ONLY) { + if (!MOD__CTRL_ONLY(event)) { tc->force -= 0.05; if (tc->force < 0.0) { tc->force = 0.0; @@ -1425,7 +1450,7 @@ sp_tweak_context_root_handler(SPEventContext *event_context, break; case GDK_KEY_Right: case GDK_KEY_KP_Right: - if (!MOD__CTRL_ONLY) { + if (!MOD__CTRL_ONLY(event)) { tc->width += 0.01; if (tc->width > 1.0) { tc->width = 1.0; @@ -1437,7 +1462,7 @@ sp_tweak_context_root_handler(SPEventContext *event_context, break; case GDK_KEY_Left: case GDK_KEY_KP_Left: - if (!MOD__CTRL_ONLY) { + if (!MOD__CTRL_ONLY(event)) { tc->width -= 0.01; if (tc->width < 0.01) { tc->width = 0.01; @@ -1463,7 +1488,7 @@ sp_tweak_context_root_handler(SPEventContext *event_context, break; case GDK_KEY_x: case GDK_KEY_X: - if (MOD__ALT_ONLY) { + if (MOD__ALT_ONLY(event)) { desktop->setToolboxFocusTo ("altx-tweak"); ret = TRUE; } @@ -1476,12 +1501,12 @@ sp_tweak_context_root_handler(SPEventContext *event_context, case GDK_KEY_Control_L: case GDK_KEY_Control_R: - sp_tweak_switch_mode_temporarily(tc, TWEAK_MODE_SHRINK_GROW, MOD__SHIFT); + sp_tweak_switch_mode_temporarily(tc, TWEAK_MODE_SHRINK_GROW, MOD__SHIFT(event)); break; case GDK_KEY_Delete: case GDK_KEY_KP_Delete: case GDK_KEY_BackSpace: - ret = event_context->deleteSelectedDrag(MOD__CTRL_ONLY); + ret = event_context->deleteSelectedDrag(MOD__CTRL_ONLY(event)); break; default: @@ -1498,11 +1523,11 @@ sp_tweak_context_root_handler(SPEventContext *event_context, break; case GDK_KEY_Control_L: case GDK_KEY_Control_R: - sp_tweak_switch_mode (tc, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT); + sp_tweak_switch_mode (tc, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT(event)); tc->_message_context->clear(); break; default: - sp_tweak_switch_mode (tc, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT); + sp_tweak_switch_mode (tc, prefs->getInt("/tools/tweak/mode"), MOD__SHIFT(event)); break; } } |
