GtkCellRenderer *messages_renderer;
GSList *signal_handlers;
- GdkColor *active_color;
+ GdkColor active_color;
};
#define MODEST_FOLDER_VIEW_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE((o), \
/* Remove mailbox prefix if any */
gchar *prefix = g_strconcat (mailbox, MODEST_FOLDER_PATH_SEPARATOR, NULL);
if (g_str_has_prefix (*item_name, prefix)) {
- gchar *new_item_name;
-
- new_item_name = g_strdup (*item_name + strlen (prefix));
- if (!g_ascii_strcasecmp (new_item_name, "Inbox")) {
- g_free (new_item_name);
- new_item_name = g_strdup (_("mcen_me_folder_inbox"));
- }
+ gchar *new_item_name = g_strdup (*item_name + strlen (prefix));
g_free (*item_name);
*item_name = new_item_name;
}
- } else if (!g_ascii_strcasecmp (*item_name, "Inbox")) {
-
- g_free (*item_name);
- *item_name = g_strdup (_("mcen_me_folder_inbox"));
}
if (!is_special || multiaccount) {
}
}
+ /* Convert INBOX */
+ if (type == TNY_FOLDER_TYPE_INBOX &&
+ !g_ascii_strcasecmp (fname, "Inbox")) {
+ g_free (item_name);
+ item_name = g_strdup (_("mcen_me_folder_inbox"));
+ }
+
if (!item_name)
item_name = g_strdup ("unknown");
if (item_name && item_weight) {
/* Set the name in the treeview cell: */
- if (priv->cell_style == MODEST_FOLDER_VIEW_CELL_STYLE_COMPACT && item_weight == 800 && priv->active_color) {
+ if (priv->cell_style == MODEST_FOLDER_VIEW_CELL_STYLE_COMPACT && item_weight == 800 &&
+ (priv->active_color.red != 0 || priv->active_color.blue != 0 || priv->active_color.green != 0)) {
g_object_set (rendobj,
"text", item_name,
"weight-set", FALSE,
"foreground-set", TRUE,
- "foreground-gdk", priv->active_color,
+ "foreground-gdk", &(priv->active_color),
NULL);
} else {
g_object_set (rendobj,
priv->messages_renderer = gtk_cell_renderer_text_new ();
g_object_set (priv->messages_renderer,
#ifdef MODEST_TOOLKIT_HILDON2
- "yalign", 0.0,
+ "yalign", 0.5,
"ypad", MODEST_MARGIN_DEFAULT,
"xpad", MODEST_MARGIN_DOUBLE,
#else
G_CALLBACK(on_configuration_key_changed),
obj);
- priv->active_color = NULL;
+ gdk_color_parse ("000", &priv->active_color);
update_style (obj);
priv->signal_handlers = modest_signal_mgr_connect (priv->signal_handlers,
klass->set_account_store = modest_folder_view_set_account_store;
}
+static gboolean
+match_all (TnyList *list, GObject *item, gpointer match_data)
+{
+ return TRUE;
+}
+
static void
modest_folder_view_dispose (GObject *obj)
{
static gboolean disposed = FALSE;
ModestFolderViewPrivate *priv;
+ GtkTreeModel *model;
if (disposed)
return;
priv = MODEST_FOLDER_VIEW_GET_PRIVATE (obj);
+ model = gtk_tree_view_get_model (GTK_TREE_VIEW (obj));
+ tny_list_remove_matches (TNY_LIST (model), match_all, NULL);
+
#ifdef MODEST_TOOLKIT_HILDON2
modest_signal_mgr_disconnect_all_and_destroy (priv->signal_handlers);
#endif
priv = MODEST_FOLDER_VIEW_GET_PRIVATE(obj);
- if (priv->active_color) {
- gdk_color_free (priv->active_color);
- priv->active_color = NULL;
- }
-
if (priv->timer_expander != 0) {
g_source_remove (priv->timer_expander);
priv->timer_expander = 0;
/* Clear hidding array created by cut operation */
_clear_hidding_filter (MODEST_FOLDER_VIEW (obj));
+ gdk_color_parse ("000", &priv->active_color);
+
G_OBJECT_CLASS(parent_class)->finalize (obj);
}
#ifdef MODEST_TOOLKIT_HILDON2
TnyGtkFolderListStoreFlags flags;
flags = TNY_GTK_FOLDER_LIST_STORE_FLAG_SHOW_PATH;
- if (!priv->do_refresh)
- flags &= TNY_GTK_FOLDER_LIST_STORE_FLAG_NO_REFRESH;
+ if (priv->do_refresh)
+ flags |= TNY_GTK_FOLDER_LIST_STORE_FLAG_DELAYED_REFRESH;
+ else
+ flags |= TNY_GTK_FOLDER_LIST_STORE_FLAG_NO_REFRESH;
model = tny_gtk_folder_list_store_new_with_flags (NULL,
flags);
tny_gtk_folder_list_store_set_path_separator (TNY_GTK_FOLDER_LIST_STORE (model),
/* Set copied model */
gtk_tree_view_set_model (GTK_TREE_VIEW (folder_view_dst), new_filter_model);
#ifndef MODEST_TOOLKIT_HILDON2
- priv->signal_handlers = modest_signal_mgr_connect (priv->signal_handlers,
- G_OBJECT(new_filter_model), "row-inserted",
- (GCallback) on_row_inserted_maybe_select_folder,
- folder_view_dst);
+ dst_priv->signal_handlers = modest_signal_mgr_connect (dst_priv->signal_handlers,
+ G_OBJECT(new_filter_model), "row-inserted",
+ (GCallback) on_row_inserted_maybe_select_folder,
+ folder_view_dst);
#endif
#ifdef MODEST_TOOLKIT_HILDON2
if (new_tny_model) {
NULL);
pango_attr_list_unref (attr_list);
}
- if (priv->active_color)
- gdk_color_free (priv->active_color);
if (gtk_style_lookup_color (GTK_WIDGET (self)->style, "ActiveTextColor", &style_active_color)) {
- priv->active_color = gdk_color_copy (&style_active_color);
+ priv->active_color = style_active_color;
+ } else {
+ gdk_color_parse ("000", &(priv->active_color));
}
}