All pastes #452732 Raw Edit

Untitled

public text v1 · immutable
·published 2007-04-22 14:00 UTC
rendered paste body
diff -rN -u old-grapevine/libgrapevine-gtk/gossip-account-widget-generic.c new-grapevine/libgrapevine-gtk/gossip-account-widget-generic.c
--- old-grapevine/libgrapevine-gtk/gossip-account-widget-generic.c      2007-04-22 16:00:24.000000000 +0200
+++ new-grapevine/libgrapevine-gtk/gossip-account-widget-generic.c      2007-04-22 16:00:24.000000000 +0200
@@ -65,11 +65,23 @@
 {
        const gchar *str;
        const gchar *param_name;
+       McProfile *profile;
+       const gchar *default_value;
 
        str = gtk_entry_get_text (GTK_ENTRY (widget));
        param_name = g_object_get_data (G_OBJECT (widget), "param_name");
+       profile = mc_account_get_profile(settings->account);
+       default_value = mc_profile_get_default_setting(profile, param_name);
 
-       mc_account_set_param_string (settings->account, param_name, str);
+       /* The "default" default value is the empty string */
+       if (!default_value) default_value = "";
+
+       if (strcmp(str, default_value) == 0) {
+               /* Don't set the value to the same as the default */
+               mc_account_unset_param (settings->account, param_name);
+       } else {
+               mc_account_set_param_string (settings->account, param_name, str);
+       }
 
        return FALSE;
 }