[empathy] doesn't allow to send socket files



commit 9b50f0ae49e9c99995ed5289eab656aede142c6b
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Mon Nov 7 15:44:59 2011 +0100

    doesn't allow to send socket files
    
    https://bugzilla.gnome.org/show_bug.cgi?id=663563

 libempathy-gtk/empathy-ui-utils.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)
---
diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index 5d9551d..a387160 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -1825,6 +1825,27 @@ file_manager_send_file_response_cb (GtkDialog      *widget,
 	gtk_widget_destroy (GTK_WIDGET (widget));
 }
 
+static gboolean
+filter_cb (const GtkFileFilterInfo *filter_info,
+		gpointer data)
+{
+	/* filter out socket files */
+	return tp_strdiff (filter_info->mime_type, "inode/socket");
+}
+
+static GtkFileFilter *
+create_file_filter (void)
+{
+	GtkFileFilter *filter;
+
+	filter = gtk_file_filter_new ();
+
+	gtk_file_filter_add_custom (filter, GTK_FILE_FILTER_MIME_TYPE, filter_cb,
+		NULL, NULL);
+
+	return filter;
+}
+
 void
 empathy_send_file_with_file_chooser (EmpathyContact *contact)
 {
@@ -1859,6 +1880,9 @@ empathy_send_file_with_file_chooser (EmpathyContact *contact)
 	gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (widget),
 		g_get_home_dir ());
 
+	gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (widget),
+		create_file_filter ());
+
 	g_signal_connect (widget, "response",
 			  G_CALLBACK (file_manager_send_file_response_cb),
 			  g_object_ref (contact));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]