rpms/gnome-screensaver/devel gnome-screensaver-0.0.22-lock-dialog.patch, NONE, 1.1 .cvsignore, 1.9, 1.10 gnome-screensaver.spec, 1.36, 1.37 sources, 1.9, 1.10

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Dec 19 16:19:21 UTC 2005


Author: mclasen

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

Modified Files:
	.cvsignore gnome-screensaver.spec sources 
Added Files:
	gnome-screensaver-0.0.22-lock-dialog.patch 
Log Message:
Add floaters lock dialog


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

--- NEW FILE gnome-screensaver-0.0.22-lock-dialog.patch ---
--- gnome-screensaver-0.0.22/src/gs-lock-plug.c.lock-dialog	2005-11-21 16:48:45.000000000 -0500
+++ gnome-screensaver-0.0.22/src/gs-lock-plug.c	2005-12-19 10:53:41.000000000 -0500
@@ -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>
@@ -179,6 +180,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);
 
@@ -266,7 +270,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
@@ -339,7 +344,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);
@@ -409,6 +417,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."));
@@ -472,12 +483,17 @@
 gs_lock_plug_size_request (GtkWidget      *widget,
                            GtkRequisition *requisition)
 {
+	GSLockPlug *plug = GS_LOCK_PLUG (widget);
         int mod_width;
         int mod_height;
 
         if (GTK_WIDGET_CLASS (parent_class)->size_request)
                 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) {
@@ -487,7 +503,6 @@
                 /* if the dialog is wide fill out the height */
                 requisition->height = mod_height;
         }
-
 }
 
 static void
@@ -502,6 +517,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
@@ -1565,6 +1583,105 @@
         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->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)
 {
@@ -1574,6 +1691,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-0.0.22/src/gs-manager.c.lock-dialog	2005-11-29 19:19:20.000000000 -0500
+++ gnome-screensaver-0.0.22/src/gs-manager.c	2005-12-19 10:43:05.000000000 -0500
@@ -774,6 +774,8 @@
         job = gs_job_new_for_widget (GTK_WIDGET (window));
 
         theme = select_theme (manager);
+	/* FIXME: quick hack using an env var to communicate */
+        g_setenv ("GNOME_SCREENSAVER_THEME", theme, TRUE);
         gs_job_set_theme (job, theme, NULL);
 
         if (! manager->priv->throttle_enabled) {
--- gnome-screensaver-0.0.22/src/gs-job.c.lock-dialog	2005-11-21 16:48:45.000000000 -0500
+++ gnome-screensaver-0.0.22/src/gs-job.c	2005-12-19 10:43:06.000000000 -0500
@@ -608,6 +608,9 @@
         if (g_getenv ("LANGUAGE"))
                 g_ptr_array_add (env, g_strdup_printf ("LANGUAGE=%s",
                                                        g_getenv ("LANGUAGE")));
+        if (g_getenv ("GNOME_SCREENSAVER_THEME"))
+                g_ptr_array_add (env, g_strdup_printf ("GNOME_SCREENSAVER_THEME=%s",
+                                                       g_getenv ("GNOME_SCREENSAVER_THEME")));
         g_ptr_array_add (env, NULL);
 
         error = NULL;
--- gnome-screensaver-0.0.22/src/gs-window-x11.c.lock-dialog	2005-12-13 13:45:25.000000000 -0500
+++ gnome-screensaver-0.0.22/src/gs-window-x11.c	2005-12-19 10:43:06.000000000 -0500
@@ -494,6 +494,9 @@
         if (g_getenv ("LANGUAGE"))
                 g_ptr_array_add (env, g_strdup_printf ("LANGUAGE=%s",
                                                        g_getenv ("LANGUAGE")));
+        if (g_getenv ("GNOME_SCREENSAVER_THEME"))
+                g_ptr_array_add (env, g_strdup_printf ("GNOME_SCREENSAVER_THEME=%s",
+                                                       g_getenv ("GNOME_SCREENSAVER_THEME")));
         g_ptr_array_add (env, NULL);
 
         error = NULL;
--- gnome-screensaver-0.0.22/configure.lock-dialog	2005-12-12 10:35:32.000000000 -0500
+++ gnome-screensaver-0.0.22/configure	2005-12-19 10:43:05.000000000 -0500
@@ -23696,7 +23696,7 @@
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_GNOME_SCREENSAVER_DIALOG_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= $GTK_REQUIRED_VERSION" 2>/dev/null`
+  pkg_cv_GNOME_SCREENSAVER_DIALOG_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= $GTK_REQUIRED_VERSION libglade-2.0 >= $GLADE_REQUIRED_VERSION" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -23710,7 +23710,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-0.0.22/configure.ac.lock-dialog	2005-12-19 10:43:05.000000000 -0500
+++ gnome-screensaver-0.0.22/configure.ac	2005-12-19 10:43:05.000000000 -0500
@@ -59,6 +59,7 @@
 AC_SUBST(GNOME_SCREENSAVER_LIBS)
 
 PKG_CHECK_MODULES(GNOME_SCREENSAVER_DIALOG,
+        libglade-2.0 >= $GLADE_REQUIRED_VERSION
         gtk+-2.0 >= $GTK_REQUIRED_VERSION)
 AC_SUBST(GNOME_SCREENSAVER_DIALOG_CFLAGS)
 AC_SUBST(GNOME_SCREENSAVER_DIALOG_LIBS)


Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/gnome-screensaver/devel/.cvsignore,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- .cvsignore	15 Dec 2005 15:02:39 -0000	1.9
+++ .cvsignore	19 Dec 2005 16:19:18 -0000	1.10
@@ -1,2 +1,3 @@
 gnome-screensaver-0.0.20.tar.bz2
 gnome-screensaver-0.0.22.tar.bz2
+fedoralogo-floaters-lock-dialog.tar.gz


Index: gnome-screensaver.spec
===================================================================
RCS file: /cvs/dist/rpms/gnome-screensaver/devel/gnome-screensaver.spec,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- gnome-screensaver.spec	19 Dec 2005 06:14:27 -0000	1.36
+++ gnome-screensaver.spec	19 Dec 2005 16:19:18 -0000	1.37
@@ -11,12 +11,17 @@
 Summary: GNOME Sreensaver
 Name: gnome-screensaver
 Version: 0.0.22
-Release: 2
+Release: 3
 License: GPL
 Group: Amusement/Graphics
 Source0: %{name}-%{version}.tar.bz2
 Source1: gnome-screensaver-hide-xscreensaver.menu
-Source2: gnome-compiler-flags.m4
+Source2: fedoralogo-floaters-lock-dialog.tar.gz
+Source3: gnome-compiler-flags.m4
+
+Patch0: gnome-screensaver-0.0.22-floaters.patch
+Patch1: gnome-screensaver-0.0.22-lock-dialog.patch
+
 BuildRoot: %{_tmppath}/%{name}-root
 URL: http://www.gnome.org
 BuildRequires: gtk2-devel => %{gtk2_version}
@@ -40,7 +45,6 @@
 Requires: GConf2 >= %{gconf2_version}
 Requires: redhat-menus >= %{redhat_menus_version}
 
-Patch0: gnome-screensaver-0.0.22-floaters.patch
 
 %description
 gnome-screensaver is a screen saver and locker that aims to have
@@ -49,11 +53,14 @@
 %prep
 %setup -q
 %patch0 -p1 -b .floaters
+%patch1 -p1 -b .lock-dialog
+
+tar xzf %{SOURCE2}
 
 %build
 intltoolize --force
 aclocal
-cat %{SOURCE2} >> aclocal.m4
+cat %{SOURCE3} >> aclocal.m4
 automake
 autoconf
 %configure --with-xscreensaverdir=/usr/share/xscreensaver/config \
@@ -79,6 +86,9 @@
 # hide xscreensaver from the menus
 install -D -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/xdg/menus/preferences-post-merged/gnome-screensaver-hide-xscreensaver.menu
 
+# install floaters lock dialog
+cp fedoralogo-floaters-lock-dialog* $RPM_BUILD_ROOT%{_datadir}/gnome-screensaver/themes
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -105,6 +115,9 @@
 %{_sysconfdir}/pam.d/*
 
 %changelog
+* Mon Dec 19 2005 Matthias Clasen <mclasen at redhat.com> - 0.0.22-3
+- add floaters lock dialog
+
 * Sun Dec 18 2005 Ray Strode <rstrode at redhat.com> - 0.0.22-2
 - add floaters screensaver
 


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/gnome-screensaver/devel/sources,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- sources	15 Dec 2005 15:02:39 -0000	1.9
+++ sources	19 Dec 2005 16:19:18 -0000	1.10
@@ -1 +1,2 @@
 0acbd685877365d425849d80dc96c074  gnome-screensaver-0.0.22.tar.bz2
+98d49c78c060314f372bf95f406fad28  fedoralogo-floaters-lock-dialog.tar.gz




More information about the fedora-cvs-commits mailing list