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:
-rw-r--r--source/blender/editors/animation/keyframing.c17
-rw-r--r--source/blender/editors/armature/armature_edit.c10
-rw-r--r--source/blender/editors/mask/mask_ops.c16
-rw-r--r--source/blender/editors/object/object_add.c11
-rw-r--r--source/blender/editors/space_action/action_edit.c10
-rw-r--r--source/blender/editors/space_clip/clip_graph_ops.c11
-rw-r--r--source/blender/editors/space_clip/tracking_ops.c12
-rw-r--r--source/blender/editors/space_graph/graph_edit.c10
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;