SF.net SVN: geany:[3094] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Wed Oct 15 11:59:34 UTC 2008


Revision: 3094
          http://geany.svn.sourceforge.net/geany/?rev=3094&view=rev
Author:   ntrel
Date:     2008-10-15 11:59:32 +0000 (Wed, 15 Oct 2008)

Log Message:
-----------
Show the tools menu separator if there are any items below it.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/geany.glade
    trunk/src/callbacks.c
    trunk/src/callbacks.h
    trunk/src/interface.c
    trunk/src/plugins.c
    trunk/src/plugins.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-10-14 17:47:26 UTC (rev 3093)
+++ trunk/ChangeLog	2008-10-15 11:59:32 UTC (rev 3094)
@@ -1,3 +1,10 @@
+2008-10-15  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/interface.c, src/callbacks.c, src/callbacks.h, src/plugins.c,
+   src/plugins.h, geany.glade:
+   Show the tools menu separator if there are any items below it.
+
+
 2008-10-14  Frank Lanitz  <frank(at)frank(dot)uvena(dot)de>
 
  * THANKS, src/about.c: Update of name of Korean translator. Thanks

Modified: trunk/geany.glade
===================================================================
--- trunk/geany.glade	2008-10-14 17:47:26 UTC (rev 3093)
+++ trunk/geany.glade	2008-10-15 11:59:32 UTC (rev 3094)
@@ -1427,7 +1427,6 @@
 	      <property name="visible">True</property>
 	      <property name="label" translatable="yes">_Tools</property>
 	      <property name="use_underline">True</property>
-	      <signal name="activate" handler="on_tools1_activate" last_modification_time="Tue, 20 Nov 2007 16:31:10 GMT"/>
 
 	      <child>
 		<widget class="GtkMenu" id="tools1_menu">

Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c	2008-10-14 17:47:26 UTC (rev 3093)
+++ trunk/src/callbacks.c	2008-10-15 11:59:32 UTC (rev 3094)
@@ -2112,16 +2112,6 @@
 }
 
 
-void
-on_tools1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-#ifdef HAVE_PLUGINS
-	plugins_update_tools_menu();
-#endif
-}
-
-
 gboolean
 on_escape_key_press_event              (GtkWidget       *widget,
                                         GdkEventKey     *event,

Modified: trunk/src/callbacks.h
===================================================================
--- trunk/src/callbacks.h	2008-10-14 17:47:26 UTC (rev 3093)
+++ trunk/src/callbacks.h	2008-10-15 11:59:32 UTC (rev 3094)
@@ -569,10 +569,6 @@
 on_page_setup1_activate                (GtkMenuItem     *menuitem,
                                         gpointer         user_data);
 
-void
-on_tools1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
 gboolean
 on_escape_key_press_event              (GtkWidget       *widget,
                                         GdkEventKey     *event,

Modified: trunk/src/interface.c
===================================================================
--- trunk/src/interface.c	2008-10-14 17:47:26 UTC (rev 3093)
+++ trunk/src/interface.c	2008-10-15 11:59:32 UTC (rev 3094)
@@ -1622,9 +1622,6 @@
   g_signal_connect ((gpointer) project_properties1, "activate",
                     G_CALLBACK (on_project_properties1_activate),
                     NULL);
-  g_signal_connect ((gpointer) tools1, "activate",
-                    G_CALLBACK (on_tools1_activate),
-                    NULL);
   g_signal_connect ((gpointer) menu_choose_color1, "activate",
                     G_CALLBACK (on_show_color_chooser1_activate),
                     NULL);

Modified: trunk/src/plugins.c
===================================================================
--- trunk/src/plugins.c	2008-10-14 17:47:26 UTC (rev 3093)
+++ trunk/src/plugins.c	2008-10-15 11:59:32 UTC (rev 3094)
@@ -786,6 +786,30 @@
 }
 
 
+static void on_tools_menu_show(GtkWidget *menu_item, G_GNUC_UNUSED gpointer user_data)
+{
+	GList *item, *list = gtk_container_get_children(GTK_CONTAINER(menu_item));
+	guint i = 0;
+	gboolean have_plugin_menu_items = FALSE;
+
+	for (item = list; item != NULL; item = g_list_next(item))
+	{
+		if (item->data == menu_separator)
+		{
+			if (i < g_list_length(list) - 1)
+			{
+				have_plugin_menu_items = TRUE;
+				break;
+			}
+		}
+		i++;
+	}
+	g_list_free(list);
+
+	ui_widget_show_hide(menu_separator, have_plugin_menu_items);
+}
+
+
 void plugins_init()
 {
 	GtkWidget *widget;
@@ -804,10 +828,9 @@
 
 	menu_separator = gtk_separator_menu_item_new();
 	gtk_container_add(GTK_CONTAINER(main_widgets.tools_menu), menu_separator);
+	g_signal_connect(main_widgets.tools_menu, "show", G_CALLBACK(on_tools_menu_show), NULL);
 
 	load_active_plugins();
-
-	plugins_update_tools_menu();
 }
 
 
@@ -902,28 +925,6 @@
 }
 
 
-static gint
-plugin_has_menu(Plugin *a, Plugin *b)
-{
-	if (a->fields.menu_item != NULL)
-		return 0;
-
-	return 1;
-}
-
-
-void plugins_update_tools_menu()
-{
-	gboolean found;
-
-	if (menu_separator == NULL)
-		return;
-
-	found = (g_list_find_custom(active_plugin_list, NULL, (GCompareFunc) plugin_has_menu) != NULL);
-	ui_widget_show_hide(menu_separator, found);
-}
-
-
 /* Plugin Manager */
 
 enum

Modified: trunk/src/plugins.h
===================================================================
--- trunk/src/plugins.h	2008-10-14 17:47:26 UTC (rev 3093)
+++ trunk/src/plugins.h	2008-10-15 11:59:32 UTC (rev 3094)
@@ -36,8 +36,6 @@
 
 void plugins_load_prefs(GKeyFile *config);
 
-void plugins_update_tools_menu(void);
-
 void plugins_update_document_sensitive(gboolean enabled);
 
 #endif


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