--- a/ui/gtk/toolbar.c Sat Dec 27 22:05:02 2025 +0100 +++ b/ui/gtk/toolbar.c Sat Dec 27 22:18:48 2025 +0100 @@ -44,7 +44,7 @@ #if UI_GTK2 || UI_GTK3 -GtkWidget* ui_create_toolbar(UiObject *obj) { +GtkWidget* ui_create_toolbar(UiObject *obj, UiBool sidebar) { GtkWidget *toolbar = gtk_toolbar_new(); #ifdef UI_GTK3 gtk_style_context_add_class( @@ -56,25 +56,24 @@ CxList *left_defaults = uic_get_toolbar_defaults(UI_TOOLBAR_LEFT); CxList *center_defaults = uic_get_toolbar_defaults(UI_TOOLBAR_CENTER); CxList *right_defaults = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHT); + CxList *sidebar_left = uic_get_toolbar_defaults(UI_TOOLBAR_SIDEBAR_LEFT); + CxList *sidebar_right = uic_get_toolbar_defaults(UI_TOOLBAR_SIDEBAR_RIGHT); + CxList *rightpanel_left = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHTPANEL_LEFT); + CxList *rightpanel_center = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHTPANEL_CENTER); + CxList *rightpanel_right = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHTPANEL_RIGHT); + + if(sidebar) { + ui_toolbar_add_items(obj, toolbar, items, sidebar_left); + ui_toolbar_add_items(obj, toolbar, items, sidebar_right); + } ui_toolbar_add_items(obj, toolbar, items, left_defaults); ui_toolbar_add_items(obj, toolbar, items, center_defaults); ui_toolbar_add_items(obj, toolbar, items, right_defaults); - /* - GtkToolbar *tb = GTK_TOOLBAR(toolbar); - CxIterator i = cxListIterator(defaults); - cx_foreach(char *, def, i) { - UiToolItemI *item = cxMapGet(toolbar_items, def); - if(item) { - item->add_to(tb, item, obj); - } else if(!strcmp(def, "@separator")) { - gtk_toolbar_insert(tb, gtk_separator_tool_item_new(), -1); - } else { - fprintf(stderr, "UI Error: Unknown toolbar item: %s\n", def); - } - } - */ + ui_toolbar_add_items(obj, toolbar, items, rightpanel_left); + ui_toolbar_add_items(obj, toolbar, items, rightpanel_center); + ui_toolbar_add_items(obj, toolbar, items, rightpanel_right); return toolbar; }