[nautilus-actions] Check for nautilus_menu_provider_get_toolbar_items() function
- From: Pierre Wieser <pwieser src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus-actions] Check for nautilus_menu_provider_get_toolbar_items() function
- Date: Wed, 23 Feb 2011 23:55:58 +0000 (UTC)
commit c5e1d65f0d9b3fc049f55f36db42ac7151884b51
Author: Pierre Wieser <pwieser trychlos org>
Date: Thu Feb 24 00:26:32 2011 +0100
Check for nautilus_menu_provider_get_toolbar_items() function
Nautilus has removed this API starting with 2.91.90.
ChangeLog | 4 ++++
configure.ac | 3 +++
src/plugin-menu/nautilus-actions.c | 30 ++++++++++++------------------
3 files changed, 19 insertions(+), 18 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 8174d4a..644b817 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2011-02-23 Pierre Wieser <pwieser trychlos org>
+ * configure.ac:
+ * src/plugin-menu/nautilus-actions.c:
+ Check for nautilus_menu_provider_get_toolbar_items() function.
+
* src/core/na-selected-info.c (instance_init, instance_finalize):
Improve debug messages.
diff --git a/configure.ac b/configure.ac
index 4778afb..44d6f19 100644
--- a/configure.ac
+++ b/configure.ac
@@ -153,6 +153,9 @@ NA_CHECK_MODULE([NAUTILUS_EXTENSION],[libnautilus-extension >= 2.8])
AC_SUBST([NAUTILUS_ACTIONS_CFLAGS])
AC_SUBST([NAUTILUS_ACTIONS_LIBS])
+# starting with 2.91.90, Nautilus no more allows extensions to add toolbar items
+AC_CHECK_FUNCS([nautilus_menu_provider_get_toolbar_items])
+
# check for gtk-doc
# - starting with gtk-doc 1.15, multiple source dirs are directly handled
# by gtk-doc.make
diff --git a/src/plugin-menu/nautilus-actions.c b/src/plugin-menu/nautilus-actions.c
index 4e4b10a..7b68cab 100644
--- a/src/plugin-menu/nautilus-actions.c
+++ b/src/plugin-menu/nautilus-actions.c
@@ -83,7 +83,10 @@ static gchar *iabout_get_application_name( NAIAbout *instance );
static void menu_provider_iface_init( NautilusMenuProviderIface *iface );
static GList *menu_provider_get_background_items( NautilusMenuProvider *provider, GtkWidget *window, NautilusFileInfo *current_folder );
static GList *menu_provider_get_file_items( NautilusMenuProvider *provider, GtkWidget *window, GList *files );
+
+#ifdef HAVE_NAUTILUS_MENU_PROVIDER_GET_TOOLBAR_ITEMS
static GList *menu_provider_get_toolbar_items( NautilusMenuProvider *provider, GtkWidget *window, NautilusFileInfo *current_folder );
+#endif
static GList *get_menus_items( NautilusActions *plugin, guint target, GList *selection );
static GList *expand_tokens( GList *tree, NATokens *tokens );
@@ -180,7 +183,8 @@ instance_init( GTypeInstance *instance, gpointer klass )
g_return_if_fail( NAUTILUS_IS_ACTIONS( instance ));
- g_debug( "%s: instance=%p, klass=%p", thisfn, ( void * ) instance, ( void * ) klass );
+ g_debug( "%s: instance=%p (%s), klass=%p",
+ thisfn, ( void * ) instance, G_OBJECT_TYPE_NAME( instance ), ( void * ) klass );
self = NAUTILUS_ACTIONS( instance );
@@ -300,23 +304,6 @@ instance_finalize( GObject *object )
}
}
-/*
- * This function notifies Nautilus file manager that the context menu
- * items may have changed, and that it should reload them.
- *
- * Patch has been provided by Frederic Ruaudel, the initial author of
- * Nautilus-Actions, and applied on Nautilus 2.15.4 development branch
- * on 2006-06-16. It was released with Nautilus 2.16.0
- */
-#ifndef HAVE_NAUTILUS_MENU_PROVIDER_EMIT_ITEMS_UPDATED_SIGNAL
-static void nautilus_menu_provider_emit_items_updated_signal (NautilusMenuProvider *provider)
-{
- /* -> fake function for backward compatibility
- * -> do nothing
- */
-}
-#endif
-
static void
iabout_iface_init( NAIAboutInterface *iface )
{
@@ -343,7 +330,10 @@ menu_provider_iface_init( NautilusMenuProviderIface *iface )
iface->get_file_items = menu_provider_get_file_items;
iface->get_background_items = menu_provider_get_background_items;
+
+#ifdef HAVE_NAUTILUS_MENU_PROVIDER_GET_TOOLBAR_ITEMS
iface->get_toolbar_items = menu_provider_get_toolbar_items;
+#endif
}
/*
@@ -436,10 +426,13 @@ menu_provider_get_file_items( NautilusMenuProvider *provider, GtkWidget *window,
return( nautilus_menus_list );
}
+#ifdef HAVE_NAUTILUS_MENU_PROVIDER_GET_TOOLBAR_ITEMS
/*
* as of 2.26, this function is only called for folders, but for the
* desktop (x-nautilus-desktop:///) which seems to be only called by
* get_background_items ; also, only actions (not menus) are displayed
+ *
+ * the API is removed starting with Nautilus 2.91.90
*/
static GList *
menu_provider_get_toolbar_items( NautilusMenuProvider *provider, GtkWidget *window, NautilusFileInfo *current_folder )
@@ -468,6 +461,7 @@ menu_provider_get_toolbar_items( NautilusMenuProvider *provider, GtkWidget *wind
return( nautilus_menus_list );
}
+#endif
static GList *
get_menus_items( NautilusActions *plugin, guint target, GList *selection )
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]