Put bold only the folder name, not the full path
authorJose Dapena Paz <jdapena@igalia.com>
Thu, 27 Nov 2008 16:41:20 +0000 (16:41 +0000)
committerJose Dapena Paz <jdapena@igalia.com>
Thu, 27 Nov 2008 16:41:20 +0000 (16:41 +0000)
pmo-drop-split-view-r6453

src/widgets/modest-folder-view.c

index 35f7a51..d710beb 100644 (file)
@@ -433,6 +433,8 @@ format_compact_style (gchar **item_name,
        TnyAccount *account;
        gboolean is_special;
        TnyFolderType folder_type;
+       const gchar *folder_name;
+       gboolean concat_folder_name = FALSE;
 
        if (!TNY_IS_FOLDER (instance))
                return;
@@ -442,21 +444,33 @@ format_compact_style (gchar **item_name,
        if (account == NULL)
                return;
 
+       folder_name = tny_folder_get_name (folder);
+       if (g_str_has_suffix (*item_name, folder_name)) {
+               gchar *offset = g_strrstr (*item_name, folder_name);
+               *offset = '\0';
+               concat_folder_name = TRUE;
+       }
+
        folder_type = tny_folder_get_folder_type (folder);
        is_special = (get_cmp_pos (folder_type, folder)!= 4);
 
-       buffer = g_string_new ("");
        if (!is_special) {
+               buffer = g_string_new ("");
                buffer = g_string_append (buffer, tny_account_get_name (account));
                buffer = g_string_append (buffer, MODEST_FOLDER_PATH_SEPARATOR);
+               buffer = g_string_append (buffer, *item_name);
+               if (concat_folder_name) {
+                       if (bold) buffer = g_string_append (buffer, "<span weight='bold'>");
+                       buffer = g_string_append (buffer, folder_name);
+                       if (bold) buffer = g_string_append (buffer, "</span>");
+               }
+               g_free (*item_name);
+               *item_name = g_string_free (buffer, FALSE);
+               *use_markup = bold;
+       } else {
+               *use_markup = FALSE;
        }
-       if (bold) buffer = g_string_append (buffer, "<span weight='bold'>");
-       buffer = g_string_append (buffer, *item_name);
-       if (bold) buffer = g_string_append (buffer, "</span>");
-       g_free (*item_name);
-       *item_name = g_string_free (buffer, FALSE);
 
-       *use_markup = bold;
 
        g_object_unref (account);
 }