From: Jose Dapena Paz Date: Wed, 2 Dec 2009 11:52:40 +0000 (+0100) Subject: Show translated names in first item of paths in change folder dialog X-Git-Tag: 3.2.3~1 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=8e4925b5e95ff8c5bdbcee89161eb91a7478ef5d;hp=356133d5fc3f9786855a94022c05e9384a33ed5e Show translated names in first item of paths in change folder dialog (fixes NB#121661). --- diff --git a/src/widgets/modest-folder-view.c b/src/widgets/modest-folder-view.c index b5ce7c8..55d53d2 100644 --- a/src/widgets/modest-folder-view.c +++ b/src/widgets/modest-folder-view.c @@ -630,6 +630,52 @@ format_compact_style (gchar **item_name, } static void +replace_special_folder_prefix (gchar **item_name) +{ + const gchar *separator; + gchar *prefix; + + if (item_name == NULL || *item_name == NULL || **item_name == '\0') + return; + separator = g_strstr_len (*item_name, -1, MODEST_FOLDER_PATH_SEPARATOR); + if (separator == NULL) + return; + + prefix = g_strndup (*item_name, separator - *item_name); + g_strstrip (prefix); + + if (prefix && *prefix != '\0') { + TnyFolderType folder_type; + gchar *new_name; + gchar *downcase; + + downcase = g_utf8_strdown (prefix, -1); + g_free (prefix); + prefix = downcase; + + if (strcmp (downcase, "inbox") == 0) { + folder_type = TNY_FOLDER_TYPE_INBOX; + new_name = g_strconcat (_("mcen_me_folder_inbox"), separator, NULL); + g_free (*item_name); + *item_name = new_name; + } else { + folder_type = modest_local_folder_info_get_type (prefix); + switch (folder_type) { + case TNY_FOLDER_TYPE_INBOX: + case TNY_FOLDER_TYPE_ARCHIVE: + new_name = g_strconcat (modest_local_folder_info_get_type_display_name (folder_type), separator, NULL); + g_free (*item_name); + *item_name = new_name; + break; + default: + break; + } + } + } + g_free (prefix); +} + +static void text_cell_data (GtkTreeViewColumn *column, GtkCellRenderer *renderer, GtkTreeModel *tree_model, @@ -753,6 +799,8 @@ text_cell_data (GtkTreeViewColumn *column, format_compact_style (&item_name, instance, priv->mailbox, item_weight == 800, multiaccount, &use_markup); + } else { + replace_special_folder_prefix (&item_name); } if (item_name && item_weight) {