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
Notes: blender-bot 2024-04-29 13:07:32 +02:00
Referenced by issue #87983, Motion tracker tooltips identical for different buttons
1 changed files with 26 additions and 0 deletions

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;