[empathy: 65/148] Add a new preference in the UI



commit d3fc1349507da7d0bb6538a8e66fa3116bb6eec9
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Wed May 6 15:04:12 2009 +0200

    Add a new preference in the UI
---
 libempathy-gtk/empathy-conf.h     |    1 +
 libempathy-gtk/empathy-ui-utils.c |    9 ++++++++-
 src/empathy-preferences.c         |    5 +++++
 src/empathy-preferences.ui        |   36 ++++++++++++++++++++++++++++++++++++
 4 files changed, 50 insertions(+), 1 deletions(-)

diff --git a/libempathy-gtk/empathy-conf.h b/libempathy-gtk/empathy-conf.h
index 07026df..d650f42 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 f7c8149..3ea3e76 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 406db4c..d2ac53b 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 d92fc8f..4185ef7 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">



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