Index: configure.in
===================================================================
--- configure.in	(revision 385)
+++ configure.in	(working copy)
@@ -36,6 +36,7 @@
 GUPNP_AV_REQUIRED=0.2.1
 EMPATHY_REQUIRED=2.23.91
 EMPATHY_GTK_REQUIRED=2.25.2
+GIO_REQUIRED=2.18.0
 
 AC_SUBST(GLIB_REQUIRED)
 AC_SUBST(GTK_REQUIRED)
@@ -56,7 +57,8 @@
 	 gmodule-2.0 >= $GLIB_REQUIRED		  \
 	 gtk+-2.0    >= $GTK_REQUIRED             \
 	 libglade-2.0 >= $GLADE_REQUIRED            \
-	 gconf-2.0 >= $GCONF_REQUIRED)
+	 gconf-2.0 >= $GCONF_REQUIRED               \
+	 gio-2.0 >= $GIO_REQUIRED)
 AC_SUBST(NAUTILUS_SENDTO_CFLAGS)
 AC_SUBST(NAUTILUS_SENDTO_LIBS)
 
@@ -71,7 +73,7 @@
 AC_SUBST(NAUTILUS_EXTENSION_DIR)
 
 # The full list of plugins
-allowed_plugins="balsa bluetooth empathy evolution gaim gajim nautilus-burn pidgin sylpheed-claws thunderbird upnp"
+allowed_plugins="balsa bluetooth empathy evolution gaim gajim nautilus-burn pidgin share sylpheed-claws thunderbird upnp"
 
 plugin_error_or_ignore()
 {
@@ -226,6 +228,9 @@
 				add_plugin="0"
 			fi
 		;;
+		share)
+			add_plugin="1"
+		;;
 		sylpheed-claws)
 			add_plugin="1"
 		;;
@@ -303,6 +308,7 @@
 src/plugins/gajim/Makefile
 src/plugins/nautilus-burn/Makefile
 src/plugins/pidgin/Makefile
+src/plugins/share/Makefile
 src/plugins/sylpheed-claws/Makefile
 src/plugins/thunderbird/Makefile
 src/plugins/upnp/Makefile
Index: src/plugins/share/share.c
===================================================================
--- src/plugins/share/share.c	(revision 0)
+++ src/plugins/share/share.c	(revision 0)
@@ -0,0 +1,167 @@
+/*
+ *
+ * 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.
+ *
+ * Author:  Maxim Ermilov <ermilov.maxim@gmail.com>
+ */
+
+#include "config.h"
+#include <string.h>
+#include <glib/gi18n-lib.h>
+#include <gio/gio.h>
+#include "nautilus-sendto-plugin.h"
+
+GVolumeMonitor* vol_monitor = NULL;
+GList *vol;
+
+static
+gboolean init (NstPlugin *plugin)
+{
+	g_print ("Init share plugin\n");
+	vol_monitor = g_volume_monitor_get ();
+	vol = g_volume_monitor_get_mounts (vol_monitor);
+	return TRUE;
+}
+
+static
+GtkWidget* get_contacts_widget (NstPlugin *plugin)
+{
+	GtkListStore *store;
+	GtkWidget *cb;
+	GList *liter;
+	GtkTreeIter iter;
+	GtkCellRenderer *renderer;
+
+	store = gtk_list_store_new (1, G_TYPE_STRING);
+
+	for (liter = vol; liter != NULL; liter = g_list_next (liter))
+	{
+		gtk_list_store_append (store, &iter);
+		gtk_list_store_set (store, &iter, 0, g_mount_get_name (liter->data), -1);
+	}
+
+	cb = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
+
+	renderer = gtk_cell_renderer_text_new ();
+
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cb),
+                                renderer,
+                                TRUE);
+	gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (cb), renderer, "text", 0,  NULL);
+	gtk_combo_box_set_active (GTK_COMBO_BOX (cb), 0);
+
+	return cb;
+}
+
+static
+void copy_dir (GFile* source, GFile* dest)
+{
+	GFileEnumerator* en = g_file_enumerate_children (source, "*", G_FILE_QUERY_INFO_NONE, NULL, NULL);
+	GFileInfo* info;
+
+	g_file_make_directory (dest, NULL, NULL);
+
+	while ((info = g_file_enumerator_next_file (en, NULL, NULL)) != NULL)
+	{
+		gchar *name = (gchar*)g_file_info_get_name (G_FILE_INFO (info));
+
+		if (name != NULL)
+		{
+			GFile *child = g_file_get_child (source, name);
+			gchar *file_name = g_file_get_basename (child);
+			GFile *dst = g_file_get_child (dest, file_name);
+
+			if (g_file_query_file_type (child, G_FILE_QUERY_INFO_NONE, NULL) == G_FILE_TYPE_DIRECTORY) copy_dir (child, dst);
+			else g_file_copy (child, dst, G_FILE_COPY_NONE, NULL, NULL, NULL, NULL);
+
+			g_free (file_name);
+			g_object_unref (child);
+			g_object_unref (dst);
+		}
+		
+		g_free (name);
+	}
+
+	g_object_unref (en);
+}
+
+static
+gboolean send_files (NstPlugin *plugin, GtkWidget *contact_widget,
+			 GList *file_list)
+{
+	int choice = gtk_combo_box_get_active (GTK_COMBO_BOX (contact_widget));
+	GMount *dest_vol;
+	GFile *vol_root;
+	gchar *vol_uri;
+	GList *iter;
+
+	if (choice < 0) return TRUE;
+
+	dest_vol = g_list_nth_data (vol, choice);
+	if (!G_IS_MOUNT (dest_vol)) return TRUE;
+	vol_root = g_mount_get_root (dest_vol);
+	vol_uri = g_file_get_uri (vol_root);
+
+
+	for (iter = file_list; iter != NULL; iter = g_list_next (iter))
+	{
+		GFile *source;
+		gchar *file_name;
+		GFile *dest;
+
+		if (g_uri_parse_scheme (iter->data) == NULL) source = g_file_new_for_path (iter->data);
+		else source = g_file_new_for_uri (iter->data);
+
+		file_name = g_file_get_basename (source);
+		dest = g_file_get_child (vol_root, file_name);
+
+		if (g_file_query_file_type (source, G_FILE_QUERY_INFO_NONE, NULL) == G_FILE_TYPE_DIRECTORY) copy_dir (source, dest);
+		else g_file_copy (source, dest, G_FILE_COPY_NONE, NULL, NULL, NULL, NULL);
+
+		g_free (file_name);
+		g_object_unref (source);
+		g_object_unref (dest);
+	}
+
+	g_object_unref (vol_root);
+	g_free (vol_uri);
+
+	return TRUE;
+}
+
+static
+gboolean destroy (NstPlugin *plugin){
+	g_list_free (vol);
+	g_object_unref (vol_monitor);
+	return TRUE;
+}
+
+static
+NstPluginInfo plugin_info = {
+	"folder-remote",
+	"folder-remote",
+	N_("Mounted volumes"),
+	FALSE,
+	init,
+	get_contacts_widget,
+	NULL,
+	send_files,
+	destroy
+};
+
+NST_INIT_PLUGIN (plugin_info)
+
+
Index: src/plugins/share/Makefile.am
===================================================================
--- src/plugins/share/Makefile.am	(revision 0)
+++ src/plugins/share/Makefile.am	(revision 0)
@@ -0,0 +1,18 @@
+plugindir = $(libdir)/nautilus-sendto/plugins
+
+INCLUDES =                                      \
+        -DDATADIR=\"$(datadir)\"                \
+        -DICONDIR=\"$(icondir)\"                \
+	-DLOCALEDIR="\"$(datadir)/locale\""	\
+        -I$(top_srcdir)/src                     \
+        -I$(top_builddir)                       \
+        -DGLADEDIR=\""$(gladedir)"\"            \
+        $(NAUTILUS_SENDTO_CFLAGS)               \
+	$(WARN_CFLAGS)
+
+plugin_LTLIBRARIES = libnstshare.la
+
+libnstshare_la_SOURCES = share.c
+libnstshare_la_LDFLAGS = -module -avoid-version
+libnstshare_la_LIBADD = $(DBUS_LIBS)
+
