diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2014-01-12 18:56:47 +0400 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2014-01-12 18:59:04 +0400 |
commit | 190809d8abcd9780a69d8bb001dcf342111ee350 (patch) | |
tree | 4e5d5260434472d07f8068e9efb161d147e35e49 | |
parent | d6c022d6d7398890b6ce9e3f20a5802418f11e22 (diff) |
UIList tweak: make active item visible when it changes somehow (useful e.g. when weight-paintings a rigged mesh).
-rw-r--r-- | source/blender/editors/interface/interface_templates.c | 6 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_screen_types.h | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index c7de757e2c9..e94fc2ddbab 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -2816,6 +2816,12 @@ void uiTemplateList(uiLayout *layout, bContext *C, const char *listtype_name, co } dyn_data->items_len = dyn_data->items_shown = -1; + /* When active item changed since last draw, scroll to it. */ + if (activei != ui_list->list_last_activei) { + ui_list->flag |= UILST_SCROLL_TO_ACTIVE_ITEM; + ui_list->list_last_activei = activei; + } + /* Filter list items! (not for compact layout, though) */ if (dataptr->data && prop) { int filter_exclude = ui_list->filter_flag & UILST_FLT_EXCLUDE; diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h index d343b2b68fc..beb230e467c 100644 --- a/source/blender/makesdna/DNA_screen_types.h +++ b/source/blender/makesdna/DNA_screen_types.h @@ -172,10 +172,10 @@ typedef struct uiList { /* some list UI data need to be saved in file int list_scroll; int list_grip; int list_last_len; - int padi1; + int list_last_activei; /* Filtering data. */ - char filter_byname[64]; /* defined as UI_MAX_NAME_STR */ + char filter_byname[64]; /* defined as UI_MAX_NAME_STR */ int filter_flag; int filter_sort_flag; |