[maemo-commits] [maemo-commits] r15135 - in projects/haf/trunk/hildon-input-method: . src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Feb 5 13:46:50 EET 2008
- Previous message: [maemo-commits] r15134 - in projects/haf/trunk/hildon-input-method-framework: . src
- Next message: [maemo-commits] r15136 - in projects/haf/trunk/hildon-input-method-framework: . src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: tjunnone Date: 2008-02-05 13:46:49 +0200 (Tue, 05 Feb 2008) New Revision: 15135 Modified: projects/haf/trunk/hildon-input-method/ChangeLog projects/haf/trunk/hildon-input-method/src/hildon-im-ui.c projects/haf/trunk/hildon-input-method/src/hildon-im-ui.h Log: 2008-02-05 Tomas Junnonen <tomas.junnonen at nokia.com> * src/hildon-im-ui.[c,h]: Added gconf option to treat stylus as finger activation. Modified: projects/haf/trunk/hildon-input-method/ChangeLog =================================================================== --- projects/haf/trunk/hildon-input-method/ChangeLog 2008-02-05 10:51:02 UTC (rev 15134) +++ projects/haf/trunk/hildon-input-method/ChangeLog 2008-02-05 11:46:49 UTC (rev 15135) @@ -1,3 +1,8 @@ +2008-02-05 Tomas Junnonen <tomas.junnonen at nokia.com> + + * src/hildon-im-ui.[c,h]: Added gconf option to treat stylus + as finger activation. + 2008-01-31 Tomas Junnonen <tomas.junnonen at nokia.com> * src/hildon-im-ui.c: Fix rare crash on toggling the Modified: projects/haf/trunk/hildon-input-method/src/hildon-im-ui.c =================================================================== --- projects/haf/trunk/hildon-input-method/src/hildon-im-ui.c 2008-02-05 10:51:02 UTC (rev 15134) +++ projects/haf/trunk/hildon-input-method/src/hildon-im-ui.c 2008-02-05 11:46:49 UTC (rev 15135) @@ -94,6 +94,8 @@ #define BUFFER_SIZE 128 +#define THUMB_LAUNCHES_FULLSCREEN_PLUGIN TRUE + /* CURRENT_PLUGIN is the current PluginData */ #define CURRENT_PLUGIN(self) self->priv->current_plugin /* CURRENT_IM_WIDGET is the current widget of PluginData */ @@ -210,7 +212,7 @@ Window transiency; gboolean select_launches_fullscreen_plugin; - gboolean finger_launches_fullscreen_plugin; + HildonIMThumbDetection thumb_detection; gboolean return_key_pressed; GtkWidget *menu; @@ -1420,13 +1422,6 @@ self->priv->select_launches_fullscreen_plugin = gconf_value_get_bool(value); } } - else if (strcmp(key, HILDON_IM_GCONF_USE_FINGER_KB) == 0) - { - if (value->type == GCONF_VALUE_BOOL) - { - self->priv->finger_launches_fullscreen_plugin = gconf_value_get_bool(value); - } - } else if (strcmp(key, HILDON_IM_GCONF_ENABLE_STYLUS_IM) == 0) { if (value->type == GCONF_VALUE_BOOL) @@ -1441,6 +1436,13 @@ hildon_im_ui_hide(self); } } + else if (strcmp(key, HILDON_IM_GCONF_THUMB_DETECTION) == 0) + { + if (value->type == GCONF_VALUE_INT) + { + self->priv->thumb_detection = gconf_value_get_int(value); + } + } for (iter = self->priv->all_methods; iter != NULL; iter = iter->next) { @@ -1496,8 +1498,8 @@ self->priv->select_launches_fullscreen_plugin = gconf_client_get_bool(self->client, HILDON_IM_GCONF_LAUNCH_FINGER_KB_ON_SELECT, NULL); - self->priv->finger_launches_fullscreen_plugin = - gconf_client_get_bool(self->client, HILDON_IM_GCONF_USE_FINGER_KB, NULL); + self->priv->thumb_detection = + gconf_client_get_int(self->client, HILDON_IM_GCONF_THUMB_DETECTION, NULL); gvalue = gconf_client_get (self->client, HILDON_IM_GCONF_ENABLE_STYLUS_IM, NULL); if (gvalue == NULL) @@ -1613,21 +1615,36 @@ if (show) { - if (self->priv->trigger == HILDON_IM_TRIGGER_FINGER) + gboolean finger_detected = FALSE; + + if (THUMB_LAUNCHES_FULLSCREEN_PLUGIN && + self->priv->keyboard_available == FALSE) { - if (self->priv->finger_launches_fullscreen_plugin && - self->priv->keyboard_available == FALSE) + + if (self->priv->trigger == HILDON_IM_TRIGGER_FINGER && + (self->priv->thumb_detection == HILDON_IM_THUMB_DETECT_FINGER_AND_STYLUS || + self->priv->thumb_detection == HILDON_IM_THUMB_DETECT_FINGER)) { - hildon_im_ui_play_sound(self, - HILDON_IM_FINGER_TRIGGER_SOUND); + finger_detected = TRUE; } - else + + if (self->priv->trigger == HILDON_IM_TRIGGER_STYLUS && + self->priv->thumb_detection == HILDON_IM_THUMB_DETECT_FINGER_AND_STYLUS) { - /* If finger launching is disabled in gconf, revert to VKB */ - self->priv->trigger = HILDON_IM_TRIGGER_STYLUS; + self->priv->trigger = HILDON_IM_TRIGGER_FINGER; + finger_detected = TRUE; } + if (finger_detected) + hildon_im_ui_play_sound(self, HILDON_IM_FINGER_TRIGGER_SOUND); } + + /* If finger launching is disabled in gconf, revert to stylus method */ + if (self->priv->trigger == HILDON_IM_TRIGGER_FINGER && + self->priv->thumb_detection == HILDON_IM_THUMB_DETECT_NEVER) + { + self->priv->trigger = HILDON_IM_TRIGGER_STYLUS; + } hildon_im_ui_show(self); } Modified: projects/haf/trunk/hildon-input-method/src/hildon-im-ui.h =================================================================== --- projects/haf/trunk/hildon-input-method/src/hildon-im-ui.h 2008-02-05 10:51:02 UTC (rev 15134) +++ projects/haf/trunk/hildon-input-method/src/hildon-im-ui.h 2008-02-05 11:46:49 UTC (rev 15135) @@ -71,8 +71,8 @@ #define _HILDON_IM_GCONF_LANGUAGE HILDON_IM_GCONF_LANG_DIR "/language-" #define HILDON_IM_GCONF_PRIMARY_LANGUAGE _HILDON_IM_GCONF_LANGUAGE "0" #define HILDON_IM_GCONF_SECONDARY_LANGUAGE _HILDON_IM_GCONF_LANGUAGE "1" -#define HILDON_IM_GCONF_USE_FINGER_KB HILDON_IM_GCONF_DIR "/use_finger_kb" #define HILDON_IM_GCONF_LAUNCH_FINGER_KB_ON_SELECT HILDON_IM_GCONF_DIR "/launch_finger_kb_on_select" +#define HILDON_IM_GCONF_THUMB_DETECTION HILDON_IM_GCONF_DIR "/thumb_detection" #define HILDON_IM_DEFAULT_LANGUAGE IM_en_GB @@ -107,6 +107,15 @@ HILDON_IM_FINGER_TRIGGER_SOUND } HildonIMUISound; +typedef enum +{ + HILDON_IM_THUMB_DETECT_FINGER, + HILDON_IM_THUMB_DETECT_FINGER_AND_STYLUS, + HILDON_IM_THUMB_DETECT_NEVER, +} HildonIMThumbDetection; + +#define HILDON_IM_DEFAULT_THUMB_DETECTION HILDON_IM_THUMB_DETECT_FINGER + struct _HildonIMUI { GtkWindow parent;
- Previous message: [maemo-commits] r15134 - in projects/haf/trunk/hildon-input-method-framework: . src
- Next message: [maemo-commits] r15136 - in projects/haf/trunk/hildon-input-method-framework: . src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]