gboolean selected,
ModestMainWindow *main_window)
{
- gchar *txt;
ModestConf *conf;
GtkWidget *header_view;
modest_header_view_set_folder (MODEST_HEADER_VIEW(header_view), NULL);
} else { /* the folder was selected */
if (folder) { /* folder may be NULL */
- guint num, unread;
+ guint unread;
- num = tny_folder_get_all_count (folder);
+ /* Change main window title */
unread = tny_folder_get_unread_count (folder);
- /* Change main window title */
- gtk_window_set_title (GTK_WINDOW(main_window),
- tny_folder_get_name (folder));
-
- txt = g_strdup_printf (_("%d %s, %d unread"),
- num, num==1 ? _("item") : _("items"), unread);
- //gtk_label_set_label (GTK_LABEL(folder_info_label), txt);
- g_free (txt);
+ if (unread == 0) {
+ gtk_window_set_title (GTK_WINDOW(main_window),
+ tny_folder_get_name (folder));
+ } else {
+ gchar *txt = g_strdup_printf (_("%s (%d)"),
+ tny_folder_get_name (folder),
+ unread);
+ gtk_window_set_title (GTK_WINDOW(main_window), txt);
+ g_free (txt);
+ }
} else {
gtk_window_set_title (GTK_WINDOW(main_window), NULL);
}
gchar *fname = NULL;
gint unread;
TnyFolderType type;
- TnyFolder *folder = NULL;
+ GObject *instance = NULL;
g_return_if_fail (column);
g_return_if_fail (tree_model);
TNY_GTK_FOLDER_STORE_TREE_MODEL_NAME_COLUMN, &fname,
TNY_GTK_FOLDER_STORE_TREE_MODEL_UNREAD_COLUMN, &unread,
TNY_GTK_FOLDER_STORE_TREE_MODEL_TYPE_COLUMN, &type,
- TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, &folder,
+ TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, &instance,
-1);
rendobj = G_OBJECT(renderer);
if (!fname)
return;
- if (!folder) {
+ if (!instance) {
g_free (fname);
return;
}
if (type != TNY_FOLDER_TYPE_ROOT) {
- if (modest_tny_folder_is_local_folder (folder)) {
+ if (modest_tny_folder_is_local_folder (TNY_FOLDER (instance))) {
TnyFolderType type;
- type = modest_tny_folder_get_local_folder_type (folder);
+ type = modest_tny_folder_get_local_folder_type (TNY_FOLDER (instance));
if (type != TNY_FOLDER_TYPE_UNKNOWN) {
g_free (fname);
fname = g_strdup(modest_local_folder_info_get_type_display_name (type));
} else {
ModestFolderViewPrivate *priv;
- const gchar *account_name;
+ const gchar *account_name, *account_id;
priv = MODEST_FOLDER_VIEW_GET_PRIVATE (data);
+ /* If it's a server account */
+ account_id = tny_account_get_id (TNY_ACCOUNT (instance));
+ if (!strcmp (account_id, MODEST_LOCAL_FOLDERS_ACCOUNT_ID)) {
+ account_name = priv->local_account_name;
+ } else {
+ if (!strcmp (account_id, MODEST_MMC_ACCOUNT_ID)) {
+ /* TODO: get MMC card name */
+ } else {
+ account_name = fname;
+ }
+ }
+
/* Use bold font style */
- account_name = priv->local_account_name;
g_object_set (rendobj,"text", account_name, "weight", 800, NULL);
-/* if (modest_tny_folder_is_local_folder (folder)) { */
-/* } else { */
-/* if () { */
-/* } else { */
-/* } */
-/* } */
}
- g_object_unref (G_OBJECT (folder));
+ g_object_unref (G_OBJECT (instance));
g_free (fname);
}
icon_cell_data (GtkTreeViewColumn *column, GtkCellRenderer *renderer,
GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data)
{
- GObject *rendobj;
+ GObject *rendobj, *instance;
GdkPixbuf *pixbuf;
TnyFolderType type;
gchar *fname = NULL;
+ const gchar *account_id = NULL;
gint unread;
rendobj = G_OBJECT(renderer);
TNY_GTK_FOLDER_STORE_TREE_MODEL_TYPE_COLUMN, &type,
TNY_GTK_FOLDER_STORE_TREE_MODEL_NAME_COLUMN, &fname,
TNY_GTK_FOLDER_STORE_TREE_MODEL_UNREAD_COLUMN, &unread,
+ TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, &instance,
-1);
- rendobj = G_OBJECT(renderer);
+
+ if (!fname)
+ return;
+
+ if (!instance) {
+ g_free (fname);
+ return;
+ }
if (type == TNY_FOLDER_TYPE_NORMAL || type == TNY_FOLDER_TYPE_UNKNOWN) {
type = modest_tny_folder_guess_folder_type_from_name (fname);
}
- g_free (fname);
switch (type) {
case TNY_FOLDER_TYPE_ROOT:
- pixbuf = modest_platform_get_icon (MODEST_FOLDER_ICON_ACCOUNT);
+ account_id = tny_account_get_id (TNY_ACCOUNT (instance));
+ if (!strcmp (account_id, MODEST_LOCAL_FOLDERS_ACCOUNT_ID)) {
+ pixbuf = modest_platform_get_icon (MODEST_FOLDER_ICON_LOCAL_FOLDERS);
+ } else {
+ if (!strcmp (account_id, MODEST_MMC_ACCOUNT_ID))
+ pixbuf = modest_platform_get_icon (MODEST_FOLDER_ICON_MMC);
+ else
+ pixbuf = modest_platform_get_icon (MODEST_FOLDER_ICON_ACCOUNT);
+ }
break;
case TNY_FOLDER_TYPE_INBOX:
pixbuf = modest_platform_get_icon (MODEST_FOLDER_ICON_INBOX);
pixbuf = modest_platform_get_icon (MODEST_FOLDER_ICON_NORMAL);
break;
}
+ g_object_unref (G_OBJECT (instance));
+ g_free (fname);
+
+ /* Set pixbuf */
g_object_set (rendobj, "pixbuf", pixbuf, NULL);
}
gboolean modest_folder_view_update_model (ModestFolderView *self,
TnyAccountStore *account_store);
+/**
+ * modest_folder_view_get_selected_display_name:
+ * @self: a #ModestFolderView
+ *
+ * returns a the display name of the currently selected
+ * #TnyFolder. Note that it could be different to the name returned by
+ * the #TnyFolder that could be get using
+ * modest_folder_view_get_selected, because it for example could
+ * contain the unread messages between brackets
+ *
+ * Returns: the display name of the currently selected #TnyFolder or
+ * NULL if none is selected
+ **/
+const gchar* modest_folder_view_get_selected_display_name (ModestFolderView *self);
+
G_END_DECLS
#endif /* __MODEST_FOLDER_VIEW_H__ */