summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2010-06-21 18:48:09 +0000
committerPacho Ramos <pacho@gentoo.org>2010-06-21 18:48:09 +0000
commit884a2d1f8f7aaea9e8d1c674e4eded904712c9ad (patch)
tree6d4ad8023e36f6e1585d162f94ecae063f7dec30 /gnome-extra/nautilus-sendto/files
parentVersion bump. (diff)
downloadgentoo-2-884a2d1f8f7aaea9e8d1c674e4eded904712c9ad.tar.gz
gentoo-2-884a2d1f8f7aaea9e8d1c674e4eded904712c9ad.tar.bz2
gentoo-2-884a2d1f8f7aaea9e8d1c674e4eded904712c9ad.zip
Revision bump with upstream bugfixes that will allow us to re-enable mail support
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'gnome-extra/nautilus-sendto/files')
-rw-r--r--gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-gseal-enable.patch34
-rw-r--r--gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-item-focus.patch32
-rw-r--r--gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-empathy.patch387
-rw-r--r--gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-old-evo.patch273
-rw-r--r--gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-shadowed-mounts.patch83
-rw-r--r--gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-thunderbird-command.patch36
-rw-r--r--gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-dbus.patch24
-rw-r--r--gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-init.patch23
-rw-r--r--gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload.patch120
9 files changed, 1012 insertions, 0 deletions
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-gseal-enable.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-gseal-enable.patch
new file mode 100644
index 000000000000..5875fcd902ae
--- /dev/null
+++ b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-gseal-enable.patch
@@ -0,0 +1,34 @@
+From 6d9294461935516991082e535a09b28d27105abe Mon Sep 17 00:00:00 2001
+From: Andre Klapper <a9016009@gmx.de>
+Date: Sat, 29 May 2010 01:42:30 +0000
+Subject: Compile with -DGSEAL_ENABLE. Fixes bug 612493.
+
+---
+diff --git a/src/nautilus-sendto-command.c b/src/nautilus-sendto-command.c
+index 094fe62..674d774 100644
+--- a/src/nautilus-sendto-command.c
++++ b/src/nautilus-sendto-command.c
+@@ -335,7 +335,7 @@ static void
+ send_if_no_pack_cb (GtkWidget *widget, NS_ui *ui)
+ {
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (ui->pack_checkbutton))) {
+- if (GTK_WIDGET_IS_SENSITIVE (ui->pack_entry)) {
++ if (gtk_widget_is_sensitive (ui->pack_entry)) {
+ gtk_widget_grab_focus (ui->pack_entry);
+ } else {
+ gtk_widget_grab_focus (ui->pack_checkbutton);
+diff --git a/src/plugins/evolution/e-contact-entry.c b/src/plugins/evolution/e-contact-entry.c
+index 69ffa3d..e190290 100644
+--- a/src/plugins/evolution/e-contact-entry.c
++++ b/src/plugins/evolution/e-contact-entry.c
+@@ -385,7 +385,7 @@ entry_changed_cb (GtkEditable *editable, gpointer user_data)
+ EContactEntry *entry;
+ entry = E_CONTACT_ENTRY (editable);
+
+- if (GTK_ENTRY (editable)->text_length >= entry->priv->lookup_length) {
++ if (gtk_entry_get_text_length (GTK_ENTRY (editable)) >= entry->priv->lookup_length) {
+ GList *l;
+ EBookQuery *query;
+
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-item-focus.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-item-focus.patch
new file mode 100644
index 000000000000..c76602ea5271
--- /dev/null
+++ b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-item-focus.patch
@@ -0,0 +1,32 @@
+From 90859ca39bb877b665bb99da73c47569dc6a55b0 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 16:13:01 +0000
+Subject: Make the last selected medium's widget grab focus
+
+https://bugzilla.gnome.org/show_bug.cgi?id=615214
+---
+diff --git a/src/nautilus-sendto-command.c b/src/nautilus-sendto-command.c
+index 674d774..dd21620 100644
+--- a/src/nautilus-sendto-command.c
++++ b/src/nautilus-sendto-command.c
+@@ -429,6 +429,7 @@ set_model_for_options_combobox (NS_ui *ui)
+ GtkListStore *model;
+ GtkIconTheme *it;
+ GtkCellRenderer *renderer;
++ GtkWidget *widget;
+ GList *aux;
+ NstPlugin *p;
+ char *last_used = NULL;
+@@ -484,6 +485,10 @@ set_model_for_options_combobox (NS_ui *ui)
+
+ gtk_combo_box_set_active (GTK_COMBO_BOX (ui->options_combobox), option);
+
++ /* Grab the focus for the most recently used widget */
++ widget = g_list_nth_data (ui->contact_widgets, option);
++ gtk_widget_grab_focus (widget);
++
+ return last_used_support_dirs;
+ }
+
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-empathy.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-empathy.patch
new file mode 100644
index 000000000000..b9b330952ff1
--- /dev/null
+++ b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-empathy.patch
@@ -0,0 +1,387 @@
+From 91aa1610f6ed1d36abe1d7bf1f607616cf8187da Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 16:39:13 +0000
+Subject: Remove Empathy plugin
+
+It now lives in Empathy itself.
+---
+diff --git a/configure.in b/configure.in
+index d7318d9..8781f50 100644
+--- a/configure.in
++++ b/configure.in
+@@ -38,8 +38,6 @@ NAUTILUS_EXTENSION=2.13.3
+ DBUS_REQUIRED=1.0
+ DBUS_GLIB_REQUIRED=0.60
+ GUPNP_REQUIRED=0.13
+-EMPATHY_REQUIRED=2.27.91
+-EMPATHY_GTK_REQUIRED=2.27.91
+
+ AC_SUBST(GLIB_REQUIRED)
+ AC_SUBST(GTHREAD_REQUIRED)
+@@ -50,8 +48,6 @@ AC_SUBST(NAUTILUS_EXTENSION)
+ AC_SUBST(BLUETOOTH_REQUIRED)
+ AC_SUBST(DBUS_REQUIRED)
+ AC_SUBST(GUPNP_REQUIRED)
+-AC_SUBST(EMPATHY_REQUIRED)
+-AC_SUBST(EMPATHY_GTK_REQUIRED)
+
+ PKG_CHECK_MODULES(NAUTILUS_SENDTO,\
+ glib-2.0 >= $GLIB_REQUIRED \
+@@ -82,7 +78,7 @@ AC_MSG_NOTICE([installing nautilus plugin in ${ac_with_nautilusdir}])
+ AC_SUBST([NAUTILUS_EXTENSION_DIR],[${ac_with_nautilusdir}])
+
+ # The full list of plugins
+-allowed_plugins="bluetooth empathy evolution gajim nautilus-burn pidgin removable-devices upnp"
++allowed_plugins="bluetooth evolution gajim nautilus-burn pidgin removable-devices upnp"
+
+ plugin_error_or_ignore()
+ {
+@@ -141,14 +137,6 @@ for plugin in ${used_plugins}; do
+ add_plugin="0"
+ fi
+ ;;
+- empathy)
+- PKG_CHECK_MODULES(EMPATHY, libempathy >= $EMPATHY_REQUIRED libempathy-gtk >= $EMPATHY_GTK_REQUIRED libempathy-gtk <= 2.29.1 gio-2.0 telepathy-glib,
+- enable_empathy=yes, enable_empathy=no)
+- if test "${enable_empathy}" != "yes" ; then
+- plugin_error_or_ignore "you need libempathy and libempathy-gtk to build the Empathy plugin"
+- add_plugin="0"
+- fi
+- ;;
+ evolution)
+ PKG_CHECK_MODULES(NST_EBOOK, libebook-1.2 >= $EBOOK_REQUIRED,
+ enable_evolution=yes, enable_evolution=no)
+@@ -269,7 +257,6 @@ src/Makefile
+ src/nautilus-sendto.pc
+ src/plugins/Makefile
+ src/plugins/bluetooth/Makefile
+-src/plugins/empathy/Makefile
+ src/plugins/evolution/Makefile
+ src/plugins/gajim/Makefile
+ src/plugins/nautilus-burn/Makefile
+diff --git a/src/plugins/empathy/Makefile.am b/src/plugins/empathy/Makefile.am
+deleted file mode 100644
+index 4e787d1..0000000
+--- a/src/plugins/empathy/Makefile.am
++++ b/dev/null
+@@ -1,19 +0,0 @@
+-plugindir = $(libdir)/nautilus-sendto/plugins
+-
+-INCLUDES = \
+- -DDATADIR=\"$(datadir)\" \
+- -DICONDIR=\"$(icondir)\" \
+- -DLOCALEDIR="\"$(datadir)/locale\"" \
+- -I$(top_srcdir)/src \
+- -I$(top_builddir) \
+- $(NAUTILUS_SENDTO_CFLAGS) \
+- $(WARN_CFLAGS) \
+- $(DISABLE_DEPRECATED) \
+- $(EMPATHY_CFLAGS)
+-
+-plugin_LTLIBRARIES = libnstempathy.la
+-
+-libnstempathy_la_SOURCES = empathy.c
+-libnstempathy_la_LDFLAGS = -module -avoid-version
+-libnstempathy_la_LIBADD = $(EMPATHY_LIBS) $(NAUTILUS_SENDTO_LIBS)
+-
+diff --git a/src/plugins/empathy/empathy.c b/src/plugins/empathy/empathy.c
+deleted file mode 100644
+index f84f789..0000000
+--- a/src/plugins/empathy/empathy.c
++++ b/dev/null
+@@ -1,293 +0,0 @@
+-/*
+- * Copyright (C) 2008, 2009 Collabora Ltd.
+- *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License as
+- * published by the Free Software Foundation; either version 2 of the
+- * License, or (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * General Public License for more av.
+- *
+- * You should have received a copy of the GNU General Public
+- * License along with this program; if not, write to the
+- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+- * Boston, MA 02110-1301 USA.
+- *
+- * Authors: Jonny Lamb <jonny.lamb@collabora.co.uk>
+- * Cosimo Cecchi <cosimo.cecchi@collabora.co.uk>
+- */
+-
+-#include "config.h"
+-
+-#include <glib.h>
+-#include <glib/gi18n-lib.h>
+-#include <gtk/gtk.h>
+-#include <gio/gio.h>
+-
+-#include <telepathy-glib/enums.h>
+-
+-#include <libempathy/empathy-contact.h>
+-#include <libempathy/empathy-debug.h>
+-#include <libempathy/empathy-contact-manager.h>
+-#include <libempathy/empathy-ft-factory.h>
+-#include <libempathy/empathy-ft-handler.h>
+-#include <libempathy/empathy-tp-file.h>
+-#include <libempathy/empathy-account-manager.h>
+-
+-#include <libempathy-gtk/empathy-contact-selector.h>
+-#include <libempathy-gtk/empathy-ui-utils.h>
+-
+-#include "nautilus-sendto-plugin.h"
+-
+-static EmpathyAccountManager *acc_manager = NULL;
+-static EmpathyFTFactory *factory = NULL;
+-static guint transfers = 0;
+-
+-static gboolean destroy (NstPlugin *plugin);
+-
+-static void
+-handle_account_manager_ready ()
+-{
+- TpConnectionPresenceType presence;
+-
+- presence = empathy_account_manager_get_global_presence (acc_manager,
+- NULL, NULL);
+-
+- if (presence < TP_CONNECTION_PRESENCE_TYPE_AVAILABLE)
+- return;
+-}
+-
+-static void
+-acc_manager_ready_cb (EmpathyAccountManager *am,
+- GParamSpec *pspec,
+- gpointer _user_data)
+-{
+- if (!empathy_account_manager_is_ready (am))
+- return;
+-
+- handle_account_manager_ready ();
+-}
+-
+-static gboolean
+-init (NstPlugin *plugin)
+-{
+- g_print ("Init %s plugin\n", plugin->info->id);
+-
+- bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+-
+- empathy_gtk_init ();
+-
+- acc_manager = empathy_account_manager_dup_singleton ();
+-
+- if (empathy_account_manager_is_ready (acc_manager))
+- handle_account_manager_ready ();
+- else
+- g_signal_connect (acc_manager, "notify::ready",
+- G_CALLBACK (acc_manager_ready_cb), NULL);
+-
+- return TRUE;
+-}
+-
+-static GtkWidget *
+-get_contacts_widget (NstPlugin *plugin)
+-{
+- EmpathyContactManager *manager;
+- GtkWidget *selector;
+-
+- manager = empathy_contact_manager_dup_singleton ();
+- selector = empathy_contact_selector_new (EMPATHY_CONTACT_LIST (manager));
+-
+- empathy_contact_selector_set_visible (EMPATHY_CONTACT_SELECTOR (selector),
+- (EmpathyContactSelectorFilterFunc) empathy_contact_can_send_files, NULL);
+-
+- g_object_unref (manager);
+-
+- return selector;
+-}
+-
+-static EmpathyContact *
+-get_selected_contact (GtkWidget *contact_widget)
+-{
+- EmpathyContact *contact;
+- GtkTreeModel *model;
+- GtkTreeIter iter;
+-
+- if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (contact_widget), &iter))
+- return NULL;
+-
+- model = gtk_combo_box_get_model (GTK_COMBO_BOX (contact_widget));
+- gtk_tree_model_get (model, &iter,
+- EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact, -1);
+-
+- return contact;
+-}
+-
+-static gboolean
+-validate_destination (NstPlugin *plugin,
+- GtkWidget *contact_widget,
+- gchar **error)
+-{
+- EmpathyContact *contact = NULL;
+- gboolean ret = TRUE;
+-
+- contact = get_selected_contact (contact_widget);
+-
+- if (!contact)
+- return FALSE;
+-
+- if (!empathy_contact_can_send_files (contact))
+- {
+- *error = g_strdup (_("The contact selected cannot receive files."));
+- ret = FALSE;
+- }
+-
+- if (ret && !empathy_contact_is_online (contact))
+- {
+- *error = g_strdup (_("The contact selected is offline."));
+- ret = FALSE;
+- }
+-
+- g_object_unref (contact);
+-
+- return ret;
+-}
+-
+-static void
+-quit (void)
+-{
+- if (--transfers > 0)
+- return;
+-
+- destroy (NULL);
+- gtk_main_quit ();
+-}
+-
+-static void
+-transfer_done_cb (EmpathyFTHandler *handler,
+- EmpathyTpFile *tp_file,
+- NstPlugin *plugin)
+-{
+- quit ();
+-}
+-
+-static void
+-transfer_error_cb (EmpathyFTHandler *handler,
+- GError *error,
+- NstPlugin *plugin)
+-{
+- quit ();
+-}
+-
+-static void
+-error_dialog_cb (GtkDialog *dialog,
+- gint arg,
+- gpointer user_data)
+-{
+- gtk_widget_destroy (GTK_WIDGET (dialog));
+- quit ();
+-}
+-
+-static void
+-handler_ready_cb (EmpathyFTFactory *factory,
+- EmpathyFTHandler *handler,
+- GError *error,
+- NstPlugin *plugin)
+-{
+- if (error != NULL)
+- {
+- GtkWidget *dialog;
+- dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR,
+- GTK_BUTTONS_CLOSE, "%s",
+- error->message ? error->message : _("No error message"));
+-
+- g_signal_connect (dialog, "response", G_CALLBACK (error_dialog_cb), NULL);
+- gtk_widget_show (dialog);
+- }
+- else
+- {
+- g_signal_connect (handler, "transfer-done",
+- G_CALLBACK (transfer_done_cb), plugin);
+- g_signal_connect (handler, "transfer-error",
+- G_CALLBACK (transfer_error_cb), plugin);
+-
+- empathy_ft_handler_start_transfer (handler);
+- }
+-}
+-
+-static gboolean
+-send_files (NstPlugin *plugin,
+- GtkWidget *contact_widget,
+- GList *file_list)
+-{
+- EmpathyContact *contact;
+- GList *l;
+-
+- contact = get_selected_contact (contact_widget);
+-
+- if (!contact)
+- return FALSE;
+-
+- factory = empathy_ft_factory_dup_singleton ();
+-
+- g_signal_connect (factory, "new-ft-handler",
+- G_CALLBACK (handler_ready_cb), plugin);
+-
+- for (l = file_list; l; l = l->next)
+- {
+- gchar *path = l->data;
+- GFile *file;
+-
+- file = g_file_new_for_uri (path);
+-
+- ++transfers;
+-
+- empathy_ft_factory_new_transfer_outgoing (factory,
+- contact, file);
+-
+- g_object_unref (file);
+- }
+-
+- g_object_unref (contact);
+-
+- if (transfers == 0)
+- {
+- destroy (NULL);
+- return TRUE;
+- }
+-
+- return FALSE;
+-}
+-
+-static gboolean
+-destroy (NstPlugin *plugin)
+-{
+- if (acc_manager)
+- g_object_unref (acc_manager);
+-
+- if (factory)
+- g_object_unref (factory);
+-
+- return TRUE;
+-}
+-
+-static
+-NstPluginInfo plugin_info = {
+- "im",
+- "empathy",
+- N_("Instant Message (Empathy)"),
+- NULL,
+- TRUE,
+- NAUTILUS_CAPS_NONE,
+- init,
+- get_contacts_widget,
+- validate_destination,
+- send_files,
+- destroy
+-};
+-
+-NST_INIT_PLUGIN (plugin_info)
+-
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-old-evo.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-old-evo.patch
new file mode 100644
index 000000000000..8ef133aeeaa2
--- /dev/null
+++ b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-remove-old-evo.patch
@@ -0,0 +1,273 @@
+From 6756a352ce9560a343aa4f31c96ab9247ee20b83 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 16:36:38 +0000
+Subject: Remove plugin to use sendto from Evolution
+
+And not the plugin to use evolution-data-server in nautilus-sendto.
+---
+diff --git a/Makefile.am b/Makefile.am
+index a814bb1..be84bf5 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,10 +1,4 @@
+-if HAVE_EVOLUTION
+-EVOLUTION_PLUGIN_DIR=evolution
+-endif
+-
+-SUBDIRS = src $(EVOLUTION_PLUGIN_DIR) docs po
+-
+-DIST_SUBDIRS = evolution src docs po
++SUBDIRS = src docs po
+
+ DISTCHECK_CONFIGURE_FLAGS = --disable-schemas-install --enable-gtk-doc --with-nautilusdir='$${libdir}/nautilus/extensions-2.0-distcheck'
+
+diff --git a/configure.in b/configure.in
+index 214be7c..d7318d9 100644
+--- a/configure.in
++++ b/configure.in
+@@ -81,18 +81,6 @@ fi
+ AC_MSG_NOTICE([installing nautilus plugin in ${ac_with_nautilusdir}])
+ AC_SUBST([NAUTILUS_EXTENSION_DIR],[${ac_with_nautilusdir}])
+
+-dnl Get details about evolution
+-
+-PKG_CHECK_MODULES(EVOLUTION, evolution-plugin < 2.27.1,
+- enable_evo=yes, enable_evo=no)
+-AM_CONDITIONAL(HAVE_EVOLUTION, test "x$enable_evo" = "xyes")
+-
+-plugindir=`$PKG_CONFIG --variable=plugindir evolution-plugin`
+-AC_SUBST(plugindir)
+-
+-EVO_PLUGIN_RULE=$srcdir/evolution/plugin.mk
+-AC_SUBST_FILE(EVO_PLUGIN_RULE)
+-
+ # The full list of plugins
+ allowed_plugins="bluetooth empathy evolution gajim nautilus-burn pidgin removable-devices upnp"
+
+@@ -291,7 +279,6 @@ src/plugins/upnp/Makefile
+ docs/Makefile
+ docs/nautilus-sendto/Makefile
+ docs/nautilus-sendto/version.xml
+-evolution/Makefile
+ po/Makefile.in
+ ])
+
+@@ -315,11 +302,5 @@ else
+ AC_MSG_NOTICE([ No nautilus-sendto plugins enabled])
+ fi
+
+-if test "x$enable_evo" = "xyes"; then
+- AC_MSG_NOTICE([** Evolution send-to plugin ( < 2.27.1) enabled])
+-else
+- AC_MSG_NOTICE([ Evolution send-to plugin ( < 2.27.1) disabled])
+-fi
+-
+ echo " "
+ echo "-------------------------------------------------------"
+diff --git a/evolution/Makefile.am b/evolution/Makefile.am
+deleted file mode 100644
+index a216ed0..0000000
+--- a/evolution/Makefile.am
++++ b/dev/null
+@@ -1,17 +0,0 @@
+-INCLUDES = \
+- $(EVOLUTION_CFLAGS) \
+- $(WARN_CFLAGS)
+-
+-@EVO_PLUGIN_RULE@
+-
+-plugin_DATA = org-gnome-evolution-send-attachments-to.eplug
+-plugin_LTLIBRARIES = liborg-gnome-evolution-send-attachments-to.la
+-
+-liborg_gnome_evolution_send_attachments_to_la_SOURCES = nautilus-sendto.c
+-liborg_gnome_evolution_send_attachments_to_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
+-liborg_gnome_evolution_send_attachments_to_la_LIBADD = $(EVOLUTION_LIBS)
+-
+-EXTRA_DIST = org-gnome-evolution-send-attachments-to.eplug.xml plugin.mk
+-
+-BUILT_SOURCES = $(plugin_DATA)
+-CLEANFILES = $(BUILT_SOURCES)
+diff --git a/evolution/nautilus-sendto.c b/evolution/nautilus-sendto.c
+deleted file mode 100644
+index 01728ae..0000000
+--- a/evolution/nautilus-sendto.c
++++ b/dev/null
+@@ -1,112 +0,0 @@
+-/*
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public
+- * License as published by the Free Software Foundation; either
+- * version 2 of the License, or (at your option) version 3.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * Lesser General Public License for more details.
+- *
+- * You should have received a copy of the GNU Lesser General Public
+- * License along with the program; if not, see <http://www.gnu.org/licenses/>
+- *
+- *
+- * Authors:
+- * Johnny Jacob <johnnyjacob@gmail.com>
+- *
+- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+- *
+- */
+-
+-#include <config.h>
+-
+-#include <glib.h>
+-#include <gtk/gtk.h>
+-#include <glib/gi18n-lib.h>
+-#include <e-util/e-config.h>
+-#include <e-util/e-popup.h>
+-#include <mail/em-popup.h>
+-#include <mail/em-menu.h>
+-#include <mail/em-utils.h>
+-#include <misc/e-attachment.h>
+-
+-static void send_file (EPlugin *ep, EPopupTarget *t, void *data);
+-void org_gnome_evolution_send_file_attachments (EPlugin *ep, EMPopupTargetAttachments *t);
+-void org_gnome_evolution_send_file_part (EPlugin *ep, EMPopupTargetPart *t);
+-
+-static void
+-popup_free (EPopup *ep, GSList *items, void *data)
+-{
+- g_slist_free (items);
+-}
+-
+-static EPopupItem popup_attachment_items[] = {
+- { E_POPUP_BAR, "25.display.00"},
+- { E_POPUP_ITEM, "25.display.01", N_("_Send to..."), (EPopupActivateFunc)send_file, NULL, "document-send"}
+-};
+-
+-void org_gnome_evolution_send_file_attachments (EPlugin *ep, EMPopupTargetAttachments *t)
+-{
+- GSList *menus = NULL;
+- int len = 0;
+-
+- g_message ("org_gnome_evolution_send_file_attachments called");
+-
+- len = g_slist_length(t->attachments);
+-
+- if (len != 1)
+- return;
+-
+- menus = g_slist_prepend (menus, &popup_attachment_items[0]);
+- menus = g_slist_prepend (menus, &popup_attachment_items[1]);
+- e_popup_add_items (t->target.popup, menus, GETTEXT_PACKAGE, popup_free, t);
+-}
+-
+-void org_gnome_evolution_send_file_part (EPlugin *ep, EMPopupTargetPart *t)
+-{
+- GSList *menus = NULL;
+-
+- g_message ("org_gnome_evolution_send_file_attachments called");
+-
+- menus = g_slist_prepend (menus, &popup_attachment_items[0]);
+- menus = g_slist_prepend (menus, &popup_attachment_items[1]);
+- e_popup_add_items (t->target.popup, menus, GETTEXT_PACKAGE, popup_free, t);
+-}
+-
+-static void
+-send_file (EPlugin *ep, EPopupTarget *t, void *data)
+-{
+- CamelMimePart *part;
+- char *path;
+- EPopupTarget *target = (EPopupTarget *) data;
+- GPtrArray *argv;
+- gboolean ret;
+- GError *err = NULL;
+-
+- if (target->type == EM_POPUP_TARGET_ATTACHMENTS)
+- part = ((EAttachment *) ((EMPopupTargetAttachments *) target)->attachments->data)->body;
+- else
+- part = ((EMPopupTargetPart *) target)->part;
+-
+- path = em_utils_temp_save_part (NULL, part, FALSE);
+- g_message ("saved part as %s", path);
+-
+- argv = g_ptr_array_new ();
+- g_ptr_array_add (argv, "nautilus-sendto");
+- g_ptr_array_add (argv, path);
+- g_ptr_array_add (argv, NULL);
+-
+- ret = g_spawn_async (NULL, (gchar **) argv->pdata,
+- NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &err);
+- g_ptr_array_free (argv, TRUE);
+-
+- if (ret == FALSE) {
+- g_warning ("Couldn't send the attachment: %s", err->message);
+- g_error_free (err);
+- }
+-
+- g_free (path);
+-}
+-
+diff --git a/evolution/org-gnome-evolution-send-attachments-to.eplug.xml b/evolution/org-gnome-evolution-send-attachments-to.eplug.xml
+deleted file mode 100644
+index b6f7f27..0000000
+--- a/evolution/org-gnome-evolution-send-attachments-to.eplug.xml
++++ b/dev/null
+@@ -1,28 +0,0 @@
+-<?xml version="1.0"?>
+-<e-plugin-list>
+- <!-- the path to the shared library -->
+- <e-plugin
+- id="org-gnome-evolution-send-attachments-to"
+- type="shlib"
+- location="@PLUGINDIR@/liborg-gnome-evolution-send-attachments-to@SOEXT@"
+- _name="Send to..."
+- domain="@GETTEXT_PACKAGE@">
+-
+- <author name="Bastien Nocera" email="hadess@hadess.net"/>
+- <_description>Send files to remote devices, or people</_description>
+- <!-- Attachment to received e-mail -->
+- <hook class="org.gnome.evolution.mail.popup:1.0">
+- <menu id="org.gnome.evolution.mail.formathtmldisplay.popup" target="part" factory="org_gnome_evolution_send_file_part">
+- </menu>
+- </hook>
+- <hook class="org.gnome.evolution.mail.popup:1.0">
+- <menu id="org.gnome.evolution.mail.attachments.popup" target="attachments" factory="org_gnome_evolution_send_file_attachments">
+- </menu>
+- </hook>
+- <!-- Right-click in the attachment bar when creating a new mail -->
+- <hook class="org.gnome.evolution.mail.popup:1.0">
+- <menu id="org.gnome.evolution.mail.composer.attachmentbar.popup" target="attachments" factory="org_gnome_evolution_send_file_attachments">
+- </menu>
+- </hook>
+- </e-plugin>
+-</e-plugin-list>
+diff --git a/evolution/plugin.mk b/evolution/plugin.mk
+deleted file mode 100644
+index a98aaf6..0000000
+--- a/evolution/plugin.mk
++++ b/dev/null
+@@ -1,11 +0,0 @@
+-%.eplug: %.eplug.in
+- sed -e 's|\@PLUGINDIR\@|$(plugindir)|' \
+- -e 's|\@SOEXT\@|$(SOEXT)|' \
+- -e 's|\@GETTEXT_PACKAGE\@|$(GETTEXT_PACKAGE)|' \
+- -e 's|\@LOCALEDIR\@|$(localedir)|' $< > $@
+-
+-%.eplug.in: %.eplug.xml
+- LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@
+-
+-%.error: %.error.xml
+- LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 69ca4ea..a66fef3 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -1,8 +1,6 @@
+ # List of source files containing translatable strings.
+ # Please keep this file sorted alphabetically.
+ nst.schemas.in
+-evolution/nautilus-sendto.c
+-evolution/org-gnome-evolution-send-attachments-to.eplug.xml
+ src/nautilus-nste.c
+ src/nautilus-nste.h
+ src/nautilus-sendto-command.c
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-shadowed-mounts.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-shadowed-mounts.patch
new file mode 100644
index 000000000000..7aef494c6238
--- /dev/null
+++ b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-shadowed-mounts.patch
@@ -0,0 +1,83 @@
+From c4f591ebe5af99c0483dd04a608cebda9bbffe49 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Thu, 10 Jun 2010 17:34:08 +0000
+Subject: Fix handling of shadowed mounts
+
+Fix duplicate mounts appearing in the "removable device" section
+when a mount is shadowed.
+---
+diff --git a/src/plugins/removable-devices/removable-devices.c b/src/plugins/removable-devices/removable-devices.c
+index 5984ec7..68022c4 100644
+--- a/src/plugins/removable-devices/removable-devices.c
++++ b/src/plugins/removable-devices/removable-devices.c
+@@ -43,10 +43,11 @@ cb_mount_removed (GVolumeMonitor *volume_monitor,
+ {
+ GtkTreeIter iter;
+ GtkListStore *store;
+- gboolean b;
++ gboolean b, found;
+
+ store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (cb)));
+ b = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter);
++ found = FALSE;
+
+ while (b) {
+ GMount *m;
+@@ -54,11 +55,21 @@ cb_mount_removed (GVolumeMonitor *volume_monitor,
+ if (m == mount) {
+ gtk_list_store_remove (store, &iter);
+ g_object_unref (m);
++ found = TRUE;
+ break;
+ }
+ g_object_unref (m);
+ b = gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter);
+ }
++
++ /* If a mount was removed */
++ if (found != FALSE) {
++ /* And it was the selected one */
++ if (gtk_combo_box_get_active (GTK_COMBO_BOX (cb)) == -1) {
++ /* Select the first item in the list */
++ gtk_combo_box_set_active (GTK_COMBO_BOX (cb), 0);
++ }
++ }
+ }
+
+ static void
+@@ -70,6 +81,11 @@ cb_mount_changed (GVolumeMonitor *volume_monitor,
+ gboolean b;
+ GtkListStore *store;
+
++ if (g_mount_is_shadowed (mount) != FALSE) {
++ cb_mount_removed (volume_monitor, mount, plugin);
++ return;
++ }
++
+ store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (cb)));
+ b = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter);
+
+@@ -104,6 +120,9 @@ cb_mount_added (GVolumeMonitor *volume_monitor,
+ GtkTreeModel *model;
+ gboolean select_added;
+
++ if (g_mount_is_shadowed (mount) != FALSE)
++ return;
++
+ name = g_mount_get_name (mount);
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX (cb));
+
+@@ -152,6 +171,11 @@ get_contacts_widget (NstPlugin *plugin)
+ for (l = mounts; l != NULL; l = l->next) {
+ char *name;
+
++ if (g_mount_is_shadowed (l->data) != FALSE) {
++ g_object_unref (l->data);
++ continue;
++ }
++
+ name = g_mount_get_name (l->data);
+
+ gtk_list_store_append (store, &iter);
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-thunderbird-command.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-thunderbird-command.patch
new file mode 100644
index 000000000000..b6a0cc6e4d33
--- /dev/null
+++ b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-thunderbird-command.patch
@@ -0,0 +1,36 @@
+From 52ed3fb5981cddcd84d787912fa548043ff568da Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 16:29:08 +0000
+Subject: Fix thunderbird's mailto command
+
+Seeing as it's the only mailer to be such a pain.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=614222
+---
+diff --git a/src/plugins/evolution/evolution.c b/src/plugins/evolution/evolution.c
+index a25ade1..8e1dd0c 100644
+--- a/src/plugins/evolution/evolution.c
++++ b/src/plugins/evolution/evolution.c
+@@ -99,9 +99,18 @@ init (NstPlugin *plugin)
+ /* Find what the default mailer is */
+ if (strstr (mail_cmd, "balsa"))
+ type = MAILER_BALSA;
+- else if (strstr (mail_cmd, "thunder") || strstr (mail_cmd, "seamonkey"))
++ else if (strstr (mail_cmd, "thunder") || strstr (mail_cmd, "seamonkey")) {
++ char **strv;
++
+ type = MAILER_THUNDERBIRD;
+- else if (strstr (mail_cmd, "sylpheed") || strstr (mail_cmd, "claws"))
++
++ /* Thunderbird sucks, see
++ * https://bugzilla.gnome.org/show_bug.cgi?id=614222 */
++ strv = g_strsplit (mail_cmd, " ", -1);
++ g_free (mail_cmd);
++ mail_cmd = g_strdup_printf ("%s %%s", strv[0]);
++ g_strfreev (strv);
++ } else if (strstr (mail_cmd, "sylpheed") || strstr (mail_cmd, "claws"))
+ type = MAILER_SYLPHEED;
+ else if (strstr (mail_cmd, "anjal"))
+ type = MAILER_EVO;
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-dbus.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-dbus.patch
new file mode 100644
index 000000000000..f64c27ca3453
--- /dev/null
+++ b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-dbus.patch
@@ -0,0 +1,24 @@
+From 99a19ae7549b8ad8f874748cbc89cda9b0e4d9a5 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 16:42:19 +0000
+Subject: Never unload plugins that use D-Bus internally
+
+As the new types will be unloaded, and kaboom!
+
+https://bugzilla.gnome.org/show_bug.cgi?id=608126
+---
+diff --git a/src/plugins/pidgin/pidgin.c b/src/plugins/pidgin/pidgin.c
+index 6cfe98a..319fdbd 100644
+--- a/src/plugins/pidgin/pidgin.c
++++ b/src/plugins/pidgin/pidgin.c
+@@ -463,7 +463,7 @@ NstPluginInfo plugin_info = {
+ "pidgin",
+ N_("Instant Message (Pidgin)"),
+ NULL,
+- FALSE,
++ TRUE,
+ NAUTILUS_CAPS_NONE,
+ init,
+ get_contacts_widget,
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-init.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-init.patch
new file mode 100644
index 000000000000..d88907f9a559
--- /dev/null
+++ b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload-init.patch
@@ -0,0 +1,23 @@
+From c76410275933ff05701cda346944e30498d27b2e Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 17:12:42 +0000
+Subject: Never unload modules once init() has been done
+
+Because they might register new types, and when they're unloaded,
+kaboom!
+---
+diff --git a/src/nautilus-sendto-command.c b/src/nautilus-sendto-command.c
+index dd21620..92b96bb 100644
+--- a/src/nautilus-sendto-command.c
++++ b/src/nautilus-sendto-command.c
+@@ -665,8 +665,6 @@ nautilus_sendto_plugin_dir_process (const char *plugindir)
+ if (p->info->init(p)) {
+ plugin_list = g_list_append (plugin_list, p);
+ } else {
+- if (!p->info->never_unload)
+- g_module_close (p->module);
+ g_free (p);
+ }
+ }
+--
+cgit v0.8.3.1
diff --git a/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload.patch b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload.patch
new file mode 100644
index 000000000000..ebbdb82ff5e7
--- /dev/null
+++ b/gnome-extra/nautilus-sendto/files/nautilus-sendto-2.28.4-unload.patch
@@ -0,0 +1,120 @@
+From ff902cb60e1ace5ca4af09f9c9f7d76517c8e5d5 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 09 Jun 2010 17:18:15 +0000
+Subject: Remove never_unload from the plugin struct
+
+Seeing as we never want to unload them now.
+---
+diff --git a/src/nautilus-sendto-plugin.h b/src/nautilus-sendto-plugin.h
+index 216f051..14fb7f5 100644
+--- a/src/nautilus-sendto-plugin.h
++++ b/src/nautilus-sendto-plugin.h
+@@ -61,7 +61,6 @@ typedef enum {
+ * @id: A unique ID representing the plugin
+ * @description: The label used in the plugin selection drop-down
+ * @gettext_package: The domain to use to translate the description, %NULL if the plugin is part of nautilus-sendto
+- * @never_unload: Whether to unload the plugin on exit. Enable this if your plugin registers a new #GType
+ * @capabilities: a bitmask of #NstPluginCapabilities
+ * @init: Check for dependencies, and return %FALSE if dependencies such as programs are missing.
+ * @get_contacts_widget: Return the contact widget, the widget to select the destination of the files
+@@ -71,13 +70,12 @@ typedef enum {
+ *
+ * A structure representing a nautilus-sendto plugin. You should also call NST_INIT_PLUGIN() on the plugin structure to export it.
+ **/
+-struct _NstPluginInfo
++struct _NstPluginInfo
+ {
+ gchar *icon;
+ gchar *id;
+ gchar *description;
+ gchar *gettext_package;
+- gboolean never_unload;
+ NstPluginCapabilities capabilities;
+ gboolean (*init) (NstPlugin *plugin);
+ GtkWidget* (*get_contacts_widget) (NstPlugin *plugin);
+diff --git a/src/plugins/bluetooth/bluetooth.c b/src/plugins/bluetooth/bluetooth.c
+index f2db2dd..160619d 100644
+--- a/src/plugins/bluetooth/bluetooth.c
++++ b/src/plugins/bluetooth/bluetooth.c
+@@ -549,7 +549,6 @@ NstPluginInfo plugin_info = {
+ "bluetooth",
+ N_("Bluetooth (OBEX Push)"),
+ NULL,
+- FALSE,
+ NAUTILUS_CAPS_NONE,
+ init,
+ get_contacts_widget,
+diff --git a/src/plugins/evolution/evolution.c b/src/plugins/evolution/evolution.c
+index 8e1dd0c..7feb305 100644
+--- a/src/plugins/evolution/evolution.c
++++ b/src/plugins/evolution/evolution.c
+@@ -377,7 +377,6 @@ NstPluginInfo plugin_info = {
+ "evolution",
+ N_("Email"),
+ NULL,
+- FALSE,
+ NAUTILUS_CAPS_NONE,
+ init,
+ get_contacts_widget,
+diff --git a/src/plugins/gajim/gajim.c b/src/plugins/gajim/gajim.c
+index 1943b3d..088c69b 100644
+--- a/src/plugins/gajim/gajim.c
++++ b/src/plugins/gajim/gajim.c
+@@ -504,7 +504,6 @@ NstPluginInfo plugin_info = {
+ "gajim",
+ N_("Instant Message (Gajim)"),
+ NULL,
+- TRUE,
+ NAUTILUS_CAPS_NONE,
+ init,
+ get_contacts_widget,
+diff --git a/src/plugins/nautilus-burn/nautilus-burn.c b/src/plugins/nautilus-burn/nautilus-burn.c
+index bdc80c1..cdaa09e 100644
+--- a/src/plugins/nautilus-burn/nautilus-burn.c
++++ b/src/plugins/nautilus-burn/nautilus-burn.c
+@@ -177,7 +177,6 @@ NstPluginInfo plugin_info = {
+ "nautilus-burn",
+ N_("CD/DVD Creator"),
+ NULL,
+- FALSE,
+ NAUTILUS_CAPS_SEND_DIRECTORIES,
+ init,
+ get_contacts_widget,
+diff --git a/src/plugins/pidgin/pidgin.c b/src/plugins/pidgin/pidgin.c
+index 319fdbd..5d9b52e 100644
+--- a/src/plugins/pidgin/pidgin.c
++++ b/src/plugins/pidgin/pidgin.c
+@@ -463,7 +463,6 @@ NstPluginInfo plugin_info = {
+ "pidgin",
+ N_("Instant Message (Pidgin)"),
+ NULL,
+- TRUE,
+ NAUTILUS_CAPS_NONE,
+ init,
+ get_contacts_widget,
+diff --git a/src/plugins/removable-devices/removable-devices.c b/src/plugins/removable-devices/removable-devices.c
+index 4a735a3..5984ec7 100644
+--- a/src/plugins/removable-devices/removable-devices.c
++++ b/src/plugins/removable-devices/removable-devices.c
+@@ -223,7 +223,6 @@ NstPluginInfo plugin_info = {
+ "folder-remote",
+ N_("Removable disks and shares"),
+ NULL,
+- FALSE,
+ NAUTILUS_CAPS_SEND_DIRECTORIES,
+ init,
+ get_contacts_widget,
+diff --git a/src/plugins/upnp/upnp.c b/src/plugins/upnp/upnp.c
+index da5669e..5d2448e 100644
+--- a/src/plugins/upnp/upnp.c
++++ b/src/plugins/upnp/upnp.c
+@@ -308,7 +308,6 @@ NstPluginInfo plugin_info = {
+ "upnp",
+ N_("UPnP Media Server"),
+ NULL,
+- FALSE,
+ NAUTILUS_CAPS_NONE,
+ init,
+ get_contacts_widget,
+--
+cgit v0.8.3.1