[maemo-commits] [maemo-commits] r13207 - in projects/haf/trunk/hildon-desktop: . libhildondesktop

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed Aug 15 16:26:43 EEST 2007
Author: lucasr
Date: 2007-08-15 16:26:41 +0300 (Wed, 15 Aug 2007)
New Revision: 13207

Modified:
   projects/haf/trunk/hildon-desktop/ChangeLog
   projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c
Log:
2007-08-15  Lucas Rocha  <lucas.rocha at nokia.com>

	* libhildondesktop/hildon-desktop-popup-menu.c
	(hildon_desktop_popup_menu_motion_notify,
	hildon_desktop_popup_menu_press_event): draw selection on activated
	menu item. Fixes NB#61740. Optimized selection code on button press
	and motion notify.


Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-08-15 13:21:10 UTC (rev 13206)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-08-15 13:26:41 UTC (rev 13207)
@@ -1,5 +1,13 @@
 2007-08-15  Lucas Rocha  <lucas.rocha at nokia.com>
 
+	* libhildondesktop/hildon-desktop-popup-menu.c
+	(hildon_desktop_popup_menu_motion_notify,
+	hildon_desktop_popup_menu_press_event): draw selection on activated
+	menu item. Fixes NB#61740. Optimized selection code on button press
+	and motion notify.
+
+2007-08-15  Lucas Rocha  <lucas.rocha at nokia.com>
+
 	* configure.ac: 0.0.32
 
 2007-08-15  Lucas Rocha  <lucas.rocha at nokia.com>

Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c
===================================================================
--- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c	2007-08-15 13:21:10 UTC (rev 13206)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c	2007-08-15 13:26:41 UTC (rev 13207)
@@ -468,9 +468,6 @@
     gtk_container_get_children (GTK_CONTAINER (menu->priv->box_items));
 
   for (l = menu_items; l != NULL; l = g_list_next (l))
-    gtk_item_deselect (GTK_ITEM (l->data));	  
-	
-  for (l = menu_items; l != NULL; l = g_list_next (l))
   {
     gtk_widget_get_pointer (GTK_WIDGET (l->data), &x, &y);
 
@@ -478,9 +475,15 @@
     h = GTK_WIDGET (l->data)->allocation.height;
 
     if ((x >= 0) && (x <= w) && (y >= 0) && (y <= h))
-    {	    
-      gtk_item_select (GTK_ITEM (l->data));
-      menu->priv->selected_item = GTK_MENU_ITEM (l->data);
+    {
+      if (menu->priv->selected_item != GTK_MENU_ITEM (l->data))
+      {
+        gtk_item_deselect (GTK_ITEM (menu->priv->selected_item));
+        gtk_item_select (GTK_ITEM (l->data));
+        menu->priv->selected_item = GTK_MENU_ITEM (l->data);
+      }
+
+      break;
     }
   }
 
@@ -547,7 +550,14 @@
     {
       if (GTK_IS_MENU_ITEM (l->data))
       {
-        gtk_menu_item_activate (GTK_MENU_ITEM (l->data));
+        if (menu->priv->selected_item != GTK_MENU_ITEM (l->data))
+        {
+          gtk_item_deselect (GTK_ITEM (menu->priv->selected_item));
+          gtk_item_select (GTK_ITEM (l->data));
+          menu->priv->selected_item = GTK_MENU_ITEM (l->data);
+        }
+        
+	gtk_menu_item_activate (GTK_MENU_ITEM (l->data));
         break;
       }
     }


More information about the maemo-commits mailing list