Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2009-09-19 16:36:22 +0400
committerJoshua Leung <aligorith@gmail.com>2009-09-19 16:36:22 +0400
commit7eb436a6b85156c56dc842ff4289e5a3e2b7b5e9 (patch)
tree4123df363745fa3976d182d4d6909b41dd3efc56 /source/blender/editors/armature
parent9710673192f5ed972343c8e9cc6438fc97eb573e (diff)
2.5 - More Animation Bugfixes
* Updating Preview Range settings results in correct updates for Animation Editors * Compositing nodes now correctly animate when the values were set by IKEY/RMB on suitable node parameters. Beware that these nodes are not relinkable node-trees, hence the standard code not working. * Ctrl-P to parent objects to bones now works in Pose Mode too. I needed to add a special keymap entry for this, though I thought this would have been better to be automatically inherited/present from Object keymap already? * Ctrl-P -> Parent to Bone option now works correctly again. 1.5 lines of code missing here... * Breakdowns tool now shows custom cursor during 'modal' phase so that it's not that confusing what's going on.
Diffstat (limited to 'source/blender/editors/armature')
-rw-r--r--source/blender/editors/armature/armature_ops.c4
-rw-r--r--source/blender/editors/armature/poseSlide.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/editors/armature/armature_ops.c b/source/blender/editors/armature/armature_ops.c
index a8b8b8aecc1..fae0b093551 100644
--- a/source/blender/editors/armature/armature_ops.c
+++ b/source/blender/editors/armature/armature_ops.c
@@ -298,6 +298,9 @@ void ED_keymap_armature(wmWindowManager *wm)
keymap= WM_keymap_find(wm, "Pose", 0, 0);
keymap->poll= ED_operator_posemode;
+ // XXX: set parent is object-based operator, but it should also be available here...
+ WM_keymap_add_item(keymap, "OBJECT_OT_parent_set", PKEY, KM_PRESS, KM_CTRL, 0);
+
WM_keymap_add_item(keymap, "POSE_OT_hide", HKEY, KM_PRESS, 0, 0);
kmi= WM_keymap_add_item(keymap, "POSE_OT_hide", HKEY, KM_PRESS, KM_SHIFT, 0);
RNA_boolean_set(kmi->ptr, "unselected", 1);
@@ -310,7 +313,6 @@ void ED_keymap_armature(wmWindowManager *wm)
WM_keymap_add_item(keymap, "POSE_OT_loc_clear", GKEY, KM_PRESS, KM_ALT, 0);
WM_keymap_add_item(keymap, "POSE_OT_scale_clear", SKEY, KM_PRESS, KM_ALT, 0);
- // for now, we include hotkeys for copy/paste
WM_keymap_add_item(keymap, "POSE_OT_copy", CKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "POSE_OT_paste", VKEY, KM_PRESS, KM_CTRL, 0);
kmi= WM_keymap_add_item(keymap, "POSE_OT_paste", VKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
diff --git a/source/blender/editors/armature/poseSlide.c b/source/blender/editors/armature/poseSlide.c
index bbc9ef4d09c..e55c5608112 100644
--- a/source/blender/editors/armature/poseSlide.c
+++ b/source/blender/editors/armature/poseSlide.c
@@ -480,6 +480,7 @@ static int pose_slide_invoke_common (bContext *C, wmOperator *op, tPoseSlideOp *
{
tPChanFCurveLink *pfl;
AnimData *adt= pso->ob->adt;
+ wmWindow *win= CTX_wm_window(C);
/* for each link, add all its keyframes to the search tree */
for (pfl= pso->pfLinks.first; pfl; pfl= pfl->next) {
@@ -543,6 +544,9 @@ static int pose_slide_invoke_common (bContext *C, wmOperator *op, tPoseSlideOp *
/* initial apply for operator... */
pose_slide_apply(C, op, pso);
+ /* set cursor to indicate modal */
+ WM_cursor_modal(win, BC_EW_SCROLLCURSOR);
+
/* add a modal handler for this operator */
WM_event_add_modal_handler(C, op);
return OPERATOR_RUNNING_MODAL;
@@ -559,14 +563,17 @@ static int pose_slide_invoke_common (bContext *C, wmOperator *op, tPoseSlideOp *
static int pose_slide_modal (bContext *C, wmOperator *op, wmEvent *evt)
{
tPoseSlideOp *pso= op->customdata;
+ wmWindow *win= CTX_wm_window(C);
switch (evt->type) {
case LEFTMOUSE: /* confirm */
+ WM_cursor_restore(win);
pose_slide_exit(C, op);
return OPERATOR_FINISHED;
case ESCKEY: /* cancel */
case RIGHTMOUSE:
+ WM_cursor_restore(win);
pose_slide_exit(C, op);
return OPERATOR_CANCELLED;