[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 ]
