gdm r6194 - in trunk: . gui/simple-greeter



Author: halfline
Date: Thu May  1 03:23:19 2008
New Revision: 6194
URL: http://svn.gnome.org/viewvc/gdm?rev=6194&view=rev

Log:
2008-04-30  Ray Strode  <rstrode redhat com>

	* gui/simple-greeter/gdm-option-widget.c
	(gdm_option_widget_mnemonic_activate):
	(gdm_option_widget_class_init),
	(gdm_option_widget_init): automatically
	pop up language/session combos when mnemonic
	is pressed.


Modified:
   trunk/ChangeLog
   trunk/gui/simple-greeter/gdm-option-widget.c

Modified: trunk/gui/simple-greeter/gdm-option-widget.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-option-widget.c	(original)
+++ trunk/gui/simple-greeter/gdm-option-widget.c	Thu May  1 03:23:19 2008
@@ -447,16 +447,31 @@
         G_OBJECT_CLASS (gdm_option_widget_parent_class)->dispose (object);
 }
 
+static gboolean
+gdm_option_widget_mnemonic_activate (GtkWidget *widget,
+                                     gboolean   group_cycling)
+{
+        GdmOptionWidget *option_widget;
+
+        option_widget = GDM_OPTION_WIDGET (widget);
+        gtk_widget_grab_focus (option_widget->priv->items_combo_box);
+        gtk_combo_box_popup (GTK_COMBO_BOX (option_widget->priv->items_combo_box));
+
+        return TRUE;
+}
+
 static void
 gdm_option_widget_class_init (GdmOptionWidgetClass *klass)
 {
         GObjectClass   *object_class = G_OBJECT_CLASS (klass);
+        GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
         object_class->get_property = gdm_option_widget_get_property;
         object_class->set_property = gdm_option_widget_set_property;
         object_class->constructor = gdm_option_widget_constructor;
         object_class->dispose = gdm_option_widget_dispose;
         object_class->finalize = gdm_option_widget_finalize;
+        widget_class->mnemonic_activate = gdm_option_widget_mnemonic_activate;
 
         gtk_rc_parse_string (GDM_OPTION_WIDGET_RC_STRING);
 
@@ -816,7 +831,6 @@
         gtk_container_add (GTK_CONTAINER (widget),
                            box);
 
-
         widget->priv->image = gtk_image_new ();
         gtk_widget_set_no_show_all (widget->priv->image, TRUE);
         gtk_box_pack_start (GTK_BOX (box), widget->priv->image, FALSE, FALSE, 0);
@@ -846,7 +860,7 @@
         gtk_container_add (GTK_CONTAINER (box),
                            widget->priv->items_combo_box);
         gtk_label_set_mnemonic_widget (GTK_LABEL (widget->priv->label),
-                                       widget->priv->items_combo_box);
+                                       GTK_WIDGET (widget));
 
         g_assert (NUMBER_OF_OPTION_COLUMNS == 4);
         widget->priv->list_store = gtk_list_store_new (NUMBER_OF_OPTION_COLUMNS,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]