diff options
-rw-r--r-- | libempathy-gtk/empathy-ui-utils.c | 8 | ||||
-rw-r--r-- | libempathy/empathy-ft-factory.c | 5 | ||||
-rw-r--r-- | libempathy/empathy-ft-factory.h | 2 | ||||
-rw-r--r-- | libempathy/empathy-ft-handler.c | 10 | ||||
-rw-r--r-- | 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 3ea3e76aa..29c3b600f 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 e36f553c8..e294eba61 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 18310bd2d..82dcb660b 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 5e6d02922..f2fafd73b 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 70232e00e..654c3a6f1 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); |