rpms/gnome-screensaver/FC-5 gnome-screensaver-2.14.2-lock-dialog.patch, NONE, 1.1 gnome-screensaver.spec, 1.66, 1.67

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue May 30 03:59:43 UTC 2006


Author: mclasen

Update of /cvs/dist/rpms/gnome-screensaver/FC-5
In directory cvs.devel.redhat.com:/tmp/cvs-serv2089

Modified Files:
	gnome-screensaver.spec 
Added Files:
	gnome-screensaver-2.14.2-lock-dialog.patch 
Log Message:
fix patches


gnome-screensaver-2.14.2-lock-dialog.patch:
 configure           |    4 -
 configure.ac        |    1 
 src/gs-job.c        |    1 
 src/gs-lock-plug.c  |  130 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/gs-manager.c    |    3 +
 src/gs-window-x11.c |    1 
 6 files changed, 136 insertions(+), 4 deletions(-)

--- NEW FILE gnome-screensaver-2.14.2-lock-dialog.patch ---
--- gnome-screensaver-2.14.2/src/gs-lock-plug.c.lock-dialog	2006-05-29 23:35:46.000000000 -0400
+++ gnome-screensaver-2.14.2/src/gs-lock-plug.c	2006-05-29 23:48:59.000000000 -0400
@@ -36,6 +36,7 @@
 #include <gdk/gdkx.h>
 #include <X11/XKBlib.h>
 #include <gtk/gtk.h>
+#include <glade/glade-xml.h>
 
 /* for fast user switching */
 #include <libgnomevfs/gnome-vfs-init.h>
@@ -184,6 +185,9 @@
 
         plug = GS_LOCK_PLUG (widget);
 
+        if (!plug->vbox)
+                return;
+
         gtk_container_set_border_width (GTK_CONTAINER (plug->vbox), 24);
         gtk_box_set_spacing (GTK_BOX (plug->vbox), 12);
 
@@ -271,7 +275,8 @@
 set_status_text (GSLockPlug *plug,
                  const char *text)
 {
-        gtk_label_set_text (GTK_LABEL (plug->priv->status_label), text);
+	if (plug->priv->status_label)
+        	gtk_label_set_text (GTK_LABEL (plug->priv->status_label), text);
 }
 
 static void
@@ -344,7 +349,10 @@
         }
 
         if (response_id == GS_LOCK_PLUG_RESPONSE_OK) {
-                gint current_page = gtk_notebook_get_current_page (GTK_NOTEBOOK (plug->priv->notebook));
+                gint current_page = AUTH_PAGE;
+
+                if (plug->priv->notebook)
+                        current_page = gtk_notebook_get_current_page (GTK_NOTEBOOK (plug->priv->notebook));
 
                 if (current_page == AUTH_PAGE) {
                         set_dialog_sensitive (plug, FALSE);
@@ -415,6 +423,9 @@
 
         plug->priv->caps_lock_on = is_on;
 
+        if (!plug->priv->capslock_label)
+               return;
+
         if (is_on) {
                 gtk_label_set_text (GTK_LABEL (plug->priv->capslock_label),
                                     _("You have the Caps Lock key on."));
@@ -483,6 +494,7 @@
 gs_lock_plug_size_request (GtkWidget      *widget,
                            GtkRequisition *requisition)
 {
+        GSLockPlug *plug = GS_LOCK_PLUG (widget);
         int mod_width;
         int mod_height;
 
@@ -490,6 +502,10 @@
                 GTK_WIDGET_CLASS (parent_class)->size_request (widget, requisition);
         }
 
+        /* don't constrain size when themed */
+        if (plug->vbox == NULL)
+               return;
+
         mod_width = requisition->height * 1.3;
         mod_height = requisition->width / 1.6;
         if (requisition->width < mod_width) {
@@ -515,6 +531,9 @@
         plug->priv->logout_enabled = logout_enabled;
         g_object_notify (G_OBJECT (plug), "logout-enabled");
 
+        if (!plug->priv->logout_button)
+                return;
+
         if (logout_enabled) {
                 gtk_widget_show (plug->priv->logout_button);
         } else {
@@ -1660,6 +1679,106 @@
         profile_end ("end", "buttons");
 }
 
+ 
+ static void
+ unlock_button_clicked (GtkButton  *button,
+                        GSLockPlug *plug)
+ {
+         gs_lock_plug_response (plug, GS_LOCK_PLUG_RESPONSE_OK);
+ }
+ 
+ static void
+ cancel_button_clicked (GtkButton  *button,
+                        GSLockPlug *plug)
+ {
+         gs_lock_plug_response (plug, GS_LOCK_PLUG_RESPONSE_CANCEL);
+ }
+ 
+ static gboolean
+ load_theme (GSLockPlug *plug)
+ {
+         const gchar *theme;
+         gchar *glade;
+         gchar *rc;
+         GladeXML *xml;
+         GtkWidget *lock_dialog;
+         GtkWidget *unlock_button;
+         const gchar themedir[] = "/usr/share/gnome-screensaver/themes/";
+         gchar *str;
+ 
+         theme = g_getenv ("GNOME_SCREENSAVER_THEME");
+ 
+         if (!theme)
+                 return FALSE;
+ 
+        /* FIXME use prefix here */
+         glade = g_strconcat (themedir, theme, "-lock-dialog.glade", NULL);
+         if (!g_file_test (glade, G_FILE_TEST_IS_REGULAR)) {
+                 g_free (glade);
+                 return FALSE;
+         }
+ 
+         rc = g_strconcat (themedir, theme, "-lock-dialog.gtkrc", NULL);
+         if (g_file_test (rc, G_FILE_TEST_IS_REGULAR))
+                 gtk_rc_parse (rc);
+         g_free (rc);
+ 
+ 
+         xml = glade_xml_new (glade, "lock-dialog", NULL);
+ 
+         if (!xml) {
+                 g_warning ("Failed to load '%s'\n", glade);
+                 g_free (glade);
+                 return FALSE;
+         }
+         g_free (glade);
+ 
+         lock_dialog = glade_xml_get_widget (xml, "lock-dialog");
+         gtk_container_add (GTK_CONTAINER (plug), lock_dialog);
+         gtk_widget_show_all (lock_dialog);
+ 
+         plug->vbox = NULL;
+         plug->action_area = glade_xml_get_widget (xml, "action-area");
+         plug->priv->notebook = NULL;
+         plug->priv->username_label = glade_xml_get_widget (xml, "username-label");
+         plug->priv->password_entry = glade_xml_get_widget (xml, "password-entry");
+         plug->priv->capslock_label = glade_xml_get_widget (xml, "capslock-label");
+         plug->priv->status_label = glade_xml_get_widget (xml, "status-label");
+         plug->priv->user_treeview = NULL;
+         plug->priv->ok_button = NULL;
+         plug->priv->cancel_button = glade_xml_get_widget (xml, "cancel-button");
+         plug->priv->logout_button = glade_xml_get_widget (xml, "logout-button");
+         plug->priv->switch_button = NULL;
+         unlock_button = glade_xml_get_widget (xml, "unlock-button");
+        gtk_widget_grab_default (unlock_button);
+ 
+         /* FIXME should let the theme determine the font size */
+        str = g_strdup_printf ("<big><big><big><big><big>%s</big></big></big></big></big>", g_get_user_name ());
+         gtk_label_set_markup (GTK_LABEL (plug->priv->username_label), str);
+         g_free (str);
+ 
+         plug->priv->timeout = DIALOG_TIMEOUT_MSEC;
+ 
+         g_signal_connect (plug->priv->password_entry, "button_press_event",
+                           G_CALLBACK (entry_button_press), NULL);
+ 
+         g_signal_connect (plug->priv->password_entry, "key_press_event",
+                           G_CALLBACK (entry_key_press), plug);
+ 
+         g_signal_connect (unlock_button, "clicked",
+                           G_CALLBACK (unlock_button_clicked), plug);
+ 
+         g_signal_connect (plug->priv->cancel_button, "clicked",
+                           G_CALLBACK (cancel_button_clicked), plug);
+ 
+         if (plug->priv->logout_button)
+                 g_signal_connect (plug->priv->logout_button, "clicked",
+                                   G_CALLBACK (logout_button_clicked), plug);
+ 
+         return TRUE;
+ }
+ 
+
 static void
 gs_lock_plug_init (GSLockPlug *plug)
 {
@@ -1669,6 +1788,13 @@
 
         plug->priv->fusa_manager = NULL;
 
+         if (load_theme (plug)) {
+ 
+                 profile_end ("end", NULL);
+ 
+                 return;
+         }
+ 
         /* Dialog emulation */
 
         plug->vbox = gtk_vbox_new (FALSE, 0);
--- gnome-screensaver-2.14.2/src/gs-manager.c.lock-dialog	2006-05-29 23:49:30.000000000 -0400
+++ gnome-screensaver-2.14.2/src/gs-manager.c	2006-05-29 23:50:12.000000000 -0400
@@ -147,6 +147,9 @@
 
         theme = select_theme (manager);
 
+        /* FIXME: quick hack using an env var to communicate */
+        g_setenv ("GNOME_SCREENSAVER_THEME", theme, TRUE);
+
         gs_job_stop (job);
         gs_job_set_theme (job, theme, NULL);
         gs_job_start (job);
--- gnome-screensaver-2.14.2/src/gs-job.c.lock-dialog	2006-05-29 23:50:25.000000000 -0400
+++ gnome-screensaver-2.14.2/src/gs-job.c	2006-05-29 23:51:00.000000000 -0400
@@ -571,6 +571,7 @@
                 "XAUTHORITY",
                 "XAUTHLOCALHOSTNAME",
                 "LANG",
+		"GNOME_SCREENSAVER_THEME",
                 "LANGUAGE"
         };
 
--- gnome-screensaver-2.14.2/src/gs-window-x11.c.lock-dialog	2006-05-29 23:51:26.000000000 -0400
+++ gnome-screensaver-2.14.2/src/gs-window-x11.c	2006-05-29 23:51:44.000000000 -0400
@@ -567,6 +567,7 @@
                 "KRB5CCNAME",
                 "KRBTKFILE",
                 "LANG",
+		"GNOME_SCREENSAVER_THEME",
                 "LANGUAGE",
                 "RUNNING_UNDER_GDM"
         };
--- gnome-screensaver-2.14.2/configure.lock-dialog	2006-05-29 23:52:16.000000000 -0400
+++ gnome-screensaver-2.14.2/configure	2006-05-29 23:54:31.000000000 -0400
@@ -22695,7 +22695,7 @@
     else
         if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= \$GTK_REQUIRED_VERSION\"") >&5
-  ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= $GTK_REQUIRED_VERSION") 2>&5
+  ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= $GTK_REQUIRED_VERSION libglade-2.0 >= $GLADE_REQUIRED_VERSION") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
@@ -22717,7 +22717,7 @@
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_GNOME_SCREENSAVER_DIALOG_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= $GTK_REQUIRED_VERSION" 2>/dev/null`
+  pkg_cv_GNOME_SCREENSAVER_DIALOG_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= $GTK_REQUIRED_VERSION libglade-2.0 >= $GLADE_REQUIRED_VERSION" 2>/dev/null`
 else
   pkg_failed=yes
 fi
--- gnome-screensaver-2.14.2/configure.ac.lock-dialog	2006-05-29 23:54:41.000000000 -0400
+++ gnome-screensaver-2.14.2/configure.ac	2006-05-29 23:55:25.000000000 -0400
@@ -52,6 +52,7 @@
 AC_CHECK_FUNCS([setresuid setenv unsetenv clearenv])
 PKG_CHECK_MODULES(GNOME_SCREENSAVER,
         gtk+-2.0 >= $GTK_REQUIRED_VERSION
+	libglade-2.0 >= $GLADE_REQUIRED_VERSION
         dbus-glib-1 >= $DBUS_REQUIRED_VERSION
         gconf-2.0 >= $GCONF_REQUIRED_VERSION
         libgnome-menu >= $LIBGNOME_MENU_REQUIRED_VERSION)


Index: gnome-screensaver.spec
===================================================================
RCS file: /cvs/dist/rpms/gnome-screensaver/FC-5/gnome-screensaver.spec,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- gnome-screensaver.spec	30 May 2006 02:05:20 -0000	1.66
+++ gnome-screensaver.spec	30 May 2006 03:59:39 -0000	1.67
@@ -24,10 +24,9 @@
 Source4: fedoralogo-floaters.desktop
 Source5: gnome-logo-white.svg
 
-Patch0: gnome-screensaver-2.13.91-lock-dialog.patch
+Patch0: gnome-screensaver-2.14.2-lock-dialog.patch
 Patch1: gnome-screensaver-0.0.23-use-floaters-by-default.patch
 Patch2: gnome-screensaver-2.13.91-shrink-em.patch
-Patch3: gnome-screensaver-2.14.0-pass-krb-environment.patch
 
 BuildRoot: %{_tmppath}/%{name}-root
 URL: http://www.gnome.org
@@ -64,7 +63,6 @@
 %patch0 -p1 -b .lock-dialog
 %patch1 -p1 -b .use-floaters-by-default
 %patch2 -p1 -b .shrink-em
-%patch3 -p1 -b .pass-krb-environment
 
 %build
 intltoolize --force




More information about the fedora-cvs-commits mailing list