aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2009-05-06 21:04:12 +0800
committerCosimo Cecchi <cosimoc@gnome.org>2009-06-01 23:49:55 +0800
commitd3fc1349507da7d0bb6538a8e66fa3116bb6eec9 (patch)
tree1cb8c7bacef70eeb27e7bb21608f08fb6d37b5e1
parent6a0da1dbef905ec7bf93e6d1c0eca6c6b8dfdb4a (diff)
downloadgsoc2013-empathy-d3fc1349507da7d0bb6538a8e66fa3116bb6eec9.tar
gsoc2013-empathy-d3fc1349507da7d0bb6538a8e66fa3116bb6eec9.tar.gz
gsoc2013-empathy-d3fc1349507da7d0bb6538a8e66fa3116bb6eec9.tar.bz2
gsoc2013-empathy-d3fc1349507da7d0bb6538a8e66fa3116bb6eec9.tar.lz
gsoc2013-empathy-d3fc1349507da7d0bb6538a8e66fa3116bb6eec9.tar.xz
gsoc2013-empathy-d3fc1349507da7d0bb6538a8e66fa3116bb6eec9.tar.zst
gsoc2013-empathy-d3fc1349507da7d0bb6538a8e66fa3116bb6eec9.zip
Add a new preference in the UI
-rw-r--r--libempathy-gtk/empathy-conf.h1
-rw-r--r--libempathy-gtk/empathy-ui-utils.c9
-rw-r--r--src/empathy-preferences.c5
-rw-r--r--src/empathy-preferences.ui36
4 files changed, 50 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-conf.h b/libempathy-gtk/empathy-conf.h
index 07026df5c..d650f4224 100644
--- a/libempathy-gtk/empathy-conf.h
+++ b/libempathy-gtk/empathy-conf.h
@@ -82,6 +82,7 @@ struct _EmpathyConfClass {
#define EMPATHY_PREFS_LOCATION_RESOURCE_CELL EMPATHY_PREFS_PATH "/location/resource_cell"
#define EMPATHY_PREFS_LOCATION_RESOURCE_GPS EMPATHY_PREFS_PATH "/location/resource_gps"
#define EMPATHY_PREFS_LOCATION_REDUCE_ACCURACY EMPATHY_PREFS_PATH "/location/reduce_accuracy"
+#define EMPATHY_PREFS_FILE_TRANSFER_USE_HASH EMPATHY_PREFS_PATH "/file_transfer/use_hash"
typedef void (*EmpathyConfNotifyFunc) (EmpathyConf *conf,
const gchar *key,
diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index f7c8149eb..3ea3e76aa 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -1411,14 +1411,21 @@ file_manager_send_file_response_cb (GtkDialog *widget,
GFile *file;
gchar *uri;
GtkRecentManager *manager;
+ gboolean use_hash;
if (response_id == GTK_RESPONSE_OK) {
file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (widget));
uri = g_file_get_uri (file);
+ use_hash = empathy_conf_get_bool
+ (empathy_conf_get (),
+ EMPATHY_PREFS_FILE_TRANSFER_USE_HASH,
+ &use_hash);
+
factory = empathy_ft_factory_dup_singleton ();
- empathy_ft_factory_new_transfer_outgoing (factory, contact, file);
+ empathy_ft_factory_new_transfer_outgoing (factory, contact,
+ file, use_hash);
manager = gtk_recent_manager_get_default ();
gtk_recent_manager_add_item (manager, uri);
diff --git a/src/empathy-preferences.c b/src/empathy-preferences.c
index 406db4c9f..d2ac53bb3 100644
--- a/src/empathy-preferences.c
+++ b/src/empathy-preferences.c
@@ -53,6 +53,7 @@ typedef struct {
GtkWidget *checkbutton_autoconnect;
GtkWidget *radiobutton_contact_list_sort_by_name;
GtkWidget *radiobutton_contact_list_sort_by_state;
+ GtkWidget *checkbutton_use_hash;
GtkWidget *checkbutton_sounds_enabled;
GtkWidget *checkbutton_sounds_disabled_away;
@@ -284,6 +285,9 @@ preferences_setup_widgets (EmpathyPreferences *preferences)
preferences_hookup_sensitivity (preferences,
EMPATHY_PREFS_LOCATION_PUBLISH,
preferences->checkbutton_location_reduce_accuracy);
+ preferences_hookup_toggle_button (preferences,
+ EMPATHY_PREFS_FILE_TRANSFER_USE_HASH,
+ preferences->checkbutton_use_hash);
id = empathy_conf_notify_add (empathy_conf_get (),
EMPATHY_PREFS_UI_COMPACT_CONTACT_LIST,
@@ -1128,6 +1132,7 @@ empathy_preferences_show (GtkWindow *parent)
"checkbutton_autoconnect", &preferences->checkbutton_autoconnect,
"radiobutton_contact_list_sort_by_name", &preferences->radiobutton_contact_list_sort_by_name,
"radiobutton_contact_list_sort_by_state", &preferences->radiobutton_contact_list_sort_by_state,
+ "checkbutton_use_hash", &preferences->checkbutton_use_hash,
"checkbutton_notifications_enabled", &preferences->checkbutton_notifications_enabled,
"checkbutton_notifications_disabled_away", &preferences->checkbutton_notifications_disabled_away,
"checkbutton_notifications_focus", &preferences->checkbutton_notifications_focus,
diff --git a/src/empathy-preferences.ui b/src/empathy-preferences.ui
index d92fc8f88..4185ef7dc 100644
--- a/src/empathy-preferences.ui
+++ b/src/empathy-preferences.ui
@@ -224,6 +224,42 @@
<property name="position">2</property>
</packing>
</child>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_use_hash">
+ <property name="label" translatable="yes">Use chec_ksum to validate file transfers</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">&lt;b&gt;File Transfer&lt;/b&gt;</property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
</object>
</child>
<child type="tab">