From b2fdc591c36cf5125eaa528b7f735c3c4393d390 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 20 Dec 2013 01:38:07 +0100 Subject: UI: restore confirmation popups for delete operators. It turned out this was leading to accidental deleting in some cases when the info message was missed by users. Fixes T37801. --- source/blender/editors/space_clip/clip_graph_ops.c | 11 +++++------ source/blender/editors/space_clip/tracking_ops.c | 12 +++++------- 2 files changed, 10 insertions(+), 13 deletions(-) (limited to 'source/blender/editors/space_clip') 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; -- cgit v1.2.3