gdm r5734 - in trunk: . gui/simple-greeter
- From: halfline svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r5734 - in trunk: . gui/simple-greeter
- Date: Fri, 8 Feb 2008 06:38:13 +0000 (GMT)
Author: halfline
Date: Fri Feb 8 06:38:12 2008
New Revision: 5734
URL: http://svn.gnome.org/viewvc/gdm?rev=5734&view=rev
Log:
2008-02-08 Ray Strode <rstrode redhat com>
* gui/simple-greeter/gdm-greeter-session.c
(gdm_greeter_session_init), (gdm_greeter_session_event_handler):
Listen for key presses and try to apply them as mnemonics on
all toplevels, not just the focused toplevel (so for instance,
pressing Alt-L should focus the language option widget in the
panel when the user is doing the pam conversation in the login
window)
Modified:
trunk/ChangeLog
trunk/gui/simple-greeter/gdm-greeter-session.c
Modified: trunk/gui/simple-greeter/gdm-greeter-session.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-greeter-session.c (original)
+++ trunk/gui/simple-greeter/gdm-greeter-session.c Fri Feb 8 06:38:12 2008
@@ -615,6 +615,28 @@
}
static void
+gdm_greeter_session_event_handler(GdkEvent *event,
+ GdmGreeterSession *session)
+{
+ if (event->type == GDK_KEY_PRESS) {
+ if (session->priv->panel != NULL &&
+ gtk_window_activate_key (GTK_WINDOW (session->priv->panel),
+ ((GdkEventKey *) event))) {
+
+ return;
+ }
+
+ if (session->priv->login_window != NULL &&
+ gtk_window_activate_key (GTK_WINDOW (session->priv->login_window),
+ ((GdkEventKey *) event))) {
+ return;
+ }
+ }
+
+ gtk_main_do_event (event);
+}
+
+static void
gdm_greeter_session_init (GdmGreeterSession *session)
{
@@ -666,6 +688,12 @@
G_CALLBACK (on_selected_user_changed),
session);
+ /* We want to listen for panel mnemonics even if the
+ * login window is focused, so we intercept them here.
+ */
+ gdk_event_handler_set ((GdkEventFunc) gdm_greeter_session_event_handler,
+ session, NULL);
+
/* FIXME: we should really do this in settings daemon */
setup_at_tools (session);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]