# HG changeset patch # User Olaf Wintermann # Date 1760547052 -7200 # Node ID 3e1c3f4e2ad42cf5f4c79d668d8b10547debd4f3 # Parent 63623ef950e5c129707610d0d19aa2876e99ca7c implement gtk4 radio item value get/set functions diff -r 63623ef950e5 -r 3e1c3f4e2ad4 ui/gtk/menu.c --- a/ui/gtk/menu.c Wed Oct 15 18:08:43 2025 +0200 +++ b/ui/gtk/menu.c Wed Oct 15 18:50:52 2025 +0200 @@ -507,11 +507,16 @@ } static void ui_action_set_state(UiInteger *i, int64_t value) { - + UiMenuRadioGroup *group = i->obj; + i->value = value; + char buf[32]; + snprintf(buf, 32, "%d", (int)value); + GVariant *state = g_variant_new_string(buf); + g_action_change_state(G_ACTION(group->action), state); } static int64_t ui_action_get_state(UiInteger *i) { - return 0; + return i->value; } static UiMenuRadioGroup* create_radio_group(UiObject *obj, UiMenuRadioItem *item, GSimpleAction *action) { @@ -564,7 +569,7 @@ event.eventdata = NULL; event.eventdatatype = 0; event.intval = v; - event.set = 0; + event.set = ui_get_setop(); CxIterator iter = cxListIterator(group->callbacks); cx_foreach(UiCallbackData *, cb, iter) {