UIList tweak: make active item visible when it changes somehow (useful e.g. when weight-paintings a rigged mesh).

This commit is contained in:
Bastien Montagne
2014-01-12 15:56:47 +01:00
parent d6c022d6d7
commit 190809d8ab
2 changed files with 8 additions and 2 deletions

View File

@@ -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;

View File

@@ -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;