[maemo-commits] [maemo-commits] r10724 - in projects/haf/trunk/hildon-desktop: . libhildonwm src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Mar 22 17:59:55 EET 2007
- Previous message: [maemo-commits] r10723 - in projects/haf/trunk/hildon-theme-layout-4: . data
- Next message: [maemo-commits] r10725 - projects/haf/trunk/dosfstools
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: moimart Date: 2007-03-22 17:59:55 +0200 (Thu, 22 Mar 2007) New Revision: 10724 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: * src/hn-app-switcher.c: Implemented navigation throw swap-key. * libhildonwm/hd-wm.c: Send signal when long key press. * ChangeLog updated. Modified: projects/haf/trunk/hildon-desktop/ChangeLog =================================================================== --- projects/haf/trunk/hildon-desktop/ChangeLog 2007-03-22 15:23:17 UTC (rev 10723) +++ projects/haf/trunk/hildon-desktop/ChangeLog 2007-03-22 15:59:55 UTC (rev 10724) @@ -1,3 +1,8 @@ +2007-03-22 Moises Martinez <moises.martinez at nokia.com> + + * src/hn-app-switcher.c: Implemented navigation throw swap-key. + * libhildonwm/hd-wm.c: Send signal when long key press. + 2007-03-22 Johan Bilien <johan.bilien at nokia.com> * configure.ac: retrieve home, statusbar and home directories Modified: projects/haf/trunk/hildon-desktop/libhildonwm/hd-wm.c =================================================================== --- projects/haf/trunk/hildon-desktop/libhildonwm/hd-wm.c 2007-03-22 15:23:17 UTC (rev 10723) +++ projects/haf/trunk/hildon-desktop/libhildonwm/hd-wm.c 2007-03-22 15:59:55 UTC (rev 10724) @@ -122,6 +122,7 @@ HDWM_ENTRY_INFO_STACK_CHANGED_SIGNAL, HDWM_WORK_AREA_CHANGED_SIGNAL, HDWM_SHOW_A_MENU_SIGNAL, + HDWM_LONG_PRESS_KEY, HDWM_APPLICATION_STARTING_SIGNAL, HDWM_FULLSCREEN, HDWM_CLOSE_APP, @@ -749,6 +750,8 @@ { const gchar *member; + HDWM *hdwm = HD_WM (data); + g_debug ("processing MCE"); if (dbus_message_get_type (msg) != DBUS_MESSAGE_TYPE_SIGNAL) @@ -760,7 +763,7 @@ if (strcmp (HOME_LONG_PRESS, member) == 0 && !hd_wm_modal_windows_present()) { - hd_wm_toggle_desktop (); + g_signal_emit_by_name (hdwm, "long-key-press"); return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } @@ -861,6 +864,15 @@ NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + + hdwm_signals[HDWM_LONG_PRESS_KEY] = + g_signal_new("long-key-press", + G_OBJECT_CLASS_TYPE(object_class), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); hdwm_signals[HDWM_APPLICATION_STARTING_SIGNAL] = g_signal_new("application_starting", Modified: projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c =================================================================== --- projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c 2007-03-22 15:23:17 UTC (rev 10723) +++ projects/haf/trunk/hildon-desktop/src/hn-app-switcher.c 2007-03-22 15:59:55 UTC (rev 10724) @@ -162,7 +162,7 @@ static void queue_refresh_buttons (HNAppSwitcher *app_switcher); - static gboolean +static gboolean hn_app_switcher_close_application_dialog (HDWM *hdwm, HDWMCADAction action, GList *items); /* @@ -302,11 +302,33 @@ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app_switcher->priv->main_button))) { - gtk_toggle_button_set_active - (GTK_TOGGLE_BUTTON (app_switcher->priv->main_button), FALSE); + GList *l,*children = gtk_container_get_children (GTK_CONTAINER (app_switcher->priv->main_menu)); + + for (l = children; l; l = g_list_next (l)) + { + if (l->data == app_switcher->priv->active_menu_item && + l->data != app_switcher->priv->main_home_item) + { + GtkWidget *item; + + if ((l->next)->data) + item = GTK_WIDGET ((l->next)->data); + else + item = app_switcher->priv->main_home_item; + + app_switcher->priv->active_menu_item = item; + + gtk_menu_shell_select_item (GTK_MENU_SHELL (app_switcher->priv->main_menu), item); + } + else + if (l->data == app_switcher->priv->main_home_item) + gtk_menu_shell_select_item (GTK_MENU_SHELL (app_switcher->priv->main_menu), + GTK_WIDGET (children->data)); + } + return; } - + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (app_switcher->priv->main_button), TRUE); @@ -1096,6 +1118,19 @@ g_list_free (children); } +static void +hn_app_switcher_long_press_cb (HDWM *hdwm, HNAppSwitcher *app_switcher) +{ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (app_switcher->priv->main_button))) + { + gtk_menu_shell_activate_item (GTK_MENU_SHELL (app_switcher->priv->main_menu), + app_switcher->priv->active_menu_item, + TRUE); + } + else + hd_wm_top_desktop (); +} + static GtkWidget * create_app_button (HNAppSwitcher *app_switcher, gint pos) @@ -1206,6 +1241,11 @@ (gpointer)app_switcher); g_signal_connect (app_switcher->hdwm, + "long-press-key", + G_CALLBACK (hn_app_switcher_long_press_cb), + (gpointer)app_switcher); + + g_signal_connect (app_switcher->hdwm, "close-app", G_CALLBACK (hn_app_switcher_close_application_dialog), NULL);
- Previous message: [maemo-commits] r10723 - in projects/haf/trunk/hildon-theme-layout-4: . data
- Next message: [maemo-commits] r10725 - projects/haf/trunk/dosfstools
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]