ui/gtk/window.c

changeset 1194
91696f7fa475
parent 1193
28c603de3f21
--- a/ui/gtk/window.c	Sat Jun 13 12:03:09 2026 +0200
+++ b/ui/gtk/window.c	Sat Jun 13 14:12:43 2026 +0200
@@ -45,6 +45,7 @@
 #include "headerbar.h"
 #include "button.h"
 #include "window.h"
+#include "widget.h"
 
 static int nwindows = 0;
 
@@ -481,10 +482,13 @@
 
 UIEXPORT void ui_splitview_window_set_visible(UiObject *obj, int pane, UiBool visible) {
     GtkWidget *panel = NULL;
+    CxList *backup_items = NULL;
     if(pane == 0) {
         panel = g_object_get_data(G_OBJECT(obj->widget), "ui_left_panel_top");
+        backup_items = g_object_get_data(G_OBJECT(obj->widget), "ui_toolbar_center_backup");
     } else if(pane == 1) {
         panel = g_object_get_data(G_OBJECT(obj->widget), "ui_right_panel_top");
+        // TODO: backup toolbar items
     }
     
     if(panel == NULL) {
@@ -493,6 +497,13 @@
     }
     
     gtk_widget_set_visible(panel, visible);
+    
+    if(backup_items) {
+        CxIterator i = cxListIterator(backup_items);
+        cx_foreach(GtkWidget*, w, i) {
+            ui_set_visible(w, !visible);
+        }
+    }
 }
 
 #ifdef UI_LIBADWAITA

mercurial