[empathy: 67/148] Add use_hash params for incoming transfers



commit 872178334e6171c60b5bcf1cede7ae5a36645da1
Author: Cosimo Cecchi <cosimo cecchi collabora co uk>
Date:   Wed May 13 15:02:16 2009 +0200

    Add use_hash params for incoming transfers
    
    Add use_hash params for incoming transfers to the FT Factory and
    Handler, so that we will use them to check hash for received files.
---
 libempathy-gtk/empathy-ui-utils.c |    8 +++++++-
 libempathy/empathy-ft-factory.c   |    5 +++--
 libempathy/empathy-ft-factory.h   |    2 +-
 libempathy/empathy-ft-handler.c   |   10 ++++++----
 libempathy/empathy-ft-handler.h   |    2 +-
 5 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index 3ea3e76..29c3b60 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -1481,13 +1481,19 @@ file_manager_receive_file_response_cb (GtkDialog *dialog,
 {
 	EmpathyFTFactory *factory;
 	GFile *file;
+	gboolean use_hash;
 
 	if (response == GTK_RESPONSE_OK) {
 		factory = empathy_ft_factory_dup_singleton ();
 		file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
 
+		use_hash = empathy_conf_get_bool
+			(empathy_conf_get (),
+			 EMPATHY_PREFS_FILE_TRANSFER_USE_HASH,
+			 &use_hash);
+
 		empathy_ft_factory_set_destination_for_incoming_handler
-			(factory, handler, file);
+			(factory, handler, file, use_hash);
 
 		g_object_unref (factory);
 		g_object_unref (file);
diff --git a/libempathy/empathy-ft-factory.c b/libempathy/empathy-ft-factory.c
index e36f553..e294eba 100644
--- a/libempathy/empathy-ft-factory.c
+++ b/libempathy/empathy-ft-factory.c
@@ -169,13 +169,14 @@ void
 empathy_ft_factory_set_destination_for_incoming_handler
                                                  (EmpathyFTFactory *factory,
                                                   EmpathyFTHandler *handler,
-                                                  GFile *destination)
+                                                  GFile *destination,
+                                                  gboolean use_hash)
 {
   g_return_if_fail (EMPATHY_IS_FT_FACTORY (factory));
   g_return_if_fail (EMPATHY_IS_FT_HANDLER (handler));
   g_return_if_fail (G_IS_FILE (destination));
 
-  empathy_ft_handler_incoming_set_destination (handler, destination);
+  empathy_ft_handler_incoming_set_destination (handler, destination, use_hash);
 
   g_signal_emit (factory, signals[NEW_FT_HANDLER], 0, handler, FALSE);
 }
diff --git a/libempathy/empathy-ft-factory.h b/libempathy/empathy-ft-factory.h
index 18310bd..82dcb66 100644
--- a/libempathy/empathy-ft-factory.h
+++ b/libempathy/empathy-ft-factory.h
@@ -64,7 +64,7 @@ void empathy_ft_factory_claim_channel (EmpathyFTFactory *factory,
   EmpathyDispatchOperation *operation);
 void empathy_ft_factory_set_destination_for_incoming_handler
   (EmpathyFTFactory *factory, EmpathyFTHandler *handler,
-   GFile *destination);
+   GFile *destination, gboolean use_hash);
 
 G_END_DECLS
 
diff --git a/libempathy/empathy-ft-handler.c b/libempathy/empathy-ft-handler.c
index 5e6d029..f2fafd7 100644
--- a/libempathy/empathy-ft-handler.c
+++ b/libempathy/empathy-ft-handler.c
@@ -250,7 +250,7 @@ empathy_ft_handler_class_init (EmpathyFTHandlerClass *klass)
   param_spec = g_param_spec_object ("gfile",
     "gfile", "The GFile we're handling",
     G_TYPE_FILE,
-    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY);
+    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_G_FILE, param_spec);
 
   param_spec = g_param_spec_object ("tp-file",
@@ -261,7 +261,7 @@ empathy_ft_handler_class_init (EmpathyFTHandlerClass *klass)
 
   param_spec = g_param_spec_boolean ("use-hash",
     "use-hash", "Whether we should use checksum when sending or receiving",
-    FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY);
+    FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_USE_HASH, param_spec);
 
   /* signals */
@@ -996,12 +996,14 @@ empathy_ft_handler_cancel_transfer (EmpathyFTHandler *handler)
 
 void
 empathy_ft_handler_incoming_set_destination (EmpathyFTHandler *handler,
-                                             GFile *destination)
+                                             GFile *destination,
+                                             gboolean use_hash)
 {
   g_return_if_fail (EMPATHY_IS_FT_HANDLER (handler));
   g_return_if_fail (G_IS_FILE (destination));
 
-  g_object_set (handler, "gfile", destination, NULL);
+  g_object_set (handler, "gfile", destination,
+      "use-hash", use_hash, NULL);
 }
 
 const char *
diff --git a/libempathy/empathy-ft-handler.h b/libempathy/empathy-ft-handler.h
index 70232e0..654c3a6 100644
--- a/libempathy/empathy-ft-handler.h
+++ b/libempathy/empathy-ft-handler.h
@@ -67,7 +67,7 @@ void empathy_ft_handler_new_outgoing (EmpathyContact *contact,
 void empathy_ft_handler_new_incoming (EmpathyTpFile *tp_file,
     EmpathyFTHandlerReadyCallback callback, gpointer user_data);
 void empathy_ft_handler_incoming_set_destination (EmpathyFTHandler *handler,
-    GFile *destination);
+    GFile *destination, gboolean use_hash);
 
 void empathy_ft_handler_start_transfer (EmpathyFTHandler *handler);
 void empathy_ft_handler_cancel_transfer (EmpathyFTHandler *handler);



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