diff options
-rw-r--r-- | source/blender/editors/animation/keyframing.c | 17 | ||||
-rw-r--r-- | source/blender/editors/armature/armature_edit.c | 10 | ||||
-rw-r--r-- | source/blender/editors/mask/mask_ops.c | 16 | ||||
-rw-r--r-- | source/blender/editors/object/object_add.c | 11 | ||||
-rw-r--r-- | source/blender/editors/space_action/action_edit.c | 10 | ||||
-rw-r--r-- | source/blender/editors/space_clip/clip_graph_ops.c | 11 | ||||
-rw-r--r-- | source/blender/editors/space_clip/tracking_ops.c | 12 | ||||
-rw-r--r-- | source/blender/editors/space_graph/graph_edit.c | 10 |
8 files changed, 45 insertions, 52 deletions
diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c index 968a3ff15ad..1b77c1530bf 100644 --- a/source/blender/editors/animation/keyframing.c +++ b/source/blender/editors/animation/keyframing.c @@ -1514,9 +1514,9 @@ void ANIM_OT_keyframe_delete(wmOperatorType *ot) * it is more useful for animators working in the 3D view. */ -static int clear_anim_v3d_exec(bContext *C, wmOperator *op) +static int clear_anim_v3d_exec(bContext *C, wmOperator *UNUSED(op)) { - int num_deleted = 0; + bool changed = false; CTX_DATA_BEGIN (C, Object *, ob, selected_objects) { @@ -1557,18 +1557,17 @@ static int clear_anim_v3d_exec(bContext *C, wmOperator *op) /* delete F-Curve completely */ if (can_delete) { ANIM_fcurve_delete_from_animdata(NULL, adt, fcu); - num_deleted++; + DAG_id_tag_update(&ob->id, OB_RECALC_OB); + changed = true; } } } - - /* update... */ - DAG_id_tag_update(&ob->id, OB_RECALC_OB); } CTX_DATA_END; - if (num_deleted > 0) - BKE_reportf(op->reports, RPT_INFO, "Deleted %d animation F-Curves from selected objects", num_deleted); + if (!changed) { + return OPERATOR_CANCELLED; + } /* send updates */ WM_event_add_notifier(C, NC_OBJECT | ND_KEYS, NULL); @@ -1584,6 +1583,7 @@ void ANIM_OT_keyframe_clear_v3d(wmOperatorType *ot) ot->idname = "ANIM_OT_keyframe_clear_v3d"; /* callbacks */ + ot->invoke = WM_operator_confirm; ot->exec = clear_anim_v3d_exec; ot->poll = ED_operator_areaactive; @@ -1647,6 +1647,7 @@ void ANIM_OT_keyframe_delete_v3d(wmOperatorType *ot) ot->idname = "ANIM_OT_keyframe_delete_v3d"; /* callbacks */ + ot->invoke = WM_operator_confirm; ot->exec = delete_key_v3d_exec; ot->poll = ED_operator_areaactive; diff --git a/source/blender/editors/armature/armature_edit.c b/source/blender/editors/armature/armature_edit.c index 9bc94e01085..8600fdc8a53 100644 --- a/source/blender/editors/armature/armature_edit.c +++ b/source/blender/editors/armature/armature_edit.c @@ -1137,13 +1137,13 @@ void ARMATURE_OT_split(wmOperatorType *ot) /* previously delete_armature */ /* only editmode! */ -static int armature_delete_selected_exec(bContext *C, wmOperator *op) +static int armature_delete_selected_exec(bContext *C, wmOperator *UNUSED(op)) { bArmature *arm; EditBone *curBone, *ebone_next; bConstraint *con; Object *obedit = CTX_data_edit_object(C); // XXX get from context - int num_deleted = 0; + bool changed = false; arm = obedit->data; /* cancel if nothing selected */ @@ -1200,12 +1200,13 @@ static int armature_delete_selected_exec(bContext *C, wmOperator *op) if (curBone->flag & BONE_SELECTED) { if (curBone == arm->act_edbone) arm->act_edbone = NULL; ED_armature_edit_bone_remove(arm, curBone); - num_deleted++; + changed = true; } } } - BKE_reportf(op->reports, RPT_INFO, "Deleted %d bones", num_deleted); + if (!changed) + return OPERATOR_CANCELLED; ED_armature_sync_selection(arm->edbo); @@ -1222,6 +1223,7 @@ void ARMATURE_OT_delete(wmOperatorType *ot) ot->description = "Remove selected bones from the armature"; /* api callbacks */ + ot->invoke = WM_operator_confirm; ot->exec = armature_delete_selected_exec; ot->poll = ED_operator_editarmature; diff --git a/source/blender/editors/mask/mask_ops.c b/source/blender/editors/mask/mask_ops.c index 7d7960d2e86..5bc39282eb5 100644 --- a/source/blender/editors/mask/mask_ops.c +++ b/source/blender/editors/mask/mask_ops.c @@ -38,7 +38,6 @@ #include "BKE_depsgraph.h" #include "BKE_main.h" #include "BKE_mask.h" -#include "BKE_report.h" #include "DNA_scene_types.h" #include "DNA_mask_types.h" @@ -943,12 +942,12 @@ static void delete_feather_points(MaskSplinePoint *point) } } -static int delete_exec(bContext *C, wmOperator *op) +static int delete_exec(bContext *C, wmOperator *UNUSED(op)) { Scene *scene = CTX_data_scene(C); Mask *mask = CTX_data_edit_mask(C); MaskLayer *masklay; - int num_deleted = 0; + bool changed = false; for (masklay = mask->masklayers.first; masklay; masklay = masklay->next) { MaskSpline *spline; @@ -984,8 +983,6 @@ static int delete_exec(bContext *C, wmOperator *op) } BKE_mask_layer_shape_changed_remove(masklay, mask_layer_shape_ofs, tot_point_orig); - - num_deleted++; } else { MaskSplinePoint *new_points; @@ -1013,8 +1010,6 @@ static int delete_exec(bContext *C, wmOperator *op) spline->tot_point--; BKE_mask_layer_shape_changed_remove(masklay, mask_layer_shape_ofs + j, 1); - - num_deleted++; } } @@ -1026,6 +1021,7 @@ static int delete_exec(bContext *C, wmOperator *op) ED_mask_select_flush_all(mask); } + changed = true; spline = next_spline; } @@ -1036,16 +1032,15 @@ static int delete_exec(bContext *C, wmOperator *op) } } - if (num_deleted == 0) + if (!changed) { return OPERATOR_CANCELLED; + } /* TODO: only update edited splines */ BKE_mask_update_display(mask, CFRA); WM_event_add_notifier(C, NC_MASK | NA_EDITED, mask); - BKE_reportf(op->reports, RPT_INFO, "Deleted %d control points from mask '%s'", num_deleted, mask->id.name); - return OPERATOR_FINISHED; } @@ -1057,6 +1052,7 @@ void MASK_OT_delete(wmOperatorType *ot) ot->idname = "MASK_OT_delete"; /* api callbacks */ + ot->invoke = WM_operator_confirm; ot->exec = delete_exec; ot->poll = ED_maskedit_mask_poll; diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index 7e55d082883..c67d389e5d0 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -1057,7 +1057,7 @@ static int object_delete_exec(bContext *C, wmOperator *op) wmWindowManager *wm = CTX_wm_manager(C); wmWindow *win; const short use_global = RNA_boolean_get(op->ptr, "use_global"); - int num_deleted = 0; + bool changed = false; if (CTX_data_edit_object(C)) return OPERATOR_CANCELLED; @@ -1069,7 +1069,7 @@ static int object_delete_exec(bContext *C, wmOperator *op) /* remove from current scene only */ ED_base_object_free_and_unlink(bmain, scene, base); - num_deleted++; + changed = true; if (use_global) { Scene *scene_iter; @@ -1089,6 +1089,9 @@ static int object_delete_exec(bContext *C, wmOperator *op) } CTX_DATA_END; + if (!changed) + return OPERATOR_CANCELLED; + /* delete has to handle all open scenes */ flag_listbase_ids(&bmain->scene, LIB_DOIT, 1); for (win = wm->windows.first; win; win = win->next) { @@ -1104,9 +1107,6 @@ static int object_delete_exec(bContext *C, wmOperator *op) } } - if (num_deleted > 0) - BKE_reportf(op->reports, RPT_INFO, "Deleted %d objects", num_deleted); - return OPERATOR_FINISHED; } @@ -1118,6 +1118,7 @@ void OBJECT_OT_delete(wmOperatorType *ot) ot->idname = "OBJECT_OT_delete"; /* api callbacks */ + ot->invoke = WM_operator_confirm; ot->exec = object_delete_exec; ot->poll = ED_operator_objectmode; diff --git a/source/blender/editors/space_action/action_edit.c b/source/blender/editors/space_action/action_edit.c index aafbc6af558..7142a6339a3 100644 --- a/source/blender/editors/space_action/action_edit.c +++ b/source/blender/editors/space_action/action_edit.c @@ -823,17 +823,17 @@ static bool delete_action_keys(bAnimContext *ac) /* ------------------- */ -static int actkeys_delete_exec(bContext *C, wmOperator *op) +static int actkeys_delete_exec(bContext *C, wmOperator *UNUSED(op)) { bAnimContext ac; - bool changed; /* get editor data */ if (ANIM_animdata_get_context(C, &ac) == 0) return OPERATOR_CANCELLED; /* delete keyframes */ - changed = delete_action_keys(&ac); + if (!delete_action_keys(&ac)) + return OPERATOR_CANCELLED; /* validate keyframes after editing */ if (!ELEM(ac.datatype, ANIMCONT_GPENCIL, ANIMCONT_MASK)) @@ -842,9 +842,6 @@ static int actkeys_delete_exec(bContext *C, wmOperator *op) /* set notifier that keyframes have changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL); - if (changed) - BKE_report(op->reports, RPT_INFO, "Deleted selected keyframes"); - return OPERATOR_FINISHED; } @@ -856,6 +853,7 @@ void ACTION_OT_delete(wmOperatorType *ot) ot->description = "Remove all selected keyframes"; /* api callbacks */ + ot->invoke = WM_operator_confirm; ot->exec = actkeys_delete_exec; ot->poll = ED_operator_action_active; diff --git a/source/blender/editors/space_clip/clip_graph_ops.c b/source/blender/editors/space_clip/clip_graph_ops.c index ffb805cdc5f..e0062ecd243 100644 --- a/source/blender/editors/space_clip/clip_graph_ops.c +++ b/source/blender/editors/space_clip/clip_graph_ops.c @@ -43,7 +43,6 @@ #include "BKE_movieclip.h" #include "BKE_tracking.h" #include "BKE_depsgraph.h" -#include "BKE_report.h" #include "WM_api.h" #include "WM_types.h" @@ -472,18 +471,17 @@ void CLIP_OT_graph_select_all_markers(wmOperatorType *ot) /******************** delete curve operator ********************/ -static int delete_curve_exec(bContext *C, wmOperator *op) +static int delete_curve_exec(bContext *C, wmOperator *UNUSED(op)) { SpaceClip *sc = CTX_wm_space_clip(C); MovieClip *clip = ED_space_clip_get_clip(sc); MovieTracking *tracking = &clip->tracking; MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking); - if (act_track) { - clip_delete_track(C, clip, act_track); + if (!act_track) + return OPERATOR_CANCELLED; - BKE_report(op->reports, RPT_INFO, "Deleted track"); - } + clip_delete_track(C, clip, act_track); return OPERATOR_FINISHED; } @@ -496,6 +494,7 @@ void CLIP_OT_graph_delete_curve(wmOperatorType *ot) ot->idname = "CLIP_OT_graph_delete_curve"; /* api callbacks */ + ot->invoke = WM_operator_confirm; ot->exec = delete_curve_exec; ot->poll = ED_space_clip_tracking_poll; diff --git a/source/blender/editors/space_clip/tracking_ops.c b/source/blender/editors/space_clip/tracking_ops.c index b198b68b95a..00e470f75f1 100644 --- a/source/blender/editors/space_clip/tracking_ops.c +++ b/source/blender/editors/space_clip/tracking_ops.c @@ -234,7 +234,7 @@ void CLIP_OT_add_marker_at_click(wmOperatorType *ot) /********************** delete track operator *********************/ -static int delete_track_exec(bContext *C, wmOperator *op) +static int delete_track_exec(bContext *C, wmOperator *UNUSED(op)) { SpaceClip *sc = CTX_wm_space_clip(C); MovieClip *clip = ED_space_clip_get_clip(sc); @@ -274,10 +274,8 @@ static int delete_track_exec(bContext *C, wmOperator *op) /* nothing selected now, unlock view so it can be scrolled nice again */ sc->flag &= ~SC_LOCK_SELECTION; - if (changed) { - BKE_report(op->reports, RPT_INFO, "Deleted selected tracks"); + if (changed) WM_event_add_notifier(C, NC_MOVIECLIP | NA_EDITED, clip); - } return OPERATOR_FINISHED; } @@ -290,6 +288,7 @@ void CLIP_OT_delete_track(wmOperatorType *ot) ot->description = "Delete selected tracks"; /* api callbacks */ + ot->invoke = WM_operator_confirm; ot->exec = delete_track_exec; ot->poll = ED_space_clip_tracking_poll; @@ -299,7 +298,7 @@ void CLIP_OT_delete_track(wmOperatorType *ot) /********************** delete marker operator *********************/ -static int delete_marker_exec(bContext *C, wmOperator *op) +static int delete_marker_exec(bContext *C, wmOperator *UNUSED(op)) { SpaceClip *sc = CTX_wm_space_clip(C); MovieClip *clip = ED_space_clip_get_clip(sc); @@ -359,8 +358,6 @@ static int delete_marker_exec(bContext *C, wmOperator *op) if (!changed) return OPERATOR_CANCELLED; - BKE_report(op->reports, RPT_INFO, "Deleted markers for current frame from selected tracks"); - return OPERATOR_FINISHED; } @@ -372,6 +369,7 @@ void CLIP_OT_delete_marker(wmOperatorType *ot) ot->description = "Delete marker for current frame from selected tracks"; /* api callbacks */ + ot->invoke = WM_operator_confirm; ot->exec = delete_marker_exec; ot->poll = ED_space_clip_tracking_poll; diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c index a35395abaf2..0f3ba9865c4 100644 --- a/source/blender/editors/space_graph/graph_edit.c +++ b/source/blender/editors/space_graph/graph_edit.c @@ -908,17 +908,17 @@ static bool delete_graph_keys(bAnimContext *ac) /* ------------------- */ -static int graphkeys_delete_exec(bContext *C, wmOperator *op) +static int graphkeys_delete_exec(bContext *C, wmOperator *UNUSED(op)) { bAnimContext ac; - bool changed; /* get editor data */ if (ANIM_animdata_get_context(C, &ac) == 0) return OPERATOR_CANCELLED; /* delete keyframes */ - changed = delete_graph_keys(&ac); + if (!delete_graph_keys(&ac)) + return OPERATOR_CANCELLED; /* validate keyframes after editing */ ANIM_editkeyframes_refresh(&ac); @@ -926,9 +926,6 @@ static int graphkeys_delete_exec(bContext *C, wmOperator *op) /* set notifier that keyframes have changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL); - if (changed) - BKE_report(op->reports, RPT_INFO, "Deleted selected keyframes"); - return OPERATOR_FINISHED; } @@ -940,6 +937,7 @@ void GRAPH_OT_delete(wmOperatorType *ot) ot->description = "Remove all selected keyframes"; /* api callbacks */ + ot->invoke = WM_operator_confirm; ot->exec = graphkeys_delete_exec; ot->poll = graphop_editable_keyframes_poll; |