aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-vfolder.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2010-04-02 02:00:36 +0800
committerMilan Crha <mcrha@redhat.com>2010-04-02 02:00:36 +0800
commit125573b8fd62f4d0d38907c95c70168ca984d3c4 (patch)
tree709ea2df6889f4aa66c17a6eba795096424bae1c /mail/mail-vfolder.c
parent0d66851bd58f75b21f30942c05a96fa7c4bf5817 (diff)
downloadgsoc2013-evolution-125573b8fd62f4d0d38907c95c70168ca984d3c4.tar
gsoc2013-evolution-125573b8fd62f4d0d38907c95c70168ca984d3c4.tar.gz
gsoc2013-evolution-125573b8fd62f4d0d38907c95c70168ca984d3c4.tar.bz2
gsoc2013-evolution-125573b8fd62f4d0d38907c95c70168ca984d3c4.tar.lz
gsoc2013-evolution-125573b8fd62f4d0d38907c95c70168ca984d3c4.tar.xz
gsoc2013-evolution-125573b8fd62f4d0d38907c95c70168ca984d3c4.tar.zst
gsoc2013-evolution-125573b8fd62f4d0d38907c95c70168ca984d3c4.zip
Bug #302742 - The mail error messages is difficult to understand/translate
Diffstat (limited to 'mail/mail-vfolder.c')
-rw-r--r--mail/mail-vfolder.c30
1 files changed, 25 insertions, 5 deletions
diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c
index 5d4dd4468d..2fe7a03c53 100644
--- a/mail/mail-vfolder.c
+++ b/mail/mail-vfolder.c
@@ -594,6 +594,7 @@ mail_vfolder_delete_uri(CamelStore *store, const gchar *curi)
const gchar *source;
CamelVeeFolder *vf;
GString *changed;
+ guint changed_count;
gchar *uri;
GList *link;
@@ -606,6 +607,7 @@ mail_vfolder_delete_uri(CamelStore *store, const gchar *curi)
g_return_if_fail (mail_in_main_thread());
+ changed_count = 0;
changed = g_string_new ("");
G_LOCK (vfolder);
@@ -638,7 +640,16 @@ mail_vfolder_delete_uri(CamelStore *store, const gchar *curi)
0, NULL, rule_changed, vf);
em_vfolder_rule_remove_source ((EMVFolderRule *)rule, source);
g_signal_connect (rule, "changed", G_CALLBACK(rule_changed), vf);
- g_string_append_printf (changed, " %s\n", rule->name);
+ if (changed_count == 0) {
+ g_string_append (changed, rule->name);
+ } else {
+ if (changed_count == 1) {
+ g_string_prepend (changed, " ");
+ g_string_append (changed, "\n");
+ }
+ g_string_append_printf (changed, " %s\n", rule->name);
+ }
+ changed_count++;
source = NULL;
}
g_free(csource);
@@ -658,13 +669,22 @@ done:
G_UNLOCK (vfolder);
- if (changed->str[0]) {
+ if (changed_count > 0) {
GtkWidget *dialog;
const gchar *data_dir;
- gchar *user;
-
- dialog = e_alert_dialog_new_for_args (e_shell_get_active_window (NULL), "mail:vfolder-updated", changed->str, uri, NULL);
+ gchar *user, *info;
+
+ info = g_strdup_printf (ngettext (
+ /* Translators: The first %s is name of the affected search folder(s),
+ the second %s is uri of the removed folder. For more than one search
+ folder is each of them on a separate line, with four spaces in front
+ of its name, without quotes. */
+ "The Search Folder \"%s\" has been updated, because it used just removed folder\n\"%s\".",
+ "The following Search Folders\n%s have been updated, because they used just removed folder\n\"%s\".",
+ changed_count), changed->str, uri);
+ dialog = e_alert_dialog_new_for_args (e_shell_get_active_window (NULL), "mail:vfolder-updated", info, NULL);
em_utils_show_info_silent (dialog);
+ g_free (info);
data_dir = mail_session_get_data_dir ();
user = g_build_filename (data_dir, "vfolders.xml", NULL);