* SECTION:hildon-app-menu
* @short_description: Widget representing the application menu in the Hildon framework.
*
- * The #HildonAppMenu is a GTK widget which represents an application
- * menu in the Hildon framework.
+ * #HildonAppMenu is a GTK widget which represents an application menu
+ * in the Hildon framework.
*
* This menu opens from the top of the screen and contains a number of
* entries (#GtkButton) organized in one or two columns, depending on
* if the screen is resized). Entries are added left to right and top
* to bottom.
*
- * Besides that, the #HildonAppMenu can contain a group of filter buttons
- * (#GtkToggleButton or #GtkRadioButton).
+ * Besides that, #HildonAppMenu can contain a group of filter buttons
+ * (#GtkToggleButton or #GtkRadioButton). Filters are meant to change
+ * the way data is presented in the application, rather than change
+ * the layout of the menu itself. For example, a file manager can have
+ * filters to decide the order used to display a list of files (name,
+ * date, size, etc.).
*
* To use a #HildonAppMenu, add it to a #HildonWindow using
* hildon_window_set_app_menu(). The menu will appear when the user
#include "hildon-app-menu-private.h"
#include "hildon-window.h"
#include "hildon-banner.h"
+#include "hildon-animation-actor.h"
static GdkWindow *
grab_transfer_window_get (GtkWidget *widget);
* Yes, this is a hack. See NB#111027 */
if (HILDON_IS_BANNER (i->data)) {
gtk_widget_hide (i->data);
- } else {
+ } else if (!HILDON_IS_ANIMATION_ACTOR (i->data)) {
intruder_found = TRUE;
}
}
{
HildonAppMenuPrivate *priv = HILDON_APP_MENU_GET_PRIVATE(widget);
+ if (priv->transfer_window == NULL)
+ priv->transfer_window = grab_transfer_window_get (widget);
+
GTK_WIDGET_CLASS (hildon_app_menu_parent_class)->map (widget);
/* Grab pointer and keyboard */
- if (priv->transfer_window == NULL) {
+ if (priv->transfer_window != NULL) {
gboolean has_grab = FALSE;
- priv->transfer_window = grab_transfer_window_get (widget);
-
if (gdk_pointer_grab (priv->transfer_window, TRUE,
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK |