summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Cameron <brian.cameron@sun.com>2007-03-27 07:03:37 +0000
committerBrian Cameron <bcameron@src.gnome.org>2007-03-27 07:03:37 +0000
commitd95a67bff1c95d1f639ec0d20de9a7b42877b5ed (patch)
tree47b571f0e3e3246d10feee21d890bf479198f195
parent4fbd38a3c6a81318eaf7e81a9412f66cb397185a (diff)
downloadgdm-d95a67bff1c95d1f639ec0d20de9a7b42877b5ed.tar.gz
Partially fix #412576 by adding ATK label for the entry field. Patch
2006-03-27 Brian Cameron <brian.cameron@sun.com> * gui/greeter/greeter_item_pam.c: Partially fix #412576 by adding ATK label for the entry field. Patch provided by David Zeuthen <david@fubar.dk>. svn path=/branches/gnome-2-16/; revision=4726
-rw-r--r--ChangeLog6
-rw-r--r--gui/greeter/greeter_item_pam.c25
2 files changed, 31 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index bfde09f3..23165cba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2006-03-27 Brian Cameron <brian.cameron@sun.com>
+ * gui/greeter/greeter_item_pam.c: Partially fix #412576 by adding
+ ATK label for the entry field. Patch provided by David Zeuthen
+ <david@fubar.dk>.
+
+2006-03-27 Brian Cameron <brian.cameron@sun.com>
+
* gui/gdmlogin.c, gui/greeter/greeter_item.c, gui/greeter/greeter.c
gui/greeter_greeter_item_ulist.c, gui/greeter/greeter_system.c:
Fix gdmlogin and gdmgreeter so the "Configure GDM" menu choice is
diff --git a/gui/greeter/greeter_item_pam.c b/gui/greeter/greeter_item_pam.c
index f96abdda..0fcc0183 100644
--- a/gui/greeter/greeter_item_pam.c
+++ b/gui/greeter/greeter_item_pam.c
@@ -260,6 +260,31 @@ greeter_item_pam_prompt (const char *message,
if (conversation_info)
{
set_text (conversation_info, message);
+
+ /*
+ * Add Accessibility text for entry field.
+ * Might be nice to set ATK_RELATION_LABEL_FOR, LABELLED_BY between
+ * the label (pam-prompt) and the entry, but gdmgreeter doesn't use real
+ * GTK widgets for text fields. For now, just set the entry field's
+ * name.
+ */
+ if (entry_info != NULL)
+ {
+ GnomeCanvasWidget *item = GNOME_CANVAS_WIDGET (entry_info->item);
+ if (item != NULL)
+ {
+ GtkWidget *widget = item->widget;
+ if (widget != NULL)
+ {
+ AtkObject *atk_widget;
+ atk_widget = gtk_widget_get_accessible (widget);
+ if (atk_widget != NULL)
+ {
+ atk_object_set_name (atk_widget, message);
+ }
+ }
+ }
+ }
}
if (entry_info && entry_info->item &&