SF.net SVN: geany:[3261] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Fri Nov 21 13:34:58 UTC 2008


Revision: 3261
          http://geany.svn.sourceforge.net/geany/?rev=3261&view=rev
Author:   ntrel
Date:     2008-11-21 13:34:58 +0000 (Fri, 21 Nov 2008)

Log Message:
-----------
Add function ui_image_menu_item_new() to the plugin API, to easily
create a menu item with a stock image and a custom label.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/plugins/classbuilder.c
    trunk/plugins/filebrowser.c
    trunk/src/plugindata.h
    trunk/src/plugins.c
    trunk/src/symbols.c
    trunk/src/ui_utils.c
    trunk/src/ui_utils.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-11-21 13:06:09 UTC (rev 3260)
+++ trunk/ChangeLog	2008-11-21 13:34:58 UTC (rev 3261)
@@ -3,6 +3,10 @@
  * src/symbols.c:
    Add Expand/Collapse All symbol list popup menu items.
    Disable smybol list sort items when there are no tags.
+ * src/ui_utils.h, src/plugindata.h, src/plugins.c, src/symbols.c,
+   src/ui_utils.c, plugins/filebrowser.c, plugins/classbuilder.c:
+   Add function ui_image_menu_item_new() to the plugin API, to easily
+   create a menu item with a stock image and a custom label.
 
 
 2008-11-20  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/plugins/classbuilder.c
===================================================================
--- trunk/plugins/classbuilder.c	2008-11-21 13:06:09 UTC (rev 3260)
+++ trunk/plugins/classbuilder.c	2008-11-21 13:34:58 UTC (rev 3261)
@@ -773,17 +773,13 @@
 void plugin_init(GeanyData *data)
 {
 	GtkWidget *menu_create_class1;
-	GtkWidget *image1861;
 	GtkWidget *menu_create_class1_menu;
 	GtkWidget *menu_create_cpp_class;
 	GtkWidget *menu_create_gtk_class;
 
-	menu_create_class1 = gtk_image_menu_item_new_with_mnemonic (_("Create Cla_ss"));
+	menu_create_class1 = p_ui->image_menu_item_new (GTK_STOCK_ADD, _("Create Cla_ss"));
 	gtk_container_add (GTK_CONTAINER (geany->main_widgets->tools_menu), menu_create_class1);
 
-	image1861 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
-	gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_create_class1), image1861);
-
 	menu_create_class1_menu = gtk_menu_new ();
 	gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_create_class1), menu_create_class1_menu);
 

Modified: trunk/plugins/filebrowser.c
===================================================================
--- trunk/plugins/filebrowser.c	2008-11-21 13:06:09 UTC (rev 3260)
+++ trunk/plugins/filebrowser.c	2008-11-21 13:34:58 UTC (rev 3261)
@@ -522,7 +522,7 @@
 
 static GtkWidget *create_popup_menu(void)
 {
-	GtkWidget *item, *menu, *image;
+	GtkWidget *item, *menu;
 
 	menu = gtk_menu_new();
 
@@ -532,19 +532,13 @@
 	g_signal_connect(item, "activate", G_CALLBACK(on_open_clicked), NULL);
 	popup_items.open = item;
 
-	image = gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
-	gtk_widget_show(image);
-	item = gtk_image_menu_item_new_with_mnemonic(_("Open _externally"));
-	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+	item = p_ui->image_menu_item_new(GTK_STOCK_OPEN, _("Open _externally"));
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
 	g_signal_connect(item, "activate", G_CALLBACK(on_external_open), NULL);
 	popup_items.open_external = item;
 
-	image = gtk_image_new_from_stock(GTK_STOCK_FIND, GTK_ICON_SIZE_MENU);
-	gtk_widget_show(image);
-	item = gtk_image_menu_item_new_with_mnemonic(_("_Find in Files"));
-	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+	item = p_ui->image_menu_item_new(GTK_STOCK_FIND, _("_Find in Files"));
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
 	g_signal_connect(item, "activate", G_CALLBACK(on_find_in_files), NULL);
@@ -563,9 +557,7 @@
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
 
-	item = gtk_image_menu_item_new_with_mnemonic(_("H_ide Sidebar"));
-	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
-		gtk_image_new_from_stock("gtk-close", GTK_ICON_SIZE_MENU));
+	item = p_ui->image_menu_item_new(GTK_STOCK_CLOSE, _("H_ide Sidebar"));
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
 	g_signal_connect(item, "activate", G_CALLBACK(on_hide_sidebar), NULL);

Modified: trunk/src/plugindata.h
===================================================================
--- trunk/src/plugindata.h	2008-11-21 13:06:09 UTC (rev 3260)
+++ trunk/src/plugindata.h	2008-11-21 13:34:58 UTC (rev 3261)
@@ -45,7 +45,7 @@
 enum {
 	/** The Application Programming Interface (API) version, incremented
 	 * whenever any plugin data types are modified or appended to. */
-	GEANY_API_VERSION = 109,
+	GEANY_API_VERSION = 110,
 
 	/** The Application Binary Interface (ABI) version, incremented whenever
 	 * existing fields in the plugin data types have to be changed or reordered. */
@@ -359,6 +359,7 @@
 	GtkWidget*	(*button_new_with_image) (const gchar *stock_id, const gchar *text);
 	void		(*add_document_sensitive) (GtkWidget *widget);
 	void		(*widget_set_tooltip_text) (GtkWidget *widget, const gchar *text);
+	GtkWidget*	(*image_menu_item_new) (const gchar *stock_id, const gchar *label);
 }
 UIUtilsFuncs;
 

Modified: trunk/src/plugins.c
===================================================================
--- trunk/src/plugins.c	2008-11-21 13:06:09 UTC (rev 3260)
+++ trunk/src/plugins.c	2008-11-21 13:34:58 UTC (rev 3261)
@@ -207,7 +207,8 @@
 	&ui_path_box_new,
 	&ui_button_new_with_image,
 	&ui_add_document_sensitive,
-	&ui_widget_set_tooltip_text
+	&ui_widget_set_tooltip_text,
+	&ui_image_menu_item_new
 };
 
 static DialogFuncs dialog_funcs = {

Modified: trunk/src/symbols.c
===================================================================
--- trunk/src/symbols.c	2008-11-21 13:06:09 UTC (rev 3260)
+++ trunk/src/symbols.c	2008-11-21 13:34:58 UTC (rev 3261)
@@ -1708,18 +1708,6 @@
 }
 
 
-static GtkWidget *
-ui_image_menu_item_new_with_stock(const gchar *label, const gchar *stock_id)
-{
-	GtkWidget *item = gtk_image_menu_item_new_with_mnemonic(label);
-	GtkWidget *image = gtk_image_new_from_stock(stock_id, GTK_ICON_SIZE_MENU);
-
-	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
-	gtk_widget_show(image);
-	return item;
-}
-
-
 static void on_expand_collapse(GtkWidget *widget, gpointer user_data)
 {
 	gboolean expand = utils_str_equal(user_data, GTK_STOCK_ADD);
@@ -1743,13 +1731,13 @@
 
 	tv.popup_taglist = menu = gtk_menu_new();
 
-	symbol_menu.expand_all = item = ui_image_menu_item_new_with_stock(
+	symbol_menu.expand_all = item = ui_image_menu_item_new(
 		_("_Expand All"), GTK_STOCK_ADD);
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
 	g_signal_connect(item, "activate", G_CALLBACK(on_expand_collapse), GTK_STOCK_ADD);
 
-	symbol_menu.collapse_all = item = ui_image_menu_item_new_with_stock(
+	symbol_menu.collapse_all = item = ui_image_menu_item_new(
 		_("_Collapse All"), GTK_STOCK_REMOVE);
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);

Modified: trunk/src/ui_utils.c
===================================================================
--- trunk/src/ui_utils.c	2008-11-21 13:06:09 UTC (rev 3260)
+++ trunk/src/ui_utils.c	2008-11-21 13:34:58 UTC (rev 3261)
@@ -1200,6 +1200,22 @@
 }
 
 
+/** Create a @c GtkImageMenuItem with a stock image and a custom label.
+ * @param stock_id Stock image ID, e.g. @c GTK_STOCK_OPEN.
+ * @param label Menu item label, can include mnemonics.
+ * @return The new @c GtkImageMenuItem. */
+GtkWidget *
+ui_image_menu_item_new(const gchar *stock_id, const gchar *label)
+{
+	GtkWidget *item = gtk_image_menu_item_new_with_mnemonic(label);
+	GtkWidget *image = gtk_image_new_from_stock(stock_id, GTK_ICON_SIZE_MENU);
+
+	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+	gtk_widget_show(image);
+	return item;
+}
+
+
 static void add_to_size_group(GtkWidget *widget, gpointer size_group)
 {
 	g_return_if_fail(GTK_IS_SIZE_GROUP(size_group));

Modified: trunk/src/ui_utils.h
===================================================================
--- trunk/src/ui_utils.h	2008-11-21 13:06:09 UTC (rev 3260)
+++ trunk/src/ui_utils.h	2008-11-21 13:34:58 UTC (rev 3261)
@@ -150,6 +150,8 @@
 
 GtkWidget *ui_button_new_with_image(const gchar *stock_id, const gchar *text);
 
+GtkWidget *ui_image_menu_item_new(const gchar *stock_id, const gchar *label);
+
 void ui_hbutton_box_copy_layout(GtkButtonBox *master, GtkButtonBox *copy);
 
 void ui_combo_box_add_to_history(GtkComboBox *combo, const gchar *text);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list