diff options
author | Jeroen Bakker <jeroen@blender.org> | 2021-08-04 09:58:19 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2021-08-04 09:58:39 +0300 |
commit | effc0487106bc74590acf35a61541597b1149daa (patch) | |
tree | 893cd6d82930879d3e0e2734ce66243f4042f72d /source/blender/windowmanager | |
parent | cd92b2350fc20f6c91128881b5fd20dd173d2308 (diff) |
T90371: Asset: Drop Material Tooltip.
This patch changes the drop named material tooltip to give feedback to
the user what is going to happen when they invoke the change.
There are 3 states:
* "": Operator will be canceled as not all data is present (dropping on
background.)
* "Drop <named material> on <object name> (slot <slot number>, replacing
<current material in slot>).
* "Drop <named material> on <object name> (slot <slot number).
Reviewed By: Severin
Maniphest Tasks: T90371
Differential Revision: https://developer.blender.org/D12106
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/WM_types.h | 4 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_dragdrop.c | 7 |
2 files changed, 5 insertions, 6 deletions
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h index 4d6cb941347..485d8e5a162 100644 --- a/source/blender/windowmanager/WM_types.h +++ b/source/blender/windowmanager/WM_types.h @@ -115,6 +115,7 @@ struct wmEvent; struct wmOperator; struct wmWindowManager; struct wmDrag; +struct wmDropBox; #include "BLI_compiler_attrs.h" #include "DNA_listBase.h" @@ -937,7 +938,8 @@ typedef struct wmDragAsset { typedef char *(*WMDropboxTooltipFunc)(struct bContext *, struct wmDrag *, - const struct wmEvent *event); + const struct wmEvent *event, + struct wmDropBox *drop); typedef struct wmDrag { struct wmDrag *next, *prev; diff --git a/source/blender/windowmanager/intern/wm_dragdrop.c b/source/blender/windowmanager/intern/wm_dragdrop.c index c58d3c53e03..dcbb502117e 100644 --- a/source/blender/windowmanager/intern/wm_dragdrop.c +++ b/source/blender/windowmanager/intern/wm_dragdrop.c @@ -220,14 +220,11 @@ void WM_drag_free_list(struct ListBase *lb) } } -static char *dropbox_tooltip(bContext *C, - wmDrag *drag, - const wmEvent *event, - const wmDropBox *drop) +static char *dropbox_tooltip(bContext *C, wmDrag *drag, const wmEvent *event, wmDropBox *drop) { char *tooltip = NULL; if (drop->tooltip) { - tooltip = drop->tooltip(C, drag, event); + tooltip = drop->tooltip(C, drag, event, drop); } if (!tooltip) { tooltip = BLI_strdup(WM_operatortype_name(drop->ot, drop->ptr)); |