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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Aug 6 14:34:24 EEST 2007
Author: lucasr
Date: 2007-08-06 14:34:18 +0300 (Mon, 06 Aug 2007)
New Revision: 13025

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

	* src/hd-applications-menu.c: re-estabilished the correct focus/selection
	handling between panes.


Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-08-06 07:22:20 UTC (rev 13024)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-08-06 11:34:18 UTC (rev 13025)
@@ -1,3 +1,8 @@
+2007-08-06  Lucas Rocha  <lucas.rocha at nokia.com>
+
+	* src/hd-applications-menu.c: re-estabilished the correct focus/selection
+	handling between panes.
+
 2007-08-06  Johan Bilien  <johan.bilien at nokia.com>
 
 	* data/applications.menu:

Modified: projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c
===================================================================
--- projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c	2007-08-06 07:22:20 UTC (rev 13024)
+++ projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c	2007-08-06 11:34:18 UTC (rev 13025)
@@ -105,6 +105,7 @@
   GnomeVFSMonitorHandle    *home_dir_monitor;
   GnomeVFSMonitorHandle    *desktop_dir_monitor;
   guint                     monitor_update_timeout;
+  gboolean                  focus_applications;
 };
 
 static void hd_applications_menu_register_monitors (HDApplicationsMenu *button);
@@ -158,9 +159,11 @@
 
   button->priv = priv;
 
-  button->priv->system_dir_monitor = NULL;
-  button->priv->home_dir_monitor = NULL;
-  button->priv->desktop_dir_monitor = NULL;
+  priv->system_dir_monitor = NULL;
+  priv->home_dir_monitor = NULL;
+  priv->desktop_dir_monitor = NULL;
+
+  priv->focus_applications = FALSE;
   
   priv->button = hildon_desktop_toggle_button_new ();
 
@@ -388,7 +391,8 @@
       (button->priv->menu_applications, child);
   }
 
-  if (GTK_WIDGET_IS_SENSITIVE (sub_items->data))
+  if (button->priv->focus_applications &&
+      GTK_WIDGET_IS_SENSITIVE (sub_items->data))
   {
     hildon_desktop_popup_menu_select_first_item (button->priv->menu_applications);
     gtk_widget_grab_focus (GTK_WIDGET (sub_items->data));
@@ -397,6 +401,8 @@
   {
     gtk_widget_grab_focus (GTK_WIDGET (item));
   }
+
+  button->priv->focus_applications = FALSE;
 }
 
 static void
@@ -816,6 +822,7 @@
   {
     selected_item = menu_item;
 
+    button->priv->focus_applications = TRUE;
     gtk_menu_item_activate (selected_item);
   }
   
@@ -1100,6 +1107,7 @@
 
   if (menu_items != NULL)
   {
+    button->priv->focus_applications = TRUE;
     gtk_menu_item_activate (GTK_MENU_ITEM (menu_items->data));
   }
 


More information about the maemo-commits mailing list