rpms/gdm/devel gdm-2.24.0-add-panel-slide.patch, NONE, 1.1 gdm.spec, 1.426, 1.427

Ray Strode rstrode at fedoraproject.org
Wed Oct 1 03:05:52 UTC 2008


Author: rstrode

Update of /cvs/pkgs/rpms/gdm/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28536

Modified Files:
	gdm.spec 
Added Files:
	gdm-2.24.0-add-panel-slide.patch 
Log Message:
- Make panel slide in initially like the gnome panel


gdm-2.24.0-add-panel-slide.patch:

--- NEW FILE gdm-2.24.0-add-panel-slide.patch ---
diff -up gdm-2.24.0/gui/simple-greeter/gdm-greeter-panel.c.add-panel-slide gdm-2.24.0/gui/simple-greeter/gdm-greeter-panel.c
--- gdm-2.24.0/gui/simple-greeter/gdm-greeter-panel.c.add-panel-slide	2008-08-21 00:31:47.000000000 -0400
+++ gdm-2.24.0/gui/simple-greeter/gdm-greeter-panel.c	2008-09-30 23:02:34.000000000 -0400
@@ -20,6 +20,7 @@
 
 #include "config.h"
 
+#include <math.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <sys/time.h>
@@ -40,6 +41,7 @@
 #include "gdm-language-option-widget.h"
 #include "gdm-layout-option-widget.h"
 #include "gdm-session-option-widget.h"
+#include "gdm-timer.h"
 #include "gdm-profile.h"
 
 #include "na-tray.h"
@@ -59,6 +61,9 @@ struct GdmGreeterPanelPrivate
         GtkWidget              *layout_option_widget;
         GtkWidget              *session_option_widget;
 
+        GdmTimer               *animation_timer;
+        double                  progress;
+
         char                   *default_session_name;
         char                   *default_language_name;
 };
@@ -349,7 +354,7 @@ update_geometry (GdmGreeterPanel *panel,
         panel->priv->geometry.height = requisition->height + 2 * GTK_CONTAINER (panel)->border_width;
 
         panel->priv->geometry.x = geometry.x;
-        panel->priv->geometry.y = geometry.y + geometry.height - panel->priv->geometry.height;
+        panel->priv->geometry.y = geometry.y + geometry.height - panel->priv->geometry.height + (1.0 - panel->priv->progress) * panel->priv->geometry.height;
 
 #if 0
         g_debug ("Setting geometry x:%d y:%d w:%d h:%d",
@@ -402,6 +407,39 @@ gdm_greeter_panel_real_size_request (Gtk
 
         gdm_greeter_panel_move_resize_window (panel, position_changed, size_changed);
 }
+static void
+gdm_greeter_panel_real_show (GtkWidget *widget)
+{
+        GdmGreeterPanel *panel;
+        GtkSettings *settings;
+        gboolean     animations_are_enabled;
+
+        settings = gtk_settings_get_for_screen (gtk_widget_get_screen (widget));
+        g_object_get (settings, "gtk-enable-animations", &animations_are_enabled, NULL);
+
+        panel = GDM_GREETER_PANEL (widget);
+
+        if (animations_are_enabled) {
+                gdm_timer_start (panel->priv->animation_timer, 1.0);
+        } else {
+                panel->priv->progress = 1.0;
+        }
+
+        GTK_WIDGET_CLASS (gdm_greeter_panel_parent_class)->show (widget);
+}
+
+static void
+gdm_greeter_panel_real_hide (GtkWidget *widget)
+{
+        GdmGreeterPanel *panel;
+
+        panel = GDM_GREETER_PANEL (widget);
+
+        gdm_timer_stop (panel->priv->animation_timer);
+        panel->priv->progress = 0.0;
+
+        GTK_WIDGET_CLASS (gdm_greeter_panel_parent_class)->hide (widget);
+}
 
 static void
 gdm_greeter_panel_class_init (GdmGreeterPanelClass *klass)
@@ -418,6 +456,9 @@ gdm_greeter_panel_class_init (GdmGreeter
         widget_class->realize = gdm_greeter_panel_real_realize;
         widget_class->unrealize = gdm_greeter_panel_real_unrealize;
         widget_class->size_request = gdm_greeter_panel_real_size_request;
+        widget_class->show = gdm_greeter_panel_real_show;
+        widget_class->hide = gdm_greeter_panel_real_hide;
+
         signals[LANGUAGE_SELECTED] =
                 g_signal_new ("language-selected",
                               G_TYPE_FROM_CLASS (object_class),
@@ -521,6 +562,15 @@ on_session_activated (GdmSessionOptionWi
 }
 
 static void
+on_animation_tick (GdmGreeterPanel *panel,
+                   double           progress)
+{
+        panel->priv->progress = progress * log ((G_E - 1.0) * progress + 1.0);
+
+        gtk_widget_queue_resize (GTK_WIDGET (panel));
+}
+
+static void
 gdm_greeter_panel_init (GdmGreeterPanel *panel)
 {
         NaTray    *tray;
@@ -605,6 +655,13 @@ gdm_greeter_panel_init (GdmGreeterPanel 
 
         gdm_greeter_panel_hide_user_options (panel);
 
+        panel->priv->progress = 0.0;
+        panel->priv->animation_timer = gdm_timer_new ();
+        g_signal_connect_swapped (panel->priv->animation_timer,
+                                  "tick",
+                                  G_CALLBACK (on_animation_tick),
+                                  panel);
+
         gdm_profile_end (NULL);
 }
 
@@ -620,6 +677,8 @@ gdm_greeter_panel_finalize (GObject *obj
 
         g_return_if_fail (greeter_panel->priv != NULL);
 
+        g_signal_handlers_disconnect_by_func (object, on_animation_tick, greeter_panel);
+
         G_OBJECT_CLASS (gdm_greeter_panel_parent_class)->finalize (object);
 }
 


Index: gdm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdm/devel/gdm.spec,v
retrieving revision 1.426
retrieving revision 1.427
diff -u -r1.426 -r1.427
--- gdm.spec	30 Sep 2008 21:32:05 -0000	1.426
+++ gdm.spec	1 Oct 2008 03:05:22 -0000	1.427
@@ -16,7 +16,7 @@
 Summary: The GNOME Display Manager
 Name: gdm
 Version: 2.24.0
-Release: 6%{?dist}
+Release: 7%{?dist}
 Epoch: 1
 License: GPLv2+
 Group: User Interface/X
@@ -93,6 +93,7 @@
 Patch9: gdm-2.23.92-fix-crash.patch
 # Fix pulled from upstream
 Patch10: gdm-2.24.0-fix-icon-scale.patch
+Patch11: gdm-2.24.0-add-panel-slide.patch
 
 # Fedora-specific
 Patch99: gdm-2.23.1-fedora-logo.patch
@@ -124,6 +125,7 @@
 %patch8 -p1 -b .another-locale-fixup
 %patch9 -p1 -b .fix-crash
 %patch10 -p1 -b .fix-icon-scale
+%patch11 -p1 -b .add-panel-slide
 
 %patch99 -p1 -b .fedora-logo
 
@@ -326,6 +328,9 @@
 %{_datadir}/gnome-2.0/ui/GNOME_FastUserSwitchApplet.xml
 
 %changelog
+* Tue Sep 30 2008 Ray Strode <rstrode at redhat.com> - 1:2.24.0-7
+- Make panel slide in initially like the gnome panel
+
 * Tue Sep 30 2008 Ray Strode <rstrode at redhat.com> - 1:2.24.0-6
 - drop background priority change.  Choppyiness in -3 ended up
   being a bug in gnome-settings-daemon.




More information about the scm-commits mailing list