rendered paste bodydiff -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;
}