# HG changeset patch
# User Olaf Wintermann <olaf.wintermann@gmail.com>
# Date 1727126547 -7200
# Node ID 02c95df91de1e5d6bd8f0961ac3d15f6724e9f9b
# Parent  4efc7c19e31d6156902c803582644d685850f2b9
add headerbar toggle button (GTK)

diff -r 4efc7c19e31d -r 02c95df91de1 ui/gtk/headerbar.c
--- a/ui/gtk/headerbar.c	Mon Sep 23 23:17:39 2024 +0200
+++ b/ui/gtk/headerbar.c	Mon Sep 23 23:22:27 2024 +0200
@@ -64,7 +64,7 @@
             break;
         }
         case UI_TOOLBAR_TOGGLEITEM: {
-            //add_toolitem_toggle_widget(tb, (UiToolbarToggleItem*)i, obj);
+            ui_add_headerbar_toggleitem(headerbar, box, (UiToolbarToggleItem*)i, obj, pos);
             break;
         }
         case UI_TOOLBAR_MENU: {
@@ -121,5 +121,12 @@
     WIDGET_ADD_CSS_CLASS(button, "flat");
     headerbar_add(headerbar, box, button, pos);
 }
+
+void ui_add_headerbar_toggleitem(GtkWidget *headerbar, GtkWidget *box, UiToolbarToggleItem *item, UiObject *obj, enum UiToolbarPos pos) {
+    GtkWidget *button = gtk_toggle_button_new();
+    WIDGET_ADD_CSS_CLASS(button, "flat");
+    ui_setup_togglebutton(obj, button, item->args.label, item->args.icon, item->args.varname, NULL, item->args.onchange, item->args.onchangedata);
+    headerbar_add(headerbar, box, button, pos);
+}
     
 #endif
\ No newline at end of file
diff -r 4efc7c19e31d -r 02c95df91de1 ui/gtk/headerbar.h
--- a/ui/gtk/headerbar.h	Mon Sep 23 23:17:39 2024 +0200
+++ b/ui/gtk/headerbar.h	Mon Sep 23 23:22:27 2024 +0200
@@ -45,6 +45,8 @@
 void ui_headerbar_add_items(UiObject *obj, GtkWidget *headerbar, CxList *items, enum UiToolbarPos pos);
 
 void ui_add_headerbar_item(GtkWidget *headerbar, GtkWidget *box, UiToolbarItem *item, UiObject *obj, enum UiToolbarPos pos);
+
+void ui_add_headerbar_toggleitem(GtkWidget *headerbar, GtkWidget *box, UiToolbarToggleItem *item, UiObject *obj, enum UiToolbarPos pos);
     
 #endif