aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/exchange-operations
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/exchange-operations')
-rw-r--r--plugins/exchange-operations/ChangeLog8
-rw-r--r--plugins/exchange-operations/exchange-config-listener.c22
-rw-r--r--plugins/exchange-operations/exchange-operations.c17
3 files changed, 33 insertions, 14 deletions
diff --git a/plugins/exchange-operations/ChangeLog b/plugins/exchange-operations/ChangeLog
index 5b608f3978..f8eb7544af 100644
--- a/plugins/exchange-operations/ChangeLog
+++ b/plugins/exchange-operations/ChangeLog
@@ -1,3 +1,11 @@
+2006-01-24 Sushma Rai <rsushma@novell.com>
+
+ * exchange-config-listener.c (exchange_config_listener_authenticate):
+ Not using e_error_run(), to avoid modal error dialogs. Fixes #328385.
+
+ * exchange-operations.c (exchange_operations_report_error): Similar.
+ Also displaying the current quota usage instead of the quota limit.
+
2006-01-23 Sushma Rai <rsushma@novell.com>
* exchange-operations.c
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
*/
diff --git a/plugins/exchange-operations/exchange-operations.c b/plugins/exchange-operations/exchange-operations.c
index 8407024904..166fba4b11 100644
--- a/plugins/exchange-operations/exchange-operations.c
+++ b/plugins/exchange-operations/exchange-operations.c
@@ -223,6 +223,7 @@ exchange_operations_report_error (ExchangeAccount *account, ExchangeAccountResul
{
gchar *error_string;
gchar *quota_value;
+ GtkWidget *widget;
g_return_if_fail (account != NULL);
@@ -233,27 +234,29 @@ exchange_operations_report_error (ExchangeAccount *account, ExchangeAccountResul
switch (result) {
case EXCHANGE_ACCOUNT_MAILBOX_NA:
- e_error_run (NULL, error_string, exchange_account_get_username (account), NULL);
+ widget = e_error_new (NULL, error_string, exchange_account_get_username (account), NULL);
break;
case EXCHANGE_ACCOUNT_NO_MAILBOX:
- e_error_run (NULL, error_string, exchange_account_get_username (account),
- account->exchange_server, NULL);
+ widget = e_error_new (NULL, error_string, exchange_account_get_username (account),
+ account->exchange_server, NULL);
break;
case EXCHANGE_ACCOUNT_RESOLVE_ERROR:
case EXCHANGE_ACCOUNT_CONNECT_ERROR:
case EXCHANGE_ACCOUNT_UNKNOWN_ERROR:
- e_error_run (NULL, error_string, account->exchange_server, NULL);
+ widget = e_error_new (NULL, error_string, account->exchange_server, NULL);
break;
case EXCHANGE_ACCOUNT_QUOTA_RECIEVE_ERROR:
case EXCHANGE_ACCOUNT_QUOTA_SEND_ERROR:
case EXCHANGE_ACCOUNT_QUOTA_WARN:
- quota_value = g_strdup_printf ("%d", exchange_account_get_quota_limit (account));
- e_error_run (NULL, error_string, quota_value, NULL);
+ quota_value = g_strdup_printf ("%.2f", account->mbox_size);
+ widget = e_error_new (NULL, error_string, quota_value, NULL);
g_free (quota_value);
break;
default:
- e_error_run (NULL, error_string, NULL);
+ widget = e_error_new (NULL, error_string, NULL);
}
+ g_signal_connect ((GtkDialog *)widget, "response", G_CALLBACK (gtk_widget_destroy), widget);
+ gtk_widget_show (widget);
g_free (error_string);
}