diff options
author | Rajeev ramanathan <rajeevramanathan_2004@yahoo.co.in> | 2006-02-08 18:53:08 +0800 |
---|---|---|
committer | Parthasarathi Susarla <saps@src.gnome.org> | 2006-02-08 18:53:08 +0800 |
commit | 28bf6443a7032032f04a3dff86646f46436a0780 (patch) | |
tree | 5aea93ee91f5138d8742b145c1ba2aea676a3207 /mail/em-account-prefs.c | |
parent | 62905631d668a9ce36d1e1eb4d0970abd7938250 (diff) | |
download | gsoc2013-evolution-28bf6443a7032032f04a3dff86646f46436a0780.tar.gz gsoc2013-evolution-28bf6443a7032032f04a3dff86646f46436a0780.tar.zst gsoc2013-evolution-28bf6443a7032032f04a3dff86646f46436a0780.zip |
**Fixes #329586
2006-02-08 Rajeev ramanathan <rajeevramanathan_2004@yahoo.co.in>
**Fixes #329586
* em-account-prefs.c:
* em-account-prefs.h: Changed the ODD behavior of Default button by
checking whether an account is default or not and disabling the button
when default account is in focus.
Committing to head on behalf of rajeev
svn path=/trunk/; revision=31443
Diffstat (limited to 'mail/em-account-prefs.c')
-rw-r--r-- | mail/em-account-prefs.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/mail/em-account-prefs.c b/mail/em-account-prefs.c index d79a5f846b..2e54404fc7 100644 --- a/mail/em-account-prefs.c +++ b/mail/em-account-prefs.c @@ -396,6 +396,8 @@ account_cursor_change (GtkTreeSelection *selection, EMAccountPrefs *prefs) GtkTreeIter iter; const char *url = NULL; int state; + EAccount *default_account; + default_account = mail_config_get_default_account (); state = gconf_client_key_is_writable(mail_config_get_gconf_client(), "/apps/evolution/mail/accounts", NULL); if (state) { @@ -419,7 +421,12 @@ account_cursor_change (GtkTreeSelection *selection, EMAccountPrefs *prefs) gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_edit), !mail_config_has_proxies(account)); gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_delete), state); - gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_default), state); + + if(account == default_account) + gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_default), FALSE); + else + gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_default), state); + gtk_widget_set_sensitive (GTK_WIDGET (prefs->mail_able), state); } @@ -474,9 +481,8 @@ mail_accounts_load (EMAccountPrefs *prefs) camel_url_free (url); /* select the first row by default */ - if (row == 0) + if (row == 0 && !prefs->changed) gtk_tree_selection_select_iter (selection, &iter); - row++; } @@ -570,9 +576,11 @@ em_account_prefs_construct (EMAccountPrefs *prefs) renderer = g_object_get_data ((GObject *) widget, "renderer"); g_signal_connect (renderer, "toggled", G_CALLBACK (account_able_toggled), prefs); - + + prefs->changed = FALSE; mail_accounts_load (prefs); - + prefs->changed = TRUE; + prefs->mail_add = GTK_BUTTON (glade_xml_get_widget (gui, "cmdAccountAdd")); g_signal_connect (prefs->mail_add, "clicked", G_CALLBACK (account_add_clicked), prefs); |