aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-02-11 19:15:12 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-02-17 20:42:09 +0800
commit81fe71399ae0fea7e5a522e998e129e5cb9e756f (patch)
treebf2f8536b824af46c102883bd38fd501c7da38bb
parent0f4470c3e892cdbb0e6fdda9d300d0a84b6ff62e (diff)
downloadgsoc2013-empathy-81fe71399ae0fea7e5a522e998e129e5cb9e756f.tar
gsoc2013-empathy-81fe71399ae0fea7e5a522e998e129e5cb9e756f.tar.gz
gsoc2013-empathy-81fe71399ae0fea7e5a522e998e129e5cb9e756f.tar.bz2
gsoc2013-empathy-81fe71399ae0fea7e5a522e998e129e5cb9e756f.tar.lz
gsoc2013-empathy-81fe71399ae0fea7e5a522e998e129e5cb9e756f.tar.xz
gsoc2013-empathy-81fe71399ae0fea7e5a522e998e129e5cb9e756f.tar.zst
gsoc2013-empathy-81fe71399ae0fea7e5a522e998e129e5cb9e756f.zip
cell-renderer-expander: remove animation code
It's broken and useless any way.
-rw-r--r--libempathy-gtk/empathy-cell-renderer-expander.c163
1 files changed, 0 insertions, 163 deletions
diff --git a/libempathy-gtk/empathy-cell-renderer-expander.c b/libempathy-gtk/empathy-cell-renderer-expander.c
index d6fa87748..de099fbad 100644
--- a/libempathy-gtk/empathy-cell-renderer-expander.c
+++ b/libempathy-gtk/empathy-cell-renderer-expander.c
@@ -20,15 +20,6 @@
* Authors: Kristian Rietveld <kris@imendio.com>
*/
-/* To do:
- * - should probably cancel animation if model changes
- * - need to handle case where node-in-animation is removed
- * - it only handles a single animation at a time; but I guess users
- * aren't fast enough to trigger two or more animations at once anyway :P
- * (could guard for this by just cancelling the "old" animation, and
- * start the new one).
- */
-
#include <gtk/gtk.h>
#include <libempathy/empathy-utils.h>
@@ -39,14 +30,7 @@ typedef struct {
GtkExpanderStyle expander_style;
gint expander_size;
- GtkTreeView *animation_view;
- GtkTreeRowReference *animation_node;
- GtkExpanderStyle animation_style;
- guint animation_timeout;
- GdkRectangle animation_area;
-
guint activatable : 1;
- guint animation_expanding : 1;
} EmpathyCellRendererExpanderPriv;
enum {
@@ -98,7 +82,6 @@ empathy_cell_renderer_expander_init (EmpathyCellRendererExpander *expander)
priv->expander_style = GTK_EXPANDER_COLLAPSED;
priv->expander_size = 12;
priv->activatable = TRUE;
- priv->animation_node = NULL;
g_object_set (expander,
"xpad", 2,
@@ -224,15 +207,6 @@ empathy_cell_renderer_expander_finalize (GObject *object)
priv = GET_PRIV (object);
- if (priv->animation_timeout) {
- g_source_remove (priv->animation_timeout);
- priv->animation_timeout = 0;
- }
-
- if (priv->animation_node) {
- gtk_tree_row_reference_free (priv->animation_node);
- }
-
(* G_OBJECT_CLASS (empathy_cell_renderer_expander_parent_class)->finalize) (object);
}
@@ -301,7 +275,6 @@ empathy_cell_renderer_expander_render (GtkCellRenderer *cell,
{
EmpathyCellRendererExpander *expander;
EmpathyCellRendererExpanderPriv *priv;
- GtkExpanderStyle expander_style;
gint x_offset, y_offset;
guint xpad, ypad;
@@ -309,23 +282,6 @@ empathy_cell_renderer_expander_render (GtkCellRenderer *cell,
expander = (EmpathyCellRendererExpander *) cell;
priv = GET_PRIV (expander);
- if (priv->animation_node) {
- GtkTreePath *path;
- GdkRectangle rect;
-
- /* Not sure if I like this ... */
- path = gtk_tree_row_reference_get_path (priv->animation_node);
- gtk_tree_view_get_background_area (priv->animation_view, path,
- NULL, &rect);
- gtk_tree_path_free (path);
-
- if (background_area->y == rect.y)
- expander_style = priv->animation_style;
- else
- expander_style = priv->expander_style;
- } else
- expander_style = priv->expander_style;
-
empathy_cell_renderer_expander_get_size (cell, widget,
(GdkRectangle *) cell_area,
&x_offset, &y_offset,
@@ -344,109 +300,6 @@ empathy_cell_renderer_expander_render (GtkCellRenderer *cell,
priv->expander_size);
}
-static void
-invalidate_node (GtkTreeView *tree_view,
- GtkTreePath *path)
-{
- GdkWindow *bin_window;
- GdkRectangle rect;
- GtkAllocation allocation;
-
- bin_window = gtk_tree_view_get_bin_window (tree_view);
-
- gtk_tree_view_get_background_area (tree_view, path, NULL, &rect);
-
- rect.x = 0;
- gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation);
- rect.width = allocation.width;
-
- gdk_window_invalidate_rect (bin_window, &rect, TRUE);
-}
-
-static gboolean
-do_animation (EmpathyCellRendererExpander *expander)
-{
- EmpathyCellRendererExpanderPriv *priv;
- GtkTreePath *path;
- gboolean done = FALSE;
-
- priv = GET_PRIV (expander);
-
- if (priv->animation_expanding) {
- if (priv->animation_style == GTK_EXPANDER_SEMI_COLLAPSED)
- priv->animation_style = GTK_EXPANDER_SEMI_EXPANDED;
- else if (priv->animation_style == GTK_EXPANDER_SEMI_EXPANDED) {
- priv->animation_style = GTK_EXPANDER_EXPANDED;
- done = TRUE;
- }
- } else {
- if (priv->animation_style == GTK_EXPANDER_SEMI_EXPANDED)
- priv->animation_style = GTK_EXPANDER_SEMI_COLLAPSED;
- else if (priv->animation_style == GTK_EXPANDER_SEMI_COLLAPSED) {
- priv->animation_style = GTK_EXPANDER_COLLAPSED;
- done = TRUE;
- }
- }
-
- path = gtk_tree_row_reference_get_path (priv->animation_node);
- invalidate_node (priv->animation_view, path);
- gtk_tree_path_free (path);
-
- if (done) {
- gtk_tree_row_reference_free (priv->animation_node);
- priv->animation_node = NULL;
- priv->animation_timeout = 0;
- }
-
- return !done;
-}
-
-static gboolean
-animation_timeout (gpointer data)
-{
- gboolean retval;
-
- GDK_THREADS_ENTER ();
-
- retval = do_animation (data);
-
- GDK_THREADS_LEAVE ();
-
- return retval;
-}
-
-static void
-empathy_cell_renderer_expander_start_animation (EmpathyCellRendererExpander *expander,
- GtkTreeView *tree_view,
- GtkTreePath *path,
- gboolean expanding,
- const GdkRectangle *background_area)
-{
- EmpathyCellRendererExpanderPriv *priv;
-
- priv = GET_PRIV (expander);
-
- if (priv->animation_timeout != 0) {
- g_source_remove (priv->animation_timeout);
- priv->animation_timeout = 0;
- gtk_tree_row_reference_free (priv->animation_node);
- priv->animation_node = NULL;
- }
-
- if (expanding) {
- priv->animation_style = GTK_EXPANDER_SEMI_COLLAPSED;
- } else {
- priv->animation_style = GTK_EXPANDER_SEMI_EXPANDED;
- }
-
- invalidate_node (tree_view, path);
-
- priv->animation_expanding = expanding;
- priv->animation_view = tree_view;
- priv->animation_node = gtk_tree_row_reference_new (gtk_tree_view_get_model (tree_view), path);
- priv->animation_timeout = g_timeout_add (50, animation_timeout, expander);
-}
-
static gboolean
empathy_cell_renderer_expander_activate (GtkCellRenderer *cell,
GdkEvent *event,
@@ -459,8 +312,6 @@ empathy_cell_renderer_expander_activate (GtkCellRenderer *cell,
EmpathyCellRendererExpander *expander;
EmpathyCellRendererExpanderPriv *priv;
GtkTreePath *path;
- gboolean animate;
- gboolean expanding;
expander = EMPATHY_CELL_RENDERER_EXPANDER (cell);
priv = GET_PRIV (cell);
@@ -475,24 +326,10 @@ empathy_cell_renderer_expander_activate (GtkCellRenderer *cell,
return TRUE;
}
- g_object_get (gtk_widget_get_settings (GTK_WIDGET (widget)),
- "gtk-enable-animations", &animate,
- NULL);
-
if (gtk_tree_view_row_expanded (GTK_TREE_VIEW (widget), path)) {
gtk_tree_view_collapse_row (GTK_TREE_VIEW (widget), path);
- expanding = FALSE;
} else {
gtk_tree_view_expand_row (GTK_TREE_VIEW (widget), path, FALSE);
- expanding = TRUE;
- }
-
- if (animate) {
- empathy_cell_renderer_expander_start_animation (expander,
- GTK_TREE_VIEW (widget),
- path,
- expanding,
- background_area);
}
gtk_tree_path_free (path);