ui/gtk/window.c

changeset 951
13cf4c932f21
parent 930
4ce8df2311f0
child 952
f55630d3006f
--- a/ui/gtk/window.c	Sat Dec 06 15:24:13 2025 +0100
+++ b/ui/gtk/window.c	Sat Dec 06 18:04:06 2025 +0100
@@ -337,14 +337,31 @@
     
     GtkWidget *content_box = ui_gtk_vbox_new(0);
     WINDOW_SET_CONTENT(obj->widget, vbox);
-    if(sidebar) {
+    if(sidebar || splitview) {
         GtkWidget *paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
-        GtkWidget *sidebar_vbox = ui_gtk_vbox_new(0);
-        gtk_paned_add1(GTK_PANED(paned), sidebar_vbox);
-        gtk_paned_add2(GTK_PANED(paned), content_box);
+        if(sidebar) {
+            GtkWidget *sidebar_vbox = ui_gtk_vbox_new(0);
+            gtk_paned_add1(GTK_PANED(paned), sidebar_vbox);
+            g_object_set_data(G_OBJECT(obj->widget), "ui_sidebar", sidebar_vbox);
+            gtk_paned_set_position(GTK_PANED(paned), 200);
+        }
+        
+        if(splitview) {
+            GtkWidget *content_paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
+            gtk_paned_add2(GTK_PANED(paned), content_paned);
+            
+            GtkWidget *right_content_box = ui_gtk_vbox_new(0);
+            gtk_paned_add1(GTK_PANED(content_paned), content_box);
+            gtk_paned_add1(GTK_PANED(content_paned), right_content_box);
+            
+            g_object_set_data(G_OBJECT(obj->widget), "ui_window_splitview", content_paned);
+            g_object_set_data(G_OBJECT(obj->widget), "ui_left_panel", content_box);
+            g_object_set_data(G_OBJECT(obj->widget), "ui_right_panel", right_content_box);
+        } else {
+            gtk_paned_add2(GTK_PANED(paned), content_box);
+        }
+        
         BOX_ADD_EXPAND(GTK_BOX(vbox), paned);
-        g_object_set_data(G_OBJECT(obj->widget), "ui_sidebar", sidebar_vbox);
-        gtk_paned_set_position (GTK_PANED(paned), 200);
     } else {
         BOX_ADD_EXPAND(GTK_BOX(vbox), content_box);
     }

mercurial