From 2a38f864f2786141723e6939868ff9a36e7e25d7 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Sat, 17 May 2008 14:29:25 +0000 Subject: [PATCH] add new function gimp_stock_button_new() which creates a button with icon 2008-05-17 Michael Natterer * app/widgets/gimpwidgets-constructors.[ch]: add new function gimp_stock_button_new() which creates a button with icon and label which is *not* the stock_id's label. * app/dialogs/preferences-dialog.c (prefs_button_add) * app/tools/gimplevelstool.c (gimp_levels_tool_dialog): use it. svn path=/trunk/; revision=25688 --- ChangeLog | 9 +++++++++ app/dialogs/preferences-dialog.c | 20 ++----------------- app/tools/gimplevelstool.c | 6 +++--- app/widgets/gimpwidgets-constructors.c | 27 ++++++++++++++++++++++++++ app/widgets/gimpwidgets-constructors.h | 7 +++++-- 5 files changed, 46 insertions(+), 23 deletions(-) diff --git a/ChangeLog b/ChangeLog index a631c0a388..24674c4109 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-05-17 Michael Natterer + + * app/widgets/gimpwidgets-constructors.[ch]: add new function + gimp_stock_button_new() which creates a button with icon and label + which is *not* the stock_id's label. + + * app/dialogs/preferences-dialog.c (prefs_button_add) + * app/tools/gimplevelstool.c (gimp_levels_tool_dialog): use it. + 2008-05-17 Michael Natterer * app/widgets/gimphelp-ids.h: add help IDs for the stuff in the diff --git a/app/dialogs/preferences-dialog.c b/app/dialogs/preferences-dialog.c index 395582339d..fb2e1606a4 100644 --- a/app/dialogs/preferences-dialog.c +++ b/app/dialogs/preferences-dialog.c @@ -49,6 +49,7 @@ #include "widgets/gimpprofilechooserdialog.h" #include "widgets/gimppropwidgets.h" #include "widgets/gimptemplateeditor.h" +#include "widgets/gimpwidgets-constructors.h" #include "widgets/gimpwidgets-utils.h" #include "menus/menus.h" @@ -1070,25 +1071,8 @@ prefs_button_add (const gchar *stock_id, GtkBox *box) { GtkWidget *button; - GtkWidget *hbox; - GtkWidget *image; - GtkWidget *lab; - - button = gtk_button_new (); - - hbox = gtk_hbox_new (FALSE, 6); - gtk_container_add (GTK_CONTAINER (button), hbox); - gtk_widget_show (hbox); - - image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_BUTTON); - gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); - gtk_widget_show (image); - - lab = gtk_label_new_with_mnemonic (label); - gtk_label_set_mnemonic_widget (GTK_LABEL (lab), button); - gtk_box_pack_start (GTK_BOX (hbox), lab, TRUE, TRUE, 0); - gtk_widget_show (lab); + button = gimp_stock_button_new (stock_id, label); gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); gtk_widget_show (button); diff --git a/app/tools/gimplevelstool.c b/app/tools/gimplevelstool.c index 9c5b136de8..6b1bc2c250 100644 --- a/app/tools/gimplevelstool.c +++ b/app/tools/gimplevelstool.c @@ -45,6 +45,7 @@ #include "widgets/gimphandlebar.h" #include "widgets/gimphelp-ids.h" #include "widgets/gimphistogramview.h" +#include "widgets/gimpwidgets-constructors.h" #include "display/gimpdisplay.h" @@ -680,9 +681,8 @@ gimp_levels_tool_dialog (GimpImageMapTool *image_map_tool) G_CALLBACK (gimp_levels_tool_dialog_unmap), tool); - button = gtk_button_new_from_stock (GIMP_STOCK_TOOL_LEVELS); - gtk_button_set_label (GTK_BUTTON (button), - _("Edit this Settings as Curves")); + button = gimp_stock_button_new (GIMP_STOCK_TOOL_LEVELS, + _("Edit this Settings as Curves")); gtk_box_pack_start (GTK_BOX (image_map_tool->main_vbox), button, FALSE, FALSE, 0); gtk_widget_show (button); diff --git a/app/widgets/gimpwidgets-constructors.c b/app/widgets/gimpwidgets-constructors.c index 083ead0781..ef316ca085 100644 --- a/app/widgets/gimpwidgets-constructors.c +++ b/app/widgets/gimpwidgets-constructors.c @@ -173,6 +173,33 @@ gimp_paint_mode_menu_new (gboolean with_behind_mode, return combo; } +GtkWidget * +gimp_stock_button_new (const gchar *stock_id, + const gchar *label) +{ + GtkWidget *button; + GtkWidget *hbox; + GtkWidget *image; + GtkWidget *lab; + + button = gtk_button_new (); + + hbox = gtk_hbox_new (FALSE, 6); + gtk_container_add (GTK_CONTAINER (button), hbox); + gtk_widget_show (hbox); + + image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_BUTTON); + gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); + gtk_widget_show (image); + + lab = gtk_label_new_with_mnemonic (label); + gtk_label_set_mnemonic_widget (GTK_LABEL (lab), button); + gtk_box_pack_start (GTK_BOX (hbox), lab, TRUE, TRUE, 0); + gtk_widget_show (lab); + + return button; +} + /* private functions */ diff --git a/app/widgets/gimpwidgets-constructors.h b/app/widgets/gimpwidgets-constructors.h index f5012e16d9..e8a0a0d241 100644 --- a/app/widgets/gimpwidgets-constructors.h +++ b/app/widgets/gimpwidgets-constructors.h @@ -20,8 +20,11 @@ #define __GIMP_WIDGETS_CONSTRUCTORS_H__ -GtkWidget * gimp_paint_mode_menu_new (gboolean with_behind_mode, - gboolean with_replace_modes); +GtkWidget * gimp_paint_mode_menu_new (gboolean with_behind_mode, + gboolean with_replace_modes); + +GtkWidget * gimp_stock_button_new (const gchar *stock_id, + const gchar *label); #endif /* __GIMP_WIDGETS_CONSTRUCTORS_H__ */