# HG changeset patch # User Olaf Wintermann # Date 1774025587 -3600 # Node ID 0fa92d0ca13d189b4c3b50eb7f61dce19eae4836 # Parent ccc5680178720f25af367308ca071c79803b43c1 add ui_sourcelist_args_set_states diff -r ccc568017872 -r 0fa92d0ca13d ui/common/args.c --- a/ui/common/args.c Sun Mar 15 12:07:05 2026 +0100 +++ b/ui/common/args.c Fri Mar 20 17:53:07 2026 +0100 @@ -2049,6 +2049,12 @@ args->header_is_item = value; } +UIEXPORT void ui_sourcelist_args_set_states(UiSourceListArgs *args, int *states, int numstates) { + args->visibility_states = calloc(numstates+1, sizeof(int)); + memcpy((void*)args->states, states, numstates * sizeof(int)); + ((int*)args->states)[numstates] = -1; +} + void ui_sourcelist_args_set_visibility_states(UiSourceListArgs *args, int *states, int numstates) { args->visibility_states = calloc(numstates+1, sizeof(int)); memcpy((void*)args->visibility_states, states, numstates * sizeof(int)); diff -r ccc568017872 -r 0fa92d0ca13d ui/common/args.h --- a/ui/common/args.h Sun Mar 15 12:07:05 2026 +0100 +++ b/ui/common/args.h Fri Mar 20 17:53:07 2026 +0100 @@ -484,6 +484,7 @@ UIEXPORT void ui_sourcelist_args_set_onbuttonclickdata(UiSourceListArgs *args, void *userdata); UIEXPORT void ui_sourcelist_args_set_contextmenu(UiSourceListArgs *args, UiMenuBuilder *menubuilder); UIEXPORT void ui_sourcelist_args_set_header_is_item(UiSourceListArgs *args, UiBool value); +UIEXPORT void ui_sourcelist_args_set_states(UiSourceListArgs *args, int *states, int numstates); UIEXPORT void ui_sourcelist_args_set_visibility_states(UiSourceListArgs *args, int *states, int numstates); UIEXPORT void ui_sourcelist_args_free(UiSourceListArgs *args);