aboutsummaryrefslogtreecommitdiffstats
path: root/lib/widgets/ephy-overview-store.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/widgets/ephy-overview-store.c')
-rw-r--r--lib/widgets/ephy-overview-store.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/widgets/ephy-overview-store.c b/lib/widgets/ephy-overview-store.c
index 5ec9f9925..312a24ffc 100644
--- a/lib/widgets/ephy-overview-store.c
+++ b/lib/widgets/ephy-overview-store.c
@@ -21,7 +21,9 @@
#include "config.h"
#include "ephy-history-service.h"
#include "ephy-overview-store.h"
+#include "ephy-removable-pixbuf-renderer.h"
#include "ephy-snapshot-service.h"
+#include "ephy-widgets-type-builtins.h"
/* Update thumbnails after one week. */
#define THUMBNAIL_UPDATE_THRESHOLD (60 * 60 * 24 * 7)
@@ -163,6 +165,7 @@ ephy_overview_store_init (EphyOverviewStore *self)
types[EPHY_OVERVIEW_STORE_SELECTED] = G_TYPE_BOOLEAN;
types[EPHY_OVERVIEW_STORE_SNAPSHOT_CANCELLABLE] = G_TYPE_CANCELLABLE;
types[EPHY_OVERVIEW_STORE_SNAPSHOT_MTIME] = G_TYPE_LONG;
+ types[EPHY_OVERVIEW_STORE_CLOSE_BUTTON_RENDER_POLICY] = EPHY_TYPE_REMOVABLE_PIXBUF_RENDER_POLICY;
gtk_list_store_set_column_types (GTK_LIST_STORE (self),
EPHY_OVERVIEW_STORE_NCOLS, types);
@@ -572,12 +575,22 @@ ephy_overview_store_animated_remove (EphyOverviewStore *store,
EphyOverviewStoreAnimRemoveFunc callback,
gpointer user_data)
{
+ GtkTreePath *path;
+ GtkTreeIter iter;
AnimRemoveContext *ctx = g_slice_new0 (AnimRemoveContext);
ctx->ref = ref;
ctx->callback = callback;
ctx->user_data = user_data;
+ path = gtk_tree_row_reference_get_path (ref);
+ gtk_tree_model_get_iter (GTK_TREE_MODEL (store), &iter, path);
+ gtk_tree_path_free (path);
+
+ gtk_list_store_set (GTK_LIST_STORE (store), &iter,
+ EPHY_OVERVIEW_STORE_CLOSE_BUTTON_RENDER_POLICY,
+ EPHY_REMOVABLE_PIXBUF_RENDER_NEVER, -1);
+
g_timeout_add (40, (GSourceFunc) animated_remove_func, ctx);
}