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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Fri Aug 3 14:54:32 EEST 2007
Author: lucasr
Date: 2007-08-03 14:54:30 +0300 (Fri, 03 Aug 2007)
New Revision: 13011

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

	* libhildondesktop/hildon-desktop-popup-menu.c: activate menu item on
	button press.
	* src/hd-applications-menu.c: polished the focus-handling code.


Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-08-03 10:32:05 UTC (rev 13010)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-08-03 11:54:30 UTC (rev 13011)
@@ -1,3 +1,9 @@
+2007-08-03  Lucas Rocha  <lucas.rocha at nokia.com>
+
+	* libhildondesktop/hildon-desktop-popup-menu.c: activate menu item on
+	button press.
+	* src/hd-applications-menu.c: polished the focus-handling code.
+
 2007-08-02  Johan Bilien  <johan.bilien at nokia.com>
 
 	* libhildonwm/hd-wm.c:

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-03 10:32:05 UTC (rev 13010)
+++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-menu.c	2007-08-03 11:54:30 UTC (rev 13011)
@@ -99,6 +99,7 @@
 static void hildon_desktop_popup_menu_size_request (GtkWidget *widget, GtkRequisition *req);
 static void hildon_desktop_popup_menu_size_allocate (GtkWidget *widget, GtkAllocation *allocation);
 static gboolean hildon_desktop_popup_menu_motion_notify (GtkWidget *widget, GdkEventMotion *event);
+static gboolean hildon_desktop_popup_menu_press_event (GtkWidget *widget, GdkEventButton *event);
 static gboolean hildon_desktop_popup_menu_release_event (GtkWidget *widget, GdkEventButton *event);
 static gboolean hildon_desktop_popup_menu_key_press_event (GtkWidget *widget, GdkEventKey *event);
 static void hildon_desktop_popup_menu_scroll_cb (GtkWidget *widget, HildonDesktopPopupMenu *menu);
@@ -135,6 +136,7 @@
   object_class->set_property = hildon_desktop_popup_menu_set_property;
 
   widget_class->motion_notify_event  = hildon_desktop_popup_menu_motion_notify;
+  widget_class->button_press_event = hildon_desktop_popup_menu_press_event;
   widget_class->button_release_event = hildon_desktop_popup_menu_release_event;
   widget_class->key_press_event      = hildon_desktop_popup_menu_key_press_event;
   
@@ -520,12 +522,17 @@
 hildon_desktop_popup_menu_release_event (GtkWidget      *widget,
                                          GdkEventButton *event)
 {
+  return TRUE;
+} 
+	
+static gboolean 
+hildon_desktop_popup_menu_press_event (GtkWidget      *widget,
+                                       GdkEventButton *event)
+{
   HildonDesktopPopupMenu *menu = HILDON_DESKTOP_POPUP_MENU (widget);
   GList *menu_items = NULL, *l;
   gint w,h,x,y;
 
-  g_debug ("release event for popup menu");
-  
   menu_items =
     gtk_container_get_children (GTK_CONTAINER (menu->priv->box_items));
 
@@ -544,7 +551,7 @@
         break;
       }
     }
-   }
+  }
 
   g_list_free (menu_items);
 

Modified: projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c
===================================================================
--- projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c	2007-08-03 10:32:05 UTC (rev 13010)
+++ projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c	2007-08-03 11:54:30 UTC (rev 13011)
@@ -105,7 +105,6 @@
   GnomeVFSMonitorHandle    *home_dir_monitor;
   GnomeVFSMonitorHandle    *desktop_dir_monitor;
   guint                     monitor_update_timeout;
-  gboolean                  focus_applications;
 };
 
 static void hd_applications_menu_register_monitors (HDApplicationsMenu *button);
@@ -193,8 +192,6 @@
   
   priv->monitor_update_timeout = 0;
 
-  priv->focus_applications = TRUE;
-  
   priv->popup_window = NULL;
   
   gtk_container_add (GTK_CONTAINER (button), priv->button);
@@ -237,8 +234,6 @@
 
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button->priv->button),
 			        FALSE);
-
-  button->priv->focus_applications = TRUE;
 }
 
 static gboolean
@@ -362,18 +357,6 @@
   return FALSE;
 }
 
-static gboolean 
-hd_applications_menu_button_release_category (GtkMenuItem *item, 
-					    GdkEventButton *event,
-					    HDApplicationsMenu *button)
-{
-  button->priv->focus_applications = TRUE;
-
-  gtk_menu_item_activate (item);
-
-  return TRUE;
-}
-
 static void
 hd_applications_menu_activate_category (GtkMenuItem *item, HDApplicationsMenu *button)
 {
@@ -405,8 +388,7 @@
       (button->priv->menu_applications, child);
   }
 
-  if (button->priv->focus_applications &&
-      GTK_WIDGET_IS_SENSITIVE (sub_items->data))
+  if (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));
@@ -415,8 +397,6 @@
   {
     gtk_widget_grab_focus (GTK_WIDGET (item));
   }
- 
-  button->priv->focus_applications = FALSE;
 }
 
 static void
@@ -681,11 +661,6 @@
 			      (GDestroyNotify) hd_applications_menu_free_menu_items);
 
       g_signal_connect (G_OBJECT (menu_item), 
-		        "button-release-event",
-      		        G_CALLBACK (hd_applications_menu_button_release_category),
-      		        button);
-
-      g_signal_connect (G_OBJECT (menu_item), 
 		        "activate",
       		        G_CALLBACK (hd_applications_menu_activate_category),
       		        button);
@@ -841,7 +816,6 @@
   {
     selected_item = menu_item;
 
-    button->priv->focus_applications = TRUE;
     gtk_menu_item_activate (selected_item);
   }
   
@@ -955,10 +929,10 @@
   gtk_container_add (GTK_CONTAINER (button_down), arrow);
   gtk_widget_show (arrow);
 
-  g_signal_connect (G_OBJECT (popup_window), 
-		    "key-press-event",
-		    G_CALLBACK (hd_applications_menu_key_press),
-		    button);
+   g_signal_connect (G_OBJECT (popup_window),
+                     "key-press-event",
+                     G_CALLBACK (hd_applications_menu_key_press),
+                     button);
   
   g_signal_connect (G_OBJECT (popup_window), 
 		    "popdown-window",


More information about the maemo-commits mailing list