[longpress timeout] longpress_timeout added to _elm_config
authorWooHyun Jung <wh0705.jung@samsung.com>
Thu, 25 Nov 2010 04:43:44 +0000 (13:43 +0900)
committerWooHyun Jung <wh0705.jung@samsung.com>
Thu, 25 Nov 2010 04:43:44 +0000 (13:43 +0900)
config/default/base.src
config/illume/base.src
config/standard/base.src
src/lib/Elementary.h.in
src/lib/elm_config.c
src/lib/elm_entry.c
src/lib/elm_main.c
src/lib/elm_priv.h

index f305f68..b1e59cc 100644 (file)
@@ -20,4 +20,5 @@ group "Elm_Config" struct {
   value "fps" double: 60.0;
   value "theme" string: "default";
   value "modules" string: "";
+  value "longpress_timeout" double: 1.0;
 }
index f305f68..b1e59cc 100644 (file)
@@ -20,4 +20,5 @@ group "Elm_Config" struct {
   value "fps" double: 60.0;
   value "theme" string: "default";
   value "modules" string: "";
+  value "longpress_timeout" double: 1.0;
 }
index f498b48..700704a 100644 (file)
@@ -20,4 +20,5 @@ group "Elm_Config" struct {
   value "fps" double: 60.0;
   value "theme" string: "default";
   value "modules" string: "";
+  value "longpress_timeout" double: 1.0;
 }
index 64b5f5a..590873d 100644 (file)
@@ -300,6 +300,9 @@ extern "C" {
 
    EAPI void         elm_coords_finger_size_adjust(int times_w, Evas_Coord *w, int times_h, Evas_Coord *h);
 
+   EAPI double       elm_longpress_timeout_get(void);
+   EAPI void         elm_longpress_timeout_set(double longpress_timeout);
+
    EAPI Elm_Theme   *elm_theme_new(void);
    EAPI void         elm_theme_free(Elm_Theme *th);
    EAPI void         elm_theme_overlay_add(Elm_Theme *th, const char *item);
index 38bd75c..67440b0 100755 (executable)
@@ -285,6 +285,7 @@ _desc_init(void)
    EET_DATA_DESCRIPTOR_ADD_BASIC(_config_edd, Elm_Config, "theme", theme, EET_T_STRING);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_config_edd, Elm_Config, "modules", modules, EET_T_STRING);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_config_edd, Elm_Config, "password_show_last_character", password_show_last_character, EET_T_INT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC(_config_edd, Elm_Config, "longpress_timeout", longpress_timeout, EET_T_DOUBLE);
 }
 
 static void
@@ -478,6 +479,7 @@ _config_load(void)
    _elm_config->theme = eina_stringshare_add("default");
    _elm_config->modules = NULL;
    _elm_config->password_show_last_character = 0;
+   _elm_config->longpress_timeout = 1.0;
 }
 static void
 _config_update(void)
@@ -675,6 +677,10 @@ _env_get(void)
      {
         _elm_config->autoperiod_allow = atoi(s);
      }
+
+   s = getenv("ELM_LONGPRESS_TIMEOUT");
+   if (s) _elm_config->longpress_timeout = atof(s);
+   if (_elm_config->longpress_timeout < 0.0) _elm_config->longpress_timeout = 0.0;
 }
 
 void
index e78bec1..9fb3f78 100644 (file)
@@ -814,7 +814,8 @@ _mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void
    if (ev->button != 1) return;
    //   if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
    if (wd->longpress_timer) ecore_timer_del(wd->longpress_timer);
-   wd->longpress_timer = ecore_timer_add(1.0, _long_press, data);
+   wd->longpress_timer = ecore_timer_add(elm_longpress_timeout_get(), _long_press, data);
+   printf(" long press timeout : %lf \n\n", elm_longpress_timeout_get());
    wd->downx = ev->canvas.x;
    wd->downy = ev->canvas.y;
 }
index 81fec58..91987cc 100644 (file)
@@ -1679,3 +1679,27 @@ EAPI void *elm_object_signal_callback_del(Evas_Object *obj, const char *emission
 {
     return elm_widget_signal_callback_del(obj, emission, source, func);
 }
+
+/**
+ * Set the duration for occuring long press event.
+ *
+ * @param lonpress_timeout Timeout for long press event
+ * @ingroup Longpress
+ */
+EAPI void
+elm_longpress_timeout_set(double longpress_timeout)
+{
+   _elm_config->longpress_timeout = longpress_timeout;
+}
+
+/**
+ * Get the duration for occuring long press event.
+ *
+ * @return Timeout for long press event
+ * @ingroup Longpress
+ */
+EAPI double
+elm_longpress_timeout_get(void)
+{
+   return _elm_config->longpress_timeout;
+}
\ No newline at end of file
index a18a44c..162da1f 100644 (file)
@@ -121,6 +121,7 @@ struct _Elm_Config
    int autocapital_allow;
    int autoperiod_allow;   
    int password_show_last_character;
+   double       longpress_timeout;
 };
 
 struct _Elm_Module