Revision: 35354
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35354
Author: ton
Date: 2011-03-04 16:02:42 +0000 (Fri, 04 Mar 2011)
Log Message:
-----------
Bugfix #26317
Shift+D in graph editor was an operator calling internally an operator.
Better is to make it a Macro, then Undos and Esc work nicely.
Note for API users: the operator "graph.duplicate" will now just
copy the selection and not run transform. Nicer too :)
Modified Paths:
--------------
trunk/blender/source/blender/editors/include/ED_anim_api.h
trunk/blender/source/blender/editors/space_api/spacetypes.c
trunk/blender/source/blender/editors/space_graph/graph_edit.c
trunk/blender/source/blender/editors/space_graph/graph_ops.c
Modified: trunk/blender/source/blender/editors/include/ED_anim_api.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_anim_api.h 2011-03-04
14:16:43 UTC (rev 35353)
+++ trunk/blender/source/blender/editors/include/ED_anim_api.h 2011-03-04
16:02:42 UTC (rev 35354)
@@ -585,7 +585,11 @@
/* generic time editing */
void ED_operatortypes_anim(void);
void ED_keymap_anim(struct wmKeyConfig *keyconf);
+
+ /* space_graph */
+void ED_operatormacros_graph(void);
+
/* ************************************************ */
#endif /* ED_ANIM_API_H */
Modified: trunk/blender/source/blender/editors/space_api/spacetypes.c
===================================================================
--- trunk/blender/source/blender/editors/space_api/spacetypes.c 2011-03-04
14:16:43 UTC (rev 35353)
+++ trunk/blender/source/blender/editors/space_api/spacetypes.c 2011-03-04
16:02:42 UTC (rev 35354)
@@ -127,7 +127,8 @@
ED_operatormacros_node();
ED_operatormacros_object();
ED_operatormacros_file();
-
+ ED_operatormacros_graph();
+
/* register dropboxes (can use macros) */
spacetypes = BKE_spacetypes_list();
for(type=spacetypes->first; type; type=type->next) {
Modified: trunk/blender/source/blender/editors/space_graph/graph_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_graph/graph_edit.c
2011-03-04 14:16:43 UTC (rev 35353)
+++ trunk/blender/source/blender/editors/space_graph/graph_edit.c
2011-03-04 16:02:42 UTC (rev 35354)
@@ -781,9 +781,6 @@
static int graphkeys_duplicate_invoke(bContext *C, wmOperator *op, wmEvent
*UNUSED(event))
{
graphkeys_duplicate_exec(C, op);
-
- RNA_int_set(op->ptr, "mode", TFM_TIME_DUPLICATE);
- WM_operator_name_call(C, "TRANSFORM_OT_transform",
WM_OP_INVOKE_REGION_WIN, op->ptr);
return OPERATOR_FINISHED;
}
Modified: trunk/blender/source/blender/editors/space_graph/graph_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_graph/graph_ops.c
2011-03-04 14:16:43 UTC (rev 35353)
+++ trunk/blender/source/blender/editors/space_graph/graph_ops.c
2011-03-04 16:02:42 UTC (rev 35354)
@@ -269,6 +269,19 @@
WM_operatortype_append(GRAPH_OT_fmodifier_paste);
}
+void ED_operatormacros_graph(void)
+{
+ wmOperatorType *ot;
+ wmOperatorTypeMacro *otmacro;
+
+ ot= WM_operatortype_append_macro("GRAPH_OT_duplicate_move",
"Duplicate", OPTYPE_UNDO|OPTYPE_REGISTER);
+ WM_operatortype_macro_define(ot, "GRAPH_OT_duplicate");
+ otmacro= WM_operatortype_macro_define(ot, "TRANSFORM_OT_transform");
+ RNA_int_set(otmacro->ptr, "mode", TFM_TIME_DUPLICATE);
+
+}
+
+
/* ************************** registration - keymaps
**********************************/
static void graphedit_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
@@ -361,7 +374,7 @@
WM_keymap_add_item(keymap, "GRAPH_OT_delete", XKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "GRAPH_OT_delete", DELKEY, KM_PRESS, 0, 0);
- WM_keymap_add_item(keymap, "GRAPH_OT_duplicate", DKEY, KM_PRESS,
KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "GRAPH_OT_duplicate_move", DKEY, KM_PRESS,
KM_SHIFT, 0);
/* insertkey */
WM_keymap_add_item(keymap, "GRAPH_OT_keyframe_insert", IKEY, KM_PRESS,
0, 0);
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs