SF.net SVN: geany-plugins:[1370] trunk/geanygendoc
colombanw at users.sourceforge.net
colombanw at xxxxx
Thu May 20 21:20:15 UTC 2010
Revision: 1370
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1370&view=rev
Author: colombanw
Date: 2010-05-20 21:20:14 +0000 (Thu, 20 May 2010)
Log Message:
-----------
GeanyGenDoc: Use an helper function to add menu items
Modified Paths:
--------------
trunk/geanygendoc/TODO
trunk/geanygendoc/src/ggd-plugin.c
Modified: trunk/geanygendoc/TODO
===================================================================
--- trunk/geanygendoc/TODO 2010-05-16 22:07:00 UTC (rev 1369)
+++ trunk/geanygendoc/TODO 2010-05-20 21:20:14 UTC (rev 1370)
@@ -18,5 +18,3 @@
use valadoc for vala, but not with other languages.
In practice Doxygen seems the only (or close to be) option that would be
useful for more than one single language.
-
-* DOCUMENTATION!
Modified: trunk/geanygendoc/src/ggd-plugin.c
===================================================================
--- trunk/geanygendoc/src/ggd-plugin.c 2010-05-16 22:07:00 UTC (rev 1369)
+++ trunk/geanygendoc/src/ggd-plugin.c 2010-05-20 21:20:14 UTC (rev 1370)
@@ -338,6 +338,33 @@
gtk_widget_destroy (pdata->edit_menu_item);
}
+static GtkWidget *
+menu_add_item (GtkMenuShell *menu,
+ const gchar *mnemonic,
+ const gchar *tooltip,
+ const gchar *stock_image,
+ GCallback activate_handler,
+ gpointer activate_data)
+{
+ GtkWidget *item;
+
+ if (! stock_image) {
+ item = gtk_menu_item_new_with_mnemonic (mnemonic);
+ } else {
+ item = gtk_image_menu_item_new_with_mnemonic (mnemonic);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item),
+ gtk_image_new_from_stock (stock_image,
+ GTK_ICON_SIZE_MENU));
+ }
+ ui_widget_set_tooltip_text (item, tooltip);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ if (activate_handler) {
+ g_signal_connect (item, "activate", activate_handler, activate_data);
+ }
+
+ return item;
+}
+
/* creates plugin's tool's menu */
static GtkWidget *
create_tools_menu_item (void)
@@ -348,53 +375,47 @@
/* build submenu */
menu = gtk_menu_new ();
/* build "document current symbol" item */
- item = gtk_menu_item_new_with_mnemonic (_("_Document current symbol"));
- ui_widget_set_tooltip_text (item, _("Generate documentation for the "
- "currently selected symbol"));
- g_signal_connect (item, "activate",
- G_CALLBACK (document_current_symbol_handler), NULL);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ item = menu_add_item (GTK_MENU_SHELL (menu),
+ _("_Document current symbol"),
+ _("Generate documentation for the currently selected "
+ "symbol"),
+ NULL,
+ G_CALLBACK (document_current_symbol_handler), NULL);
ui_add_document_sensitive (item);
/* build "document all" item */
- item = gtk_menu_item_new_with_mnemonic (_("Document _all symbols"));
- ui_widget_set_tooltip_text (item, _("Generate documentation for all the "
- "symbols in the current document"));
- g_signal_connect (item, "activate",
- G_CALLBACK (document_all_symbols_handler), NULL);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ item = menu_add_item (GTK_MENU_SHELL (menu),
+ _("Document _all symbols"),
+ _("Generate documentation for all the symbols in the "
+ "current document"),
+ NULL,
+ G_CALLBACK (document_all_symbols_handler), NULL);
ui_add_document_sensitive (item);
/* separator */
item = gtk_separator_menu_item_new ();
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
/* build "reload" item */
- item = gtk_image_menu_item_new_with_mnemonic (_("_Reload configuration files"));
- ui_widget_set_tooltip_text (item, _("Force reloading of the configuration "
- "files"));
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item),
- gtk_image_new_from_stock (GTK_STOCK_REFRESH,
- GTK_ICON_SIZE_MENU));
- g_signal_connect (item, "activate",
- G_CALLBACK (reload_configuration_hanlder), NULL);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ item = menu_add_item (GTK_MENU_SHELL (menu),
+ _("_Reload configuration files"),
+ _("Force reloading of the configuration files"),
+ GTK_STOCK_REFRESH,
+ G_CALLBACK (reload_configuration_hanlder), NULL);
/* language filetypes opener */
- item = gtk_menu_item_new_with_mnemonic (_("_Edit current language configuration"));
- ui_widget_set_tooltip_text (item, _("Open the current language configuration "
- "file for editing"));
- g_signal_connect (item, "activate",
- G_CALLBACK (open_current_filetype_conf_handler), NULL);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ item = menu_add_item (GTK_MENU_SHELL (menu),
+ _("_Edit current language configuration"),
+ _("Open the current language configuration file for "
+ "editing"),
+ GTK_STOCK_EDIT,
+ G_CALLBACK (open_current_filetype_conf_handler), NULL);
ui_add_document_sensitive (item);
/* separator */
item = gtk_separator_menu_item_new ();
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
/* help/manual opening */
- item = gtk_image_menu_item_new_with_mnemonic (_("Open _manual"));
- ui_widget_set_tooltip_text (item, _("Open the manual in a browser"));
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item),
- gtk_image_new_from_stock (GTK_STOCK_HELP,
- GTK_ICON_SIZE_MENU));
- g_signal_connect (item, "activate", G_CALLBACK (open_manual_handler), NULL);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ item = menu_add_item (GTK_MENU_SHELL (menu),
+ _("Open _manual"),
+ _("Open the manual in a browser"),
+ GTK_STOCK_HELP,
+ G_CALLBACK (open_manual_handler), NULL);
/* build tools menu item */
item = gtk_menu_item_new_with_mnemonic (_("_Documentation generator"));
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list