[maemo-commits] [maemo-commits] r13428 - in projects/haf/trunk/hildon-desktop: . src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Tue Aug 28 13:56:13 EEST 2007
Author: lucasr
Date: 2007-08-28 13:56:12 +0300 (Tue, 28 Aug 2007)
New Revision: 13428

Modified:
   projects/haf/trunk/hildon-desktop/ChangeLog
   projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c
Log:
2007-08-28  Lucas Rocha  <lucas.rocha at nokia.com>

	* src/hd-applications-menu.c
	(hd_applications_menu_categories_motion_notify): reset previously
	selected item from motion notify to avoid problem on focus moving.
	Fixes #66207.


Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-08-28 08:58:24 UTC (rev 13427)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-08-28 10:56:12 UTC (rev 13428)
@@ -1,5 +1,12 @@
 2007-08-28  Lucas Rocha  <lucas.rocha at nokia.com>
 
+	* src/hd-applications-menu.c
+	(hd_applications_menu_categories_motion_notify): reset previously
+	selected item from motion notify to avoid problem on focus moving.
+	Fixes #66207.
+
+2007-08-28  Lucas Rocha  <lucas.rocha at nokia.com>
+
 	* src/hd-switcher-menu.c (hd_switcher_menu_create_notifications_menu,
 	hd_switcher_menu_notification_deleted_cb): reset main icon when a
 	blinking notification is deleted. Fixes NB#65335.

Modified: projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c
===================================================================
--- projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c	2007-08-28 08:58:24 UTC (rev 13427)
+++ projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c	2007-08-28 10:56:12 UTC (rev 13428)
@@ -106,6 +106,7 @@
   GnomeVFSMonitorHandle    *desktop_dir_monitor;
   guint                     monitor_update_timeout;
   gboolean                  focus_applications;
+  gboolean                  motion_reset;
 };
 
 static void hd_applications_menu_register_monitors (HDApplicationsMenu *button);
@@ -164,6 +165,7 @@
   priv->desktop_dir_monitor = NULL;
 
   priv->focus_applications = FALSE;
+  priv->motion_reset = FALSE;
   
   priv->button = hildon_desktop_toggle_button_new ();
 
@@ -828,12 +830,15 @@
   GtkMenuItem *menu_item = 
     hildon_desktop_popup_menu_get_selected_item (HILDON_DESKTOP_POPUP_MENU (widget));
 
-  if (menu_item != selected_item)
+  if (menu_item != selected_item ||
+      button->priv->motion_reset)
   {
     selected_item = menu_item;
 
     button->priv->focus_applications = TRUE;
     gtk_menu_item_activate (selected_item);
+
+    button->priv->motion_reset = FALSE;
   }
   
   return TRUE;
@@ -1107,6 +1112,8 @@
   if (!button->priv->popup_window)
     hd_applications_menu_create_menu (button);
 
+  button->priv->motion_reset = TRUE;
+  
   hildon_desktop_popup_window_popup (button->priv->popup_window,
 		                     (HDPopupWindowPositionFunc) hd_applications_menu_get_menu_position,
 		                     button,
@@ -1131,7 +1138,16 @@
 {
   if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
   {
+    GtkMenuItem *selected_item;
+
+    selected_item = 
+      hildon_desktop_popup_menu_get_selected_item (button->priv->menu_applications);
+
+    hildon_desktop_popup_menu_deselect_item (button->priv->menu_applications,
+		    			     selected_item);
+
     hildon_desktop_popup_window_popdown (button->priv->popup_window);
+
     return;
   } 
 


More information about the maemo-commits mailing list