aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk/empathy-account-widget.c
diff options
context:
space:
mode:
authorxclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4>2008-07-04 22:49:20 +0800
committerxclaesse <xclaesse@4ee84921-47dd-4033-b63a-18d7a039a3e4>2008-07-04 22:49:20 +0800
commit7bbf1624e83a72685ca34c4aec46e04688995c9f (patch)
tree1aad32fe158937c0103df0223717aaede8e95034 /libempathy-gtk/empathy-account-widget.c
parentd7c566bf16a8265a29d6c858f0cbf89667cf64fd (diff)
downloadgsoc2013-empathy-7bbf1624e83a72685ca34c4aec46e04688995c9f.tar
gsoc2013-empathy-7bbf1624e83a72685ca34c4aec46e04688995c9f.tar.gz
gsoc2013-empathy-7bbf1624e83a72685ca34c4aec46e04688995c9f.tar.bz2
gsoc2013-empathy-7bbf1624e83a72685ca34c4aec46e04688995c9f.tar.lz
gsoc2013-empathy-7bbf1624e83a72685ca34c4aec46e04688995c9f.tar.xz
gsoc2013-empathy-7bbf1624e83a72685ca34c4aec46e04688995c9f.tar.zst
gsoc2013-empathy-7bbf1624e83a72685ca34c4aec46e04688995c9f.zip
Automatically add default account domain where appropriate. Fixes bug #534425 (Jonny Lamb)
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk> git-svn-id: svn+ssh://svn.gnome.org/svn/empathy/trunk@1193 4ee84921-47dd-4033-b63a-18d7a039a3e4
Diffstat (limited to 'libempathy-gtk/empathy-account-widget.c')
-rw-r--r--libempathy-gtk/empathy-account-widget.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c
index 5116841c1..044e4f7e0 100644
--- a/libempathy-gtk/empathy-account-widget.c
+++ b/libempathy-gtk/empathy-account-widget.c
@@ -60,9 +60,31 @@ account_widget_entry_focus_cb (GtkWidget *widget,
gtk_entry_set_text (GTK_ENTRY (widget), value ? value : "");
g_free (value);
} else {
+ McProfile *profile;
+ const gchar *default_account_domain = NULL;
+ gchar *value = NULL;
+
+ profile = mc_account_get_profile (account);
+ if (mc_profile_get_capabilities (profile) &
+ MC_PROFILE_CAPABILITY_SPLIT_ACCOUNT) {
+
+ default_account_domain = mc_profile_get_default_account_domain (profile);
+ }
+
+ if ((strcmp (param_name, "account") == 0) && default_account_domain &&
+ !strstr (str, "@")) {
+
+ DEBUG ("Adding @%s suffix to account",
+ default_account_domain);
+ value = g_strconcat (str, "@", default_account_domain, NULL);
+ gtk_entry_set_text (GTK_ENTRY (widget), value);
+ } else {
+ value = g_strdup (str);
+ }
DEBUG ("Setting %s to %s", param_name,
- strstr (param_name, "password") ? "***" : str);
- mc_account_set_param_string (account, param_name, str);
+ strstr (param_name, "password") ? "***" : value);
+ mc_account_set_param_string (account, param_name, value);
+ g_free (value);
}
return FALSE;