Tue, 16 Dec 2025 17:48:14 +0100
simplify gtk3/4 code in create_window
| ui/gtk/window.c | file | annotate | diff | comparison | revisions |
--- a/ui/gtk/window.c Tue Dec 16 17:42:24 2025 +0100 +++ b/ui/gtk/window.c Tue Dec 16 17:48:14 2025 +0100 @@ -294,45 +294,27 @@ if(!simple) { ui_fill_headerbar(obj, headerbar_sidebar, headerbar_main, headerbar_right); } -#elif GTK_MAJOR_VERSION >= 4 - GtkWidget *content_box = ui_gtk_vbox_new(0); - WINDOW_SET_CONTENT(obj->widget, vbox); +#else if(!simple) { + // menu if(uic_get_menu_list()) { GtkWidget *mb = ui_create_menubar(obj); if(mb) { BOX_ADD(vbox, mb); } } - } - if(sidebar) { - GtkWidget *paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); - GtkWidget *sidebar_vbox = ui_gtk_vbox_new(0); - gtk_paned_set_start_child(GTK_PANED(paned), sidebar_vbox); - gtk_paned_set_end_child(GTK_PANED(paned), content_box); - BOX_ADD_EXPAND(GTK_BOX(vbox), paned); - g_object_set_data(G_OBJECT(obj->widget), "ui_sidebar", sidebar_vbox); - } else { - BOX_ADD_EXPAND(GTK_BOX(vbox), content_box); - } -#else - if(!simple) { - // menu - if(uic_get_menu_list()) { - GtkWidget *mb = ui_create_menubar(obj); - if(mb) { - gtk_box_pack_start(GTK_BOX(vbox), mb, FALSE, FALSE, 0); - } - } // toolbar +#if GTK_MAJOR_VERSION >= 4 + // TODO: gtk4 toolbar +#else if(uic_toolbar_isenabled()) { GtkWidget *tb = ui_create_toolbar(obj); if(tb) { - gtk_box_pack_start(GTK_BOX(vbox), tb, FALSE, FALSE, 0); + BOX_ADD(vbox, tb); } } - +#endif //GtkWidget *hb = ui_create_headerbar(obj); //gtk_window_set_titlebar(GTK_WINDOW(obj->widget), hb); } @@ -343,7 +325,7 @@ GtkWidget *paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); if(sidebar) { GtkWidget *sidebar_vbox = ui_gtk_vbox_new(0); - gtk_paned_add1(GTK_PANED(paned), sidebar_vbox); + PANED_SET_CHILD1(paned, sidebar_vbox); g_object_set_data(G_OBJECT(obj->widget), "ui_sidebar", sidebar_vbox); gtk_paned_set_position(GTK_PANED(paned), 200); } @@ -351,17 +333,17 @@ if(splitview) { GtkWidget *content_paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); gtk_paned_set_position(GTK_PANED(content_paned), splitview_pos); - gtk_paned_add2(GTK_PANED(paned), content_paned); + PANED_SET_CHILD2(paned, content_paned); GtkWidget *right_content_box = ui_gtk_vbox_new(0); - gtk_paned_add1(GTK_PANED(content_paned), content_box); - gtk_paned_add2(GTK_PANED(content_paned), right_content_box); + PANED_SET_CHILD1(content_paned, content_box); + PANED_SET_CHILD2(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); + PANED_SET_CHILD2(paned, content_box); } BOX_ADD_EXPAND(GTK_BOX(vbox), paned);