[maemo-commits] [maemo-commits] r12628 - in projects/haf/trunk/hildon-desktop: . libhildondesktop src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Jul 3 16:28:04 EEST 2007
- Previous message: [maemo-commits] r12627 - in projects/haf/trunk/gtk+: . gtk
- Next message: [maemo-commits] r12629 - in projects/haf/trunk/sapwood: . src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: moimart Date: 2007-07-03 16:27:50 +0300 (Tue, 03 Jul 2007) New Revision: 12628 Modified: projects/haf/trunk/hildon-desktop/ChangeLog projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c projects/haf/trunk/hildon-desktop/src/hd-switcher-menu.c Log: 2007-07-03 Moises Martinez <moises.martinez at nokia.com> * libhildondesktop/hildon-desktop-panel-expandable.c: - Fixed debug macro * libhildondesktop/hildon-desktop-popup-window.c: (hildon_desktop_popup_window_visibility_notify), (hildon_desktop_popup_window_composited_button_release), (hildon_desktop_popup_window_button_release_event): - Added some comments. * src/hd-applications-menu.c: (hd_applications_menu_create_menu): - Not attach the widget in order to be transient for root window and be shown on top of vkb. * src/hd-switcher-menu.c: (hd_switcher_menu_constructor): - Not attach the widget in order to be transient for root window and be shown on top of vkb. - Fixes: NB#62048. Modified: projects/haf/trunk/hildon-desktop/ChangeLog =================================================================== --- projects/haf/trunk/hildon-desktop/ChangeLog 2007-07-03 13:13:54 UTC (rev 12627) +++ projects/haf/trunk/hildon-desktop/ChangeLog 2007-07-03 13:27:50 UTC (rev 12628) @@ -1,3 +1,20 @@ +2007-07-03 Moises Martinez <moises.martinez at nokia.com> + + * libhildondesktop/hildon-desktop-panel-expandable.c: + - Fixed debug macro + * libhildondesktop/hildon-desktop-popup-window.c: + (hildon_desktop_popup_window_visibility_notify), + (hildon_desktop_popup_window_composited_button_release), + (hildon_desktop_popup_window_button_release_event): + - Added some comments. + * src/hd-applications-menu.c: (hd_applications_menu_create_menu): + - Not attach the widget in order to be transient for root window and + be shown on top of vkb. + * src/hd-switcher-menu.c: (hd_switcher_menu_constructor): + - Not attach the widget in order to be transient for root window and + be shown on top of vkb. + - Fixes: NB#62048. + 2007-07-02 Johan Bilien <johan.bilien at nokia.com> * src/hd-home-l10n.h: Added NOLOC comments Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c =================================================================== --- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c 2007-07-03 13:13:54 UTC (rev 12627) +++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-panel-expandable.c 2007-07-03 13:27:50 UTC (rev 12628) @@ -42,7 +42,7 @@ #define STATUSBAR_DEBUG 0 #if (STATUSBAR_DEBUG) -#define sb_debug(o,a...) sb_debug("sb" o,##a); +#define sb_debug(o,a...) g_debug("sb" o,##a); #else #define sb_debug(o,a...) do{} while (0) #endif Modified: projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c =================================================================== --- projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c 2007-07-03 13:13:54 UTC (rev 12627) +++ projects/haf/trunk/hildon-desktop/libhildondesktop/hildon-desktop-popup-window.c 2007-07-03 13:27:50 UTC (rev 12628) @@ -103,11 +103,9 @@ static gboolean popup_grab_on_window (GdkWindow *window, guint32 activate_time, gboolean grab_keyboard); static gboolean hildon_desktop_popup_window_button_release_event (GtkWidget *widget, GdkEventButton *event); -#ifdef MAEMO_CHANGES -#ifdef HAVE_XTEST +#if defined (MAEMO_CHANGES) && defined(HAVE_XTEST) static void hildon_desktop_popup_menu_fake_button_event (GdkEventButton *event, gboolean press); #endif -#endif struct _HildonDesktopPopupWindowPrivate { GtkWidget **extra_panes; @@ -601,9 +599,55 @@ if (!gdk_error_trap_pop () && type != GDK_WINDOW_TYPE_HINT_NOTIFICATION && - type != GDK_WINDOW_TYPE_HINT_MENU) + type != GDK_WINDOW_TYPE_HINT_MENU && + type != GDK_WINDOW_TYPE_HINT_POPUP_MENU && + type != GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU) { /* A non-message and non-menu window above us; close. */ + +#if 0 + /* This code is to check whether if we receive the visibility-notify from + * the virtual keyboard. In that case we don't close but the menu window + * is gonna be behind the virtual keyboard + */ + + Atom type_ret; + gint format_ret; + gulong items_ret; + gulong after_ret; + union + { + Atom *a; + guchar *c; + } window_type; + gint status; + + window_type.c = NULL; + + gdk_error_trap_push (); + + status = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_drawable_get_display (GDK_DRAWABLE (win))), + GDK_WINDOW_XID (win), + gdk_x11_get_xatom_by_name ("_NET_WM_WINDOW_TYPE"), + 0, G_MAXLONG, + False, + XA_ATOM, + &type_ret, + &format_ret, + &items_ret, + &after_ret, + &window_type.c); + + if (!gdk_error_trap_pop () && + status == Success && + window_type.c != NULL && + items_ret == 1 && + window_type.a[0] == gdk_x11_get_xatom_by_name ("_NET_WM_WINDOW_TYPE_INPUT")) + { + break; + } +#endif + deactivate = TRUE; break; } @@ -685,8 +729,12 @@ if (!in_panes_area || in_window_area) { hildon_desktop_popup_window_popdown (popup); -#ifdef MAEMO_CHANGES -#ifdef HAVE_XTEST +#if defined(MAEMO_CHANGES) && defined(HAVE_XTEST) + /* This hack sends an extra button-event in order to not lose the event + * when closing outside the menu so another button could receive it and + * act consequently. + */ + if (popup->priv->attached_widget) { gtk_widget_get_pointer (popup->priv->attached_widget, &x, &y); @@ -700,7 +748,6 @@ hildon_desktop_popup_menu_fake_button_event (event, FALSE); } } -#endif #endif } @@ -746,8 +793,12 @@ if (!in_panes_area || !in_window_area) { hildon_desktop_popup_window_popdown (popup); -#ifdef MAEMO_CHANGES -#ifdef HAVE_XTEST +#if defined(MAEMO_CHANGES) && defined(HAVE_XTEST) + /* This hack sends an extra button-event in order to not lose the event + * when closing outside the menu so another button could receive it and + * act consequently. + */ + if (popup->priv->attached_widget) { gtk_widget_get_pointer (popup->priv->attached_widget, &x, &y); @@ -762,7 +813,6 @@ } } #endif -#endif } return TRUE; } Modified: projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c =================================================================== --- projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c 2007-07-03 13:13:54 UTC (rev 12627) +++ projects/haf/trunk/hildon-desktop/src/hd-applications-menu.c 2007-07-03 13:27:50 UTC (rev 12628) @@ -803,8 +803,12 @@ gtk_widget_set_size_request (GTK_WIDGET (popup_window), 650, 480); - hildon_desktop_popup_window_attach_widget (popup_window, button->priv->button); + /* We don't attach the widget because if we do it, we cannot be on top of + * virtual keyboard. Anyway it should be transient to button->priv->button + */ + hildon_desktop_popup_window_attach_widget (popup_window, NULL); + button->priv->menu_categories = HILDON_DESKTOP_POPUP_MENU (g_object_new (HILDON_DESKTOP_TYPE_POPUP_MENU, "item-height", 68, Modified: projects/haf/trunk/hildon-desktop/src/hd-switcher-menu.c =================================================================== --- projects/haf/trunk/hildon-desktop/src/hd-switcher-menu.c 2007-07-03 13:13:54 UTC (rev 12627) +++ projects/haf/trunk/hildon-desktop/src/hd-switcher-menu.c 2007-07-03 13:27:50 UTC (rev 12628) @@ -546,8 +546,12 @@ HILDON_DESKTOP_POPUP_WINDOW (hildon_desktop_popup_window_new (1,GTK_ORIENTATION_HORIZONTAL,HD_POPUP_WINDOW_DIRECTION_RIGHT_BOTTOM)); + /* We don't attach the widget because if we do it, we cannot be on top of + * virtual keyboard. Anyway it should be transient to button + */ + hildon_desktop_popup_window_attach_widget - (switcher->priv->popup_window, button); + (switcher->priv->popup_window, NULL); switcher->priv->notifications_window = hildon_desktop_popup_window_get_pane (switcher->priv->popup_window, 0);
- Previous message: [maemo-commits] r12627 - in projects/haf/trunk/gtk+: . gtk
- Next message: [maemo-commits] r12629 - in projects/haf/trunk/sapwood: . src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]