[maemo-commits] [maemo-commits] r15092 - in projects/haf/trunk/gail: . debian gail

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Jan 17 17:02:54 EET 2008
Author: atdomoko
Date: 2008-01-17 17:02:53 +0200 (Thu, 17 Jan 2008)
New Revision: 15092

Modified:
   projects/haf/trunk/gail/ChangeLog
   projects/haf/trunk/gail/debian/changelog
   projects/haf/trunk/gail/gail/gailwidget.c
Log:
 * gail/gailwidget.c:
   (gail_widget_all_parents_visible): auxiliar function that checks
   if all parent hierarchy is visible
   (gail_widget_ref_state_set): checks parent visibility in order
   to add the state ATK_STATE_SHOWING to the current state set
 * Fixes: NB#76325 (upstream bug #509650)




Modified: projects/haf/trunk/gail/ChangeLog
===================================================================
--- projects/haf/trunk/gail/ChangeLog	2008-01-17 12:56:23 UTC (rev 15091)
+++ projects/haf/trunk/gail/ChangeLog	2008-01-17 15:02:53 UTC (rev 15092)
@@ -1,3 +1,13 @@
+2008-01-15 Attila Domokos <attila.domokos at nokia.com>
+	
+	* gail/gailwidget.c: 
+	(gail_widget_all_parents_visible): auxiliar function that checks
+	if all parent hierarchy is visible
+	(gail_widget_ref_state_set): checks parent visibility in order
+	to add the state ATK_STATE_SHOWING to the current state set
+
+	* Fixes: NB#76325 (upstream bug #509650)
+
 2007-12-12 Attila Domokos <attila.domokos at nokia.com>
 	
 	* gail/gailbutton.c: implementing the click action as a press

Modified: projects/haf/trunk/gail/debian/changelog
===================================================================
--- projects/haf/trunk/gail/debian/changelog	2008-01-17 12:56:23 UTC (rev 15091)
+++ projects/haf/trunk/gail/debian/changelog	2008-01-17 15:02:53 UTC (rev 15092)
@@ -1,3 +1,14 @@
+gail (1.18.0-osso12) unstable; urgency=low
+
+  * gail/gailwidget.c:
+    (gail_widget_all_parents_visible): auxiliar function that checks
+    if all parent hierarchy is visible
+    (gail_widget_ref_state_set): checks parent visibility in order
+    to add the state ATK_STATE_SHOWING to the current state set
+  * Fixes: NB#76325 (upstream bug #509650)
+
+ -- Attila Domokos <attila.domokos at nokia.com>  Thu, 17 Jan 2008 16:52:48 +0200
+
 gail (1.18.0-osso11) unstable; urgency=low
 
   * gail/gailbutton.c: implementing click action as a press event followed by a release event

Modified: projects/haf/trunk/gail/gail/gailwidget.c
===================================================================
--- projects/haf/trunk/gail/gail/gailwidget.c	2008-01-17 12:56:23 UTC (rev 15091)
+++ projects/haf/trunk/gail/gail/gailwidget.c	2008-01-17 15:02:53 UTC (rev 15092)
@@ -101,6 +101,7 @@
                                                   gpointer      data);
 static GtkWidget* gail_widget_find_viewport      (GtkWidget     *widget);
 static gboolean   gail_widget_on_screen          (GtkWidget     *widget);
+static gboolean   gail_widget_all_parents_visible(GtkWidget     *widget);
 
 static gpointer parent_class = NULL;
 
@@ -546,7 +547,7 @@
       if (GTK_WIDGET_VISIBLE (widget))
         {
           atk_state_set_add_state (state_set, ATK_STATE_VISIBLE);
-          if (gail_widget_on_screen (widget) &&
+          if (gail_widget_on_screen (widget) && gail_widget_all_parents_visible(widget) &&
               GTK_WIDGET_MAPPED (widget))
             {
               atk_state_set_add_state (state_set, ATK_STATE_SHOWING);
@@ -1100,3 +1101,31 @@
 
   return return_value;
 }
+
+
+/**
+ * gail_widget_all_parents_visible:
+ * @widget: 
+ * 
+ * Checks if the parent widget, and his parent, etc is all visible
+ * Used to check the 
+ * 
+ * Return value: TRUE if all the parent hierarchy is visible, FALSE otherwise
+ **/
+static gboolean   gail_widget_all_parents_visible(GtkWidget     *widget)
+{
+  GtkWidget *iter_parent = NULL;
+  gboolean result = TRUE;
+
+  for ( iter_parent = gtk_widget_get_parent(widget); iter_parent;
+        iter_parent = gtk_widget_get_parent(iter_parent))
+    {
+      if (!GTK_WIDGET_VISIBLE(iter_parent))
+        {
+          result = FALSE;
+          break;
+        }
+    }
+  
+  return result;
+}


More information about the maemo-commits mailing list