[maemo-commits] [maemo-commits] r10968 - in projects/haf/trunk/hildon-desktop: . libhildonwm src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Apr 4 17:32:59 EEST 2007
- Previous message: [maemo-commits] r10965 - projects/haf/trunk/desktop-file-utils
- Next message: [maemo-commits] r10969 - in projects/haf/trunk/hildon-desktop: . libhildondesktop
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: moimart Date: 2007-04-04 17:32:58 +0300 (Wed, 04 Apr 2007) New Revision: 10968 Modified: projects/haf/trunk/hildon-desktop/ChangeLog projects/haf/trunk/hildon-desktop/libhildonwm/hd-wm.c projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c Log: * libhildonwm/hd-wm.c: Fixed some hdwm->keys cases left. * src/hn-app-switcher.c: Menu thumb fixed when no entries are added. * ChangeLog updated. Modified: projects/haf/trunk/hildon-desktop/ChangeLog =================================================================== --- projects/haf/trunk/hildon-desktop/ChangeLog 2007-04-04 13:08:38 UTC (rev 10967) +++ projects/haf/trunk/hildon-desktop/ChangeLog 2007-04-04 14:32:58 UTC (rev 10968) @@ -1,3 +1,8 @@ +2007-04-04 Moises Martinez <moises.martinez at nokia.com> + + * libhildonwm/hd-wm.c: Fixed some hdwm->keys cases left. + * src/hn-app-switcher.c: Menu thumb fixed when no entries are added. + 2007-04-04 Johan Bilien <johan.bilien at nokia.com> * configure.ac: 0.0.4 Modified: projects/haf/trunk/hildon-desktop/libhildonwm/hd-wm.c =================================================================== --- projects/haf/trunk/hildon-desktop/libhildonwm/hd-wm.c 2007-04-04 13:08:38 UTC (rev 10967) +++ projects/haf/trunk/hildon-desktop/libhildonwm/hd-wm.c 2007-04-04 14:32:58 UTC (rev 10968) @@ -2402,6 +2402,10 @@ if (((XEvent*)xevent)->type == KeyPress) { XKeyEvent *kev = (XKeyEvent *)xevent; + + if (!hdwm->keys) + return GDK_FILTER_CONTINUE; + hdwm->priv->shortcut = hd_keys_handle_keypress (hdwm->keys, kev->keycode, kev->state); if (hdwm->priv->shortcut != NULL && @@ -2423,7 +2427,7 @@ hdwm->priv->power_key_timeout = 0; } - if (hdwm->priv->shortcut != NULL) + if (hdwm->keys != NULL && hdwm->priv->shortcut != NULL) { if (!hd_wm_modal_windows_present()) hdwm->priv->shortcut->action_func (hdwm->keys, hdwm->priv->shortcut->action_func_data); Modified: projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c =================================================================== --- projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c 2007-04-04 13:08:38 UTC (rev 10967) +++ projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c 2007-04-04 14:32:58 UTC (rev 10968) @@ -213,6 +213,7 @@ /* pointer location */ guint pointer_on_button : 1; guint is_thumbable : 1; + gboolean force_thumb : 1; guint was_thumbable : 1; guint menu_button_timeout; @@ -532,7 +533,13 @@ HNAppSwitcherPrivate *priv = app_switcher->priv; GList *menu_children, *l; GtkWidget *separator; - + + if (priv->force_thumb) + { + priv->is_thumbable = TRUE; + priv->force_thumb = FALSE; + } + /* we must dispose the old contents of the menu first */ menu_children = gtk_container_get_children (GTK_CONTAINER (priv->main_menu)); for (l = menu_children; l != NULL; l = l->next) @@ -587,7 +594,7 @@ gtk_widget_destroy (priv->main_home_item); priv->main_home_item = NULL; } - + g_assert (priv->home_info); priv->main_home_item = hn_app_menu_item_new (priv->home_info, FALSE, @@ -841,7 +848,7 @@ gtk_widget_realize (priv->main_menu); - if (priv->is_thumbable) + if (priv->is_thumbable || priv->force_thumb) gtk_widget_set_name (gtk_widget_get_toplevel (priv->main_menu), "hildon-menu-window-thumb"); else @@ -1091,8 +1098,15 @@ { HNAppSwitcher *app_switcher = HN_APP_SWITCHER (data); - app_switcher->priv->is_thumbable = TRUE; + if (app_switcher->priv->main_menu && + !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app_switcher->priv->main_button))) + { + gtk_widget_destroy (app_switcher->priv->main_menu); + app_switcher->priv->main_menu = NULL; + } + app_switcher->priv->force_thumb = TRUE; + hn_app_switcher_toggle_menu_button (app_switcher); } @@ -1473,6 +1487,16 @@ gtk_widget_set_sensitive (priv->buttons[pos], TRUE); } +static void +hn_app_switcher_destroy_main_menu (HNAppSwitcher *app_switcher) +{ + if (app_switcher->priv->main_menu) + { + gtk_widget_destroy (app_switcher->priv->main_menu); + app_switcher->priv->main_menu = NULL; + } +} + static gboolean refresh_buttons (gpointer user_data) { @@ -1665,11 +1689,8 @@ * now that the application list is tainted by a new entry; * destroying the menu widget will call the detach function */ - if (priv->main_menu) - { - gtk_widget_destroy (priv->main_menu); - priv->main_menu = NULL; - } + + hn_app_switcher_destroy_main_menu (app_switcher); } /* Class closure for the "remove" signal; this is called each time @@ -1703,12 +1724,8 @@ * now that the application list is tainted by delete entry; * destroying the menu widget will call the detach function */ - if (priv->main_menu) - { - gtk_widget_destroy (priv->main_menu); - priv->main_menu = NULL; - } + hn_app_switcher_destroy_main_menu (app_switcher); } @@ -1728,12 +1745,9 @@ /* all changes have potential impact on the the main menu; app menus are * created on the fly, so we do not have to worry about menu changes there */ - if (priv->main_menu) - { - gtk_widget_destroy (priv->main_menu); - priv->main_menu = NULL; - } + /* hn_app_switcher_destroy_main_menu (app_switcher);*/ + /* * If we are given an entry info and it of the app type, we just need to * update at most one button @@ -1921,11 +1935,7 @@ g_debug ("In hn_app_switcher_real_changed_stack"); - if (priv->main_menu) - { - gtk_widget_destroy (priv->main_menu); - priv->main_menu = NULL; - } + hn_app_switcher_destroy_main_menu (app_switcher); if (!entry_info || !hd_entry_info_is_active (entry_info)) { @@ -2116,6 +2126,8 @@ app_switcher->priv->buttons_group = NULL; + app_switcher->priv->force_thumb = FALSE; + gtk_widget_set_name (GTK_WIDGET (app_switcher), AS_BOX_NAME); /* set base properties of the app-switcher widget */
- Previous message: [maemo-commits] r10965 - projects/haf/trunk/desktop-file-utils
- Next message: [maemo-commits] r10969 - in projects/haf/trunk/hildon-desktop: . libhildondesktop
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]