aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/exchange-operations/exchange-config-listener.c
diff options
context:
space:
mode:
authorSushma Rai <rsushma@src.gnome.org>2006-01-24 18:03:52 +0800
committerSushma Rai <rsushma@src.gnome.org>2006-01-24 18:03:52 +0800
commit3ae8c5c93dacdbbe3a46c970d9095b587f98627d (patch)
tree571c82af439533f9749f2f00649fd65eafe0e2f7 /plugins/exchange-operations/exchange-config-listener.c
parentc9d938050f9d7177795303ff6eb10c7e118f551c (diff)
downloadgsoc2013-evolution-3ae8c5c93dacdbbe3a46c970d9095b587f98627d.tar
gsoc2013-evolution-3ae8c5c93dacdbbe3a46c970d9095b587f98627d.tar.gz
gsoc2013-evolution-3ae8c5c93dacdbbe3a46c970d9095b587f98627d.tar.bz2
gsoc2013-evolution-3ae8c5c93dacdbbe3a46c970d9095b587f98627d.tar.lz
gsoc2013-evolution-3ae8c5c93dacdbbe3a46c970d9095b587f98627d.tar.xz
gsoc2013-evolution-3ae8c5c93dacdbbe3a46c970d9095b587f98627d.tar.zst
gsoc2013-evolution-3ae8c5c93dacdbbe3a46c970d9095b587f98627d.zip
Making the warning and error dialogs non-modal. Fixes #328385.
svn path=/trunk/; revision=31295
Diffstat (limited to 'plugins/exchange-operations/exchange-config-listener.c')
-rw-r--r--plugins/exchange-operations/exchange-config-listener.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/plugins/exchange-operations/exchange-config-listener.c b/plugins/exchange-operations/exchange-config-listener.c
index 034531b2c4..0570ea6704 100644
--- a/plugins/exchange-operations/exchange-config-listener.c
+++ b/plugins/exchange-operations/exchange-config-listener.c
@@ -716,30 +716,38 @@ exchange_config_listener_authenticate (ExchangeConfigListener *ex_conf_listener,
else if (result == EXCHANGE_ACCOUNT_QUOTA_RECIEVE_ERROR ||
result == EXCHANGE_ACCOUNT_QUOTA_SEND_ERROR ||
result == EXCHANGE_ACCOUNT_QUOTA_WARN) {
- gchar *current_quota_usage;
+ gchar *current_quota_usage = NULL;
+ const char *error_code;
+ GtkWidget *widget;
switch (result) {
case EXCHANGE_ACCOUNT_QUOTA_RECIEVE_ERROR:
current_quota_usage = g_strdup_printf ("%.2f",
account->mbox_size);
- e_error_run (NULL, "org-gnome-exchange-operations:account-quota-error", current_quota_usage);
- g_free (current_quota_usage);
+ error_code = "org-gnome-exchange-operations:account-quota-error";
break;
case EXCHANGE_ACCOUNT_QUOTA_SEND_ERROR:
current_quota_usage = g_strdup_printf ("%.2f",
account->mbox_size);
- e_error_run (NULL, "org-gnome-exchange-operations:account-quota-send-error", current_quota_usage);
- g_free (current_quota_usage);
+ error_code = "org-gnome-exchange-operations:account-quota-send-error";
break;
case EXCHANGE_ACCOUNT_QUOTA_WARN:
current_quota_usage = g_strdup_printf ("%.2f",
account->mbox_size);
- e_error_run (NULL, "org-gnome-exchange-operations:account-quota-warn", current_quota_usage);
- g_free (current_quota_usage);
+ error_code = "org-gnome-exchange-operations:account-quota-warn";
break;
default:
break;
}
+
+ if (current_quota_usage) {
+ widget = e_error_new (NULL, error_code, current_quota_usage);
+ g_signal_connect ((GtkDialog *)widget, "response",
+ G_CALLBACK (gtk_widget_destroy), widget);
+ gtk_widget_show (widget);
+ g_free (current_quota_usage);
+ }
+
/* reset result, so that we check if the password
* expiry warning period
*/