Index: app/display/gimpdisplayshell.c =================================================================== --- app/display/gimpdisplayshell.c (revision 25899) +++ app/display/gimpdisplayshell.c (working copy) @@ -903,6 +903,51 @@ shell); } + shell->toolbar = gtk_toolbar_new(); + gtk_toolbar_set_style(GTK_TOOLBAR(shell->toolbar), GTK_TOOLBAR_ICONS); + { + GtkToolItem *tb_new; + GtkToolItem *tb_open; + GtkToolItem *tb_save; + GtkToolItem *tb_separator; + GtkToolItem *tb_undo; + GtkToolItem *tb_redo; + + tb_separator = gtk_separator_tool_item_new(); + + tb_new = gtk_tool_button_new_from_stock(GTK_STOCK_NEW); + gtk_toolbar_insert(GTK_TOOLBAR(shell->toolbar), tb_new, -1); + + tb_open = gtk_tool_button_new_from_stock(GTK_STOCK_OPEN); + gtk_toolbar_insert(GTK_TOOLBAR(shell->toolbar), tb_open, -1); + + tb_save = gtk_tool_button_new_from_stock(GTK_STOCK_SAVE); + gtk_toolbar_insert(GTK_TOOLBAR(shell->toolbar), tb_save, -1); + + gtk_toolbar_insert(GTK_TOOLBAR(shell->toolbar), tb_separator, -1); + + tb_undo = gtk_tool_button_new_from_stock(GTK_STOCK_UNDO); + gtk_toolbar_insert(GTK_TOOLBAR(shell->toolbar), tb_undo, -1); + + tb_redo = gtk_tool_button_new_from_stock(GTK_STOCK_REDO); + gtk_toolbar_insert(GTK_TOOLBAR(shell->toolbar), tb_redo, -1); + + gtk_action_connect_proxy(gimp_ui_manager_find_action (shell->menubar_manager, "image", "image-new"), + GTK_WIDGET (tb_new)); + gtk_action_connect_proxy(gimp_ui_manager_find_action (shell->menubar_manager, "file", "file-open"), + GTK_WIDGET (tb_open)); + gtk_action_connect_proxy(gimp_ui_manager_find_action (shell->menubar_manager, "file", "file-save"), + GTK_WIDGET (tb_save)); + + gtk_action_connect_proxy(gimp_ui_manager_find_action (shell->menubar_manager, "edit", "edit-undo"), + GTK_WIDGET (tb_undo)); + gtk_action_connect_proxy(gimp_ui_manager_find_action (shell->menubar_manager, "edit", "edit-redo"), + GTK_WIDGET (tb_redo)); + } + + gtk_box_pack_start (GTK_BOX (main_vbox), shell->toolbar, FALSE, FALSE, 0); + gtk_widget_show_all (shell->toolbar); + /* another vbox for everything except the statusbar */ disp_vbox = gtk_vbox_new (FALSE, 1); gtk_box_pack_start (GTK_BOX (main_vbox), disp_vbox, TRUE, TRUE, 0); Index: app/display/gimpdisplayshell.h =================================================================== --- app/display/gimpdisplayshell.h (revision 25899) +++ app/display/gimpdisplayshell.h (working copy) @@ -128,6 +128,7 @@ GtkWidget *nav_ebox; /* SE: navigation event box */ GtkWidget *menubar; /* menubar */ + GtkWidget *toolbar; /* toolbar */ GtkWidget *statusbar; /* statusbar */ guchar *render_buf; /* buffer for rendering the image */