ui/gtk/menu.c

changeset 850
3e1c3f4e2ad4
parent 849
63623ef950e5
child 852
a04cb4398034
--- 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) {

mercurial