Fix T87983: Motion tracker button tooltips identical

The tooltips for the tracker buttons were all equal (because they all
use the same operator).

This adds the `get_description` operator callback to the
`CLIP_OT_track_markers` operator and returns a more descriptive
tooltip for the different buttons.

Reviewed By: mont29

Maniphest Tasks: T87983

Differential Revision: https://developer.blender.org/D11145
This commit is contained in:
Falk David
2021-05-06 10:59:41 +02:00
parent a1069b6c66
commit b24b197cec

View File

@@ -25,6 +25,9 @@
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BLI_string.h"
#include "BLT_translation.h"
#include "BKE_context.h"
#include "BKE_global.h"
@@ -398,6 +401,28 @@ static int track_markers_modal(bContext *C, wmOperator *UNUSED(op), const wmEven
return OPERATOR_PASS_THROUGH;
}
static char *track_markers_desc(bContext *UNUSED(C), wmOperatorType *UNUSED(op), PointerRNA *ptr)
{
const bool backwards = RNA_boolean_get(ptr, "backwards");
const bool sequence = RNA_boolean_get(ptr, "sequence");
if (backwards && sequence) {
return BLI_strdup(TIP_("Track the selected markers backward for the entire clip"));
}
if (backwards && !sequence) {
return BLI_strdup(TIP_("Track the selected markers backward by one frame"));
}
if (!backwards && sequence) {
return BLI_strdup(TIP_("Track the selected markers forward for the entire clip"));
}
if (!backwards && !sequence) {
return BLI_strdup(TIP_("Track the selected markers forward by one frame"));
}
/* Use default description. */
return NULL;
}
void CLIP_OT_track_markers(wmOperatorType *ot)
{
/* identifiers */
@@ -410,6 +435,7 @@ void CLIP_OT_track_markers(wmOperatorType *ot)
ot->invoke = track_markers_invoke;
ot->modal = track_markers_modal;
ot->poll = ED_space_clip_tracking_poll;
ot->get_description = track_markers_desc;
/* flags */
ot->flag = OPTYPE_UNDO;