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