[evolution/gnome-3-18] Disable animation of the GtkInfoBar's revealer



commit 9623308651595745e8703dd410010e3d4c92032d
Author: Milan Crha <mcrha redhat com>
Date:   Wed Nov 18 11:39:13 2015 +0100

    Disable animation of the GtkInfoBar's revealer
    
    Workaround, until bug #710888 is fixed.

 e-util/e-activity-bar.c |   17 +++++++++++++++++
 e-util/e-alert-bar.c    |    8 ++++++++
 2 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/e-util/e-activity-bar.c b/e-util/e-activity-bar.c
index 62f205f..33145e5 100644
--- a/e-util/e-activity-bar.c
+++ b/e-util/e-activity-bar.c
@@ -247,6 +247,22 @@ activity_bar_get_property (GObject *object,
 }
 
 static void
+activity_bar_constructed (GObject *object)
+{
+       GObject *revealer;
+
+       /* Chain up to parent's method. */
+       G_OBJECT_CLASS (e_activity_bar_parent_class)->constructed (object);
+
+       /* Disable animation of the revealer, until GtkInfoBar's bug #710888 is fixed */
+       revealer = gtk_widget_get_template_child (GTK_WIDGET (object), GTK_TYPE_INFO_BAR, "revealer");
+       if (revealer) {
+               gtk_revealer_set_transition_type (GTK_REVEALER (revealer), GTK_REVEALER_TRANSITION_TYPE_NONE);
+               gtk_revealer_set_transition_duration (GTK_REVEALER (revealer), 0);
+       }
+}
+
+static void
 activity_bar_dispose (GObject *object)
 {
        EActivityBarPrivate *priv;
@@ -284,6 +300,7 @@ e_activity_bar_class_init (EActivityBarClass *class)
        object_class = G_OBJECT_CLASS (class);
        object_class->set_property = activity_bar_set_property;
        object_class->get_property = activity_bar_get_property;
+       object_class->constructed = activity_bar_constructed;
        object_class->dispose = activity_bar_dispose;
 
        g_object_class_install_property (
diff --git a/e-util/e-alert-bar.c b/e-util/e-alert-bar.c
index f5533fd..3e6db39 100644
--- a/e-util/e-alert-bar.c
+++ b/e-util/e-alert-bar.c
@@ -257,6 +257,7 @@ alert_bar_constructed (GObject *object)
        GtkWidget *content_area;
        GtkWidget *container;
        GtkWidget *widget;
+       GObject *revealer;
 
        priv = E_ALERT_BAR_GET_PRIVATE (object);
 
@@ -304,6 +305,13 @@ alert_bar_constructed (GObject *object)
        gtk_widget_show (widget);
 
        container = action_area;
+
+       /* Disable animation of the revealer, until GtkInfoBar's bug #710888 is fixed */
+       revealer = gtk_widget_get_template_child (GTK_WIDGET (object), GTK_TYPE_INFO_BAR, "revealer");
+       if (revealer) {
+               gtk_revealer_set_transition_type (GTK_REVEALER (revealer), GTK_REVEALER_TRANSITION_TYPE_NONE);
+               gtk_revealer_set_transition_duration (GTK_REVEALER (revealer), 0);
+       }
 }
 
 static GtkSizeRequestMode


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]