Merge branch 'master' of 165.213.180.234:/git/slp/pkgs/elementary
authorChunEon Park <chuneon.park@samsung.com>
Wed, 25 Aug 2010 23:59:54 +0000 (08:59 +0900)
committerChunEon Park <chuneon.park@samsung.com>
Wed, 25 Aug 2010 23:59:54 +0000 (08:59 +0900)
12 files changed:
debian/changelog
debian/control
src/lib/Elementary.h.in
src/lib/elm_datefield.c
src/lib/elm_dialoguegroup.c
src/lib/elm_entry.c
src/lib/elm_multibuttonentry.c
src/lib/elm_searchbar.c
src/lib/elm_segment_control.c [changed mode: 0755->0644]
src/lib/els_box.c
src/lib/els_touch.c
src/lib/els_webview.c

index 4786f31..531df14 100644 (file)
@@ -1,3 +1,11 @@
+elementary (0.4.0+svn.49550slp2+3build40) unstable; urgency=low
+
+  * Beat Winset updates.
+  * Git: 165.213.180.234:/git/slp/pkgs/elementary
+  * Tag: elementary_0.4.0+svn.49550slp2+3build40
+
+ -- Juyung Seo <juyung.seo@samsung.com>  Wed, 25 Aug 2010 09:08:30 +0900
+
 elementary (0.4.0+svn.49550slp2+3build39) unstable; urgency=low
 
   * Beat Winset Beta Release.
index 3642592..48dde79 100644 (file)
@@ -1,8 +1,8 @@
 Source: elementary
 Section: x11
 Priority: optional
-Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Chuneon Park <chuneon.park@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Woohyun Jung <wh0705.jung@samsung.com>
-Uploaders: Doyoun Kang <doyoun.kang@samsung.com>, Jihoon Kim <jihoon48.kim@samsung.com>, Wonguk Jeong <wonguk.jeong@samsung.com>
+Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Chuneon Park <chuneon.park@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Woohyun Jung <wh0705.jung@samsung.com>, Jihoon Kim <jihoon48.kim@samsung.com>
+Uploaders: Doyoun Kang <doyoun.kang@samsung.com>
 Build-Depends: debhelper (>= 6), cdbs, libecore-dev, libevas-dev, libeet-dev, libeet-bin, libedje-dev, pkg-config, libtool, libeina-dev, libefreet-dev, libethumb-dev, libwebkit-engine-dev
 Standards-Version: 3.8.1
 Homepage: http://www.enlightenment.org
index 3e2303c..ea46d88 100755 (executable)
@@ -2456,8 +2456,8 @@ extern "C" {
    EAPI void                                           *elm_multibuttonentry_item_data_get(Elm_Multibuttonentry_Item *item);
    EAPI void                                           elm_multibuttonentry_item_data_set(Elm_Multibuttonentry_Item *item, void *data);
    /* smart callback called:
-    * "selected"
-    * "added"
+    * "selected" - when the selected item of multibuttonentry is changed. 
+    * "added" - when the new item of multibuttonentry is added. 
     */
    /* available styles:
     * default
index a835885..9840600 100755 (executable)
@@ -100,7 +100,7 @@ _theme_hook(Evas_Object *obj)
        Widget_Data *wd = elm_widget_data_get(obj);
        int i;
        if (!wd || !wd->base) return;
-       
+
        if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
        {
                _elm_theme_object_set(obj, wd->base, "datefield", "dateandtime", elm_widget_style_get(obj));
@@ -131,12 +131,6 @@ _theme_hook(Evas_Object *obj)
                edje_object_part_swallow(wd->base, "elm.swallow.date.month", wd->date[DATE_MON]);
                edje_object_part_swallow(wd->base, "elm.swallow.date.day", wd->date[DATE_DAY]);
                edje_object_part_text_set(wd->base, "elm.text.date.comma", ",");        
-
-               edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.left.pad", _signal_rect_mouse_down, obj);
-               edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.year.over", _signal_rect_mouse_down, obj);
-               edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.month.over", _signal_rect_mouse_down, obj);
-               edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.day.over", _signal_rect_mouse_down, obj);      
-               edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.right.pad", _signal_rect_mouse_down, obj);
        }
        
        if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_TIME)
@@ -144,11 +138,6 @@ _theme_hook(Evas_Object *obj)
                edje_object_part_swallow(wd->base, "elm.swallow.time.hour", wd->time[TIME_HOUR]);
                edje_object_part_swallow(wd->base, "elm.swallow.time.min", wd->time[TIME_MIN]);
                edje_object_part_text_set(wd->base, "elm.text.colon", ":");
-               
-               edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.hour.over", _signal_rect_mouse_down, obj);
-               edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.min.over", _signal_rect_mouse_down, obj);
-               edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.ampm.over", _signal_ampm_mouse_down, obj);
-               edje_object_signal_callback_add(wd->base, "mouse,clicked,1", "elm.rect.time.ampm.over", _signal_ampm_clicked, obj);
        }
 
        edje_object_scale_set(wd->base, elm_widget_scale_get(obj) * _elm_config->scale);
@@ -516,7 +505,14 @@ _date_entry_add(Evas_Object *obj)
        {
                wd->date[i] = elm_entry_add(obj);
                elm_entry_context_menu_disabled_set(wd->date[i], EINA_TRUE);
-               elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_NUMBER);
+        if (i == DATE_MON)
+        {
+                   elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_MONTH);
+        }
+        else
+        {
+            elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
+        }
                evas_object_size_hint_weight_set(wd->date[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
                evas_object_size_hint_align_set(wd->date[i], EVAS_HINT_FILL, EVAS_HINT_FILL);
                evas_object_smart_callback_add(wd->date[i], "focused", _entry_focused_cb, obj);
@@ -542,7 +538,7 @@ _time_entry_add(Evas_Object *obj)
        {
                wd->time[i] = elm_entry_add(obj);
                elm_entry_context_menu_disabled_set(wd->time[i], EINA_TRUE);
-               elm_entry_input_panel_layout_set(wd->time[i], ELM_INPUT_PANEL_LAYOUT_NUMBER);           
+               elm_entry_input_panel_layout_set(wd->time[i], ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);               
                elm_entry_maximum_bytes_set(wd->time[i], TIME_MAX_LENGTH);
                evas_object_size_hint_weight_set(wd->time[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
                evas_object_size_hint_align_set(wd->time[i], EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -582,6 +578,16 @@ elm_datefield_add(Evas_Object *parent)
 
        wd->base = edje_object_add(e);
        elm_widget_resize_object_set(obj, wd->base);
+       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.left.pad", _signal_rect_mouse_down, obj);
+       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.year.over", _signal_rect_mouse_down, obj);
+       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.month.over", _signal_rect_mouse_down, obj);
+       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.day.over", _signal_rect_mouse_down, obj);      
+       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.right.pad", _signal_rect_mouse_down, obj);
+
+       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.hour.over", _signal_rect_mouse_down, obj);
+       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.min.over", _signal_rect_mouse_down, obj);
+       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.ampm.over", _signal_ampm_mouse_down, obj);
+       edje_object_signal_callback_add(wd->base, "mouse,clicked,1", "elm.rect.time.ampm.over", _signal_ampm_clicked, obj);
 
        wd->handler =  ecore_event_handler_add(ECORE_IMF_EVENT_COMMIT, _imf_event_commit_cb, obj);
        _date_entry_add(obj);
@@ -597,7 +603,7 @@ elm_datefield_add(Evas_Object *parent)
        wd->time_mode = EINA_TRUE;
        
        _theme_hook(obj);
-
+       
        return obj;
 }
 
index 92f5918..5cdc8fa 100644 (file)
@@ -195,12 +195,11 @@ static Dialogue_Item* _create_item(Evas_Object *obj, Evas_Object *subobj, Elm_Di
 //     item->line_show = EINA_TRUE;
        eina_stringshare_replace(&item->location, location);
        
-       item->bg_layout = elm_layout_add(wd->parent);
+       item->bg_layout = elm_layout_add(wd->box);
        _set_item_theme(item, location);
        evas_object_size_hint_weight_set(item->bg_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_size_hint_align_set(item->bg_layout, EVAS_HINT_FILL, 0.0);
        evas_object_show(item->bg_layout);      
-       elm_widget_sub_object_add(obj, item->bg_layout);
 
        elm_layout_content_set(item->bg_layout, "swallow", item->content);
 
@@ -239,7 +238,7 @@ EAPI Evas_Object *elm_dialoguegroup_add(Evas_Object *parent)
        wd->parent = parent;
        wd->num = 0;
        
-       wd->box = elm_box_add(parent);
+       wd->box = elm_box_add(obj);
        evas_object_event_callback_add(wd->box, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj);
        evas_object_show(wd->box);
        elm_widget_resize_object_set(obj, wd->box);
@@ -511,8 +510,7 @@ elm_dialoguegroup_title_set(Evas_Object *obj, const char *title)
                elm_box_unpack(wd->box, wd->title_layout);              
        }
        if (!wd->title_layout) {
-               wd->title_layout = elm_layout_add(wd->parent);
-               elm_widget_sub_object_add(obj, wd->title_layout);
+               wd->title_layout = elm_layout_add(wd->box);
                elm_layout_theme_set(wd->title_layout, "dialoguegroup", "base", "title");
                evas_object_size_hint_weight_set(wd->title_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
                evas_object_size_hint_align_set(wd->title_layout, EVAS_HINT_FILL, 0.0);
index 92f8b4c..95889bc 100644 (file)
@@ -105,6 +105,7 @@ struct _Widget_Data
    Ecore_Event_Handler *sel_notify_handler;
    Ecore_Event_Handler *sel_clear_handler;
    Ecore_Timer *longpress_timer;
+   /* Only for clipboard */
    const char *cut_sel;
    const char *text;
    Evas_Coord wrap_w;
@@ -495,29 +496,23 @@ _paste(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
    if (wd->sel_notify_handler)
      {
 #ifdef HAVE_ELEMENTARY_X
-       Evas_Object *top;
-
-       top = elm_widget_top_get(data);
-       if ((top) && (elm_win_xwindow_get(top)))
-         {
-            ecore_x_selection_primary_request
-              (elm_win_xwindow_get(top),
-               ECORE_X_SELECTION_TARGET_UTF8_STRING);
-            wd->selection_asked = EINA_TRUE;
-         }
+        wd->selection_asked = EINA_TRUE;
+       elm_selection_get(ELM_SEL_CLIPBOARD, ELM_SEL_MARKUP, data);
 #endif
      }
 }
 
 static void
-_store_selection(Evas_Object *obj)
+_store_selection(enum _elm_sel_type seltype, Evas_Object *obj)
 {
    Widget_Data *wd = elm_widget_data_get(obj);
    const char *sel;
 
    if (!wd) return;
    sel = edje_object_part_text_selection_get(wd->ent, "elm.text");
-   eina_stringshare_replace(&wd->cut_sel, sel);
+   elm_selection_set(seltype, obj, ELM_SEL_MARKUP, sel);
+   if (seltype == ELM_SEL_CLIPBOARD)
+          eina_stringshare_replace(&wd->cut_sel, sel);
 }
 
 static void
@@ -525,11 +520,12 @@ _cut(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
 {
    Widget_Data *wd = elm_widget_data_get(data);
 
+   /* Store it */
    wd->selmode = EINA_FALSE;
    edje_object_part_text_select_allow_set(wd->ent, "elm.text", 0);
    edje_object_signal_emit(wd->ent, "elm,state,select,off", "elm");
    elm_widget_scroll_hold_pop(data);
-   _store_selection(data);
+   _store_selection(ELM_SEL_CLIPBOARD, data);
    edje_object_part_text_insert(wd->ent, "elm.text", "");
    edje_object_part_text_select_none(wd->ent, "elm.text");
 }
@@ -543,8 +539,8 @@ _copy(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
    edje_object_part_text_select_allow_set(wd->ent, "elm.text", 0);
    edje_object_signal_emit(wd->ent, "elm,state,select,off", "elm");
    elm_widget_scroll_hold_pop(data);
-   _store_selection(data);
-   edje_object_part_text_select_none(wd->ent, "elm.text");
+   _store_selection(ELM_SEL_CLIPBOARD, data);
+//   edje_object_part_text_select_none(wd->ent, "elm.text");
 }
 
 static void
@@ -1116,9 +1112,8 @@ _signal_entry_paste_request(void *data, Evas_Object *obj __UNUSED__, const char
        top = elm_widget_top_get(data);
        if ((top) && (elm_win_xwindow_get(top)))
          {
-            ecore_x_selection_primary_request(elm_win_xwindow_get(top),
-                                               ECORE_X_SELECTION_TARGET_UTF8_STRING);
-            wd->selection_asked = EINA_TRUE;
+             wd->selection_asked = EINA_TRUE;
+             elm_selection_get(ELM_SEL_CLIPBOARD, ELM_SEL_MARKUP, data);
          }
 #endif
      }
@@ -1130,18 +1125,18 @@ _signal_entry_copy_notify(void *data, Evas_Object *obj __UNUSED__, const char *e
    Widget_Data *wd = elm_widget_data_get(data);
    if (!wd) return;
    evas_object_smart_callback_call(data, SIG_SELECTION_COPY, NULL);
+   elm_selection_set(ELM_SEL_CLIPBOARD, obj, ELM_SEL_MARKUP,
+                       elm_entry_selection_get(data));
 }
 
 static void
 _signal_entry_cut_notify(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
 {
    Widget_Data *wd = elm_widget_data_get(data);
-   char *txt;
    if (!wd) return;
    evas_object_smart_callback_call(data, SIG_SELECTION_CUT, NULL);
-   txt = _mkup_to_text(elm_entry_selection_get(data));
-   eina_stringshare_replace(&wd->cut_sel, txt);
-   if (txt) free(txt);
+   elm_selection_set(ELM_SEL_CLIPBOARD, obj, ELM_SEL_MARKUP,
+                       elm_entry_selection_get(data));
    edje_object_part_text_insert(wd->ent, "elm.text", "");
    wd->changed = EINA_TRUE;
    _sizing_eval(data);
@@ -1311,12 +1306,13 @@ _event_selection_notify(void *data, int type __UNUSED__, void *event)
          }
        wd->selection_asked = EINA_FALSE;
      }
-   return 1;
+   return ECORE_CALLBACK_PASS_ON;
 }
 
 static int
 _event_selection_clear(void *data, int type __UNUSED__, void *event)
 {
+/*
    Widget_Data *wd = elm_widget_data_get(data);
    Ecore_X_Event_Selection_Clear *ev = event;
    if (!wd) return 1;
@@ -1326,7 +1322,8 @@ _event_selection_clear(void *data, int type __UNUSED__, void *event)
      {
        elm_entry_select_none(data);
      }
-   return 1;
+   return 1;*/
+   return ECORE_CALLBACK_PASS_ON;
 }
 #endif
 
index bf62ce8..ad7d941 100755 (executable)
@@ -519,7 +519,7 @@ elm_multibuttonentry_label_set(Evas_Object *obj, const char *label)
  * Get the entry of the multibuttonentry object\r
  *\r
  * @param obj The multibuttonentry object\r
- * @return entry object\r
+ * @return The entry object, or NULL if none\r
  *\r
  * @ingroup Multibuttonentry\r
  */\r
@@ -583,6 +583,7 @@ elm_multibuttonentry_item_add_end(Evas_Object *obj, const char *label, void *dat
  * reference.\r
  * @param obj The multibuttonentry object\r
  * @param label The label of new item\r
+ * @param before The item before which to add it\r
  * @param data The ponter to the data to be attached\r
  * @return A handle to the item added or NULL if not possible\r
  *\r
@@ -605,6 +606,7 @@ elm_multibuttonentry_item_add_before(Evas_Object *obj, const char *label, Elm_Mu
  *\r
  * @param obj The multibuttonentry object\r
  * @param label The label of new item\r
+ * @param after The item after which to add it\r
  * @param data The ponter to the data to be attached\r
  * @return A handle to the item added or NULL if not possible\r
  *\r
index 156b528..e6cdb32 100644 (file)
@@ -73,7 +73,7 @@ static void _clicked(void *data, Evas_Object *obj, const char *emission, const c
    Widget_Data *wd = elm_widget_data_get(data);
    if (!wd) return;
 
-   elm_entry_cursor_end_set(wd->eb);
+   elm_entry_cursor_end_set(elm_editfield_entry_get(wd->eb));
    if (wd->cancel_btn_ani_flag == EINA_TRUE)
      edje_object_signal_emit(wd->base, "CANCELIN", "PROG");
    else
@@ -88,8 +88,9 @@ static void _changed(void *data, Evas_Object *obj, const char *emission, const c
    if (!wd) return;
 
    int len = 0;
-   const char* text = elm_entry_entry_get(wd->eb);
+   const char* text = elm_entry_entry_get(elm_editfield_entry_get(wd->eb));
 
+/*
    if (text != NULL)
      {
        len = strlen(text);
@@ -106,6 +107,7 @@ static void _changed(void *data, Evas_Object *obj, const char *emission, const c
      {
        edje_object_signal_emit(wd->base, "RESETHIDE", "PROG");
      }
+*/
 
    evas_object_smart_callback_call(data, "changed", NULL);
 }
@@ -122,9 +124,9 @@ static void _cancel_clicked(void *data, Evas_Object *obj, const char *emission,
 
 
    const char* text;
-   text = elm_entry_entry_get(wd->eb);
+   text = elm_entry_entry_get(elm_editfield_entry_get(wd->eb));
    if (text != NULL && strlen(text) > 0)
-     elm_entry_entry_set(wd->eb, NULL);
+     elm_entry_entry_set(elm_editfield_entry_get(wd->eb), NULL);
 
    evas_object_smart_callback_call(data, "cancel,clicked", NULL);
 }
@@ -133,7 +135,7 @@ static void _signal_reset_clicked(void *data, Evas_Object *obj, const char *emis
 {
    Widget_Data *wd = elm_widget_data_get(data);
    if (!wd) return;
-   elm_entry_entry_set(wd->eb, NULL);
+   elm_entry_entry_set(elm_editfield_entry_get(wd->eb), NULL);
 }
 
 /**
@@ -170,10 +172,12 @@ EAPI Evas_Object *elm_searchbar_add(Evas_Object *parent)
    //  evas_object_size_hint_align_set(wd->base, EVAS_HINT_FILL, EVAS_HINT_FILL);
 
    // Add Entry
-   wd->eb = elm_entry_add(parent);
+   wd->eb = elm_editfield_add(parent);
+   elm_object_style_set(wd->eb, "searchbar");
    edje_object_part_swallow(wd->base, "btn_text", wd->eb);
-   //  elm_object_style_set(wd->eb, "search_input");
-   elm_entry_single_line_set(wd->eb, EINA_TRUE);
+//   elm_editfield_guide_text_set(di, _("Text Input"));
+   elm_editfield_entry_single_line_set(wd->eb, EINA_TRUE);
+   elm_editfield_eraser_set(wd->eb, EINA_TRUE);
    evas_object_smart_callback_add(wd->eb, "clicked", _clicked, obj);
    evas_object_smart_callback_add(wd->eb, "changed", _changed, obj);
    elm_widget_sub_object_add(obj, wd->eb);
@@ -210,7 +214,7 @@ EAPI void elm_searchbar_text_set(Evas_Object *obj, const char *entry)
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return NULL;
 
-   elm_entry_entry_set(wd->eb, entry);
+   elm_entry_entry_set(elm_editfield_entry_get(wd->eb), entry);
 }
 
 /**
@@ -226,7 +230,7 @@ EAPI const char* elm_searchbar_text_get(Evas_Object *obj)
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return NULL;
 
-   return elm_entry_entry_get(wd->eb);
+   return elm_entry_entry_get(elm_editfield_entry_get(wd->eb));
 }
 
 /**
@@ -242,7 +246,7 @@ EAPI Evas_Object *elm_searchbar_entry_get(Evas_Object *obj)
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return NULL;
 
-   return wd->eb;
+   return elm_editfield_entry_get(wd->eb);
 }
 
 /**
old mode 100755 (executable)
new mode 100644 (file)
index c0c073b..0034189
@@ -28,7 +28,7 @@ struct _Widget_Data
    unsigned int del_index;
    unsigned int cur_seg_id;
    double scale_factor;
-   Eina_Bool longpressed : 1;
+//   Eina_Bool longpressed : 1;
    Eina_Bool selected : 1;
 };
 
@@ -40,7 +40,7 @@ struct _Elm_Segment_Item
    const char *label;
    Eina_Bool delete_me : 1;
    int segment_id;
-   Ecore_Timer *long_timer;
+//   Ecore_Timer *long_timer;
 };
 
 static void _mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info);
@@ -82,12 +82,12 @@ _signal_segment_on(void *data)
 
    wd->selected = EINA_TRUE;
 
-   if (item->long_timer)
/*  if (item->long_timer)
      {
        ecore_timer_del(item->long_timer);
        item->long_timer = NULL;
-     }
-   wd->longpressed = EINA_TRUE;
+     }*/
+   //wd->longpressed = EINA_TRUE;
    edje_object_signal_emit(item->base, "elm,state,segment,on", "elm");
    edje_object_signal_emit(item->base, "elm,state,text,change", "elm");
 
@@ -136,16 +136,16 @@ _mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
          return;
      }
 
-   if(wd->longpressed == EINA_FALSE)
+  // if(wd->longpressed == EINA_FALSE)
      {
        edje_object_signal_emit(item->base, "elm,action,unfocus", "elm");
        edje_object_signal_emit(item->base, "elm,state,text,visible", "elm");
      }
-   if (item->long_timer)
+  /* if (item->long_timer)
      {
        ecore_timer_del(item->long_timer);
        item->long_timer = NULL;
-     }
+     }*/
 }
 
 static void
@@ -164,16 +164,16 @@ _mouse_move(void *data, Evas *evas, Evas_Object *obj, void *event_info)
        return;
      }
 
-       if(wd->longpressed == EINA_FALSE)
+//     if(wd->longpressed == EINA_FALSE)
      {
        edje_object_signal_emit(item->base, "elm,action,unfocus", "elm");
        edje_object_signal_emit(item->base, "elm,state,text,visible", "elm");
      }
-   if (item->long_timer)
+  /* if (item->long_timer)
      {
        ecore_timer_del(item->long_timer);
        item->long_timer = NULL;
-     }
+     }*/
 }
 
 static void
@@ -183,7 +183,7 @@ _mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
    Widget_Data *wd = elm_widget_data_get(item->obj);
 
    if (!wd) return;
-   wd->longpressed = EINA_FALSE;
+   //wd->longpressed = EINA_FALSE;
 
    if (item->segment_id == wd->cur_seg_id)
      {
@@ -194,8 +194,10 @@ _mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
    edje_object_signal_emit(item->base, "elm,action,focus", "elm");
    edje_object_signal_emit(item->base, "elm,state,text,visible", "elm");
 
-   if (item->long_timer) ecore_timer_del(item->long_timer);
-   item->long_timer = ecore_timer_add(0.3, _signal_segment_on, item);
+   _signal_segment_on(item);
+
+/*   if (item->long_timer) ecore_timer_del(item->long_timer);
+   item->long_timer = ecore_timer_add(0.3, _signal_segment_on, item);*/
 }
 
 static void
@@ -218,7 +220,7 @@ _item_free(Evas_Object *obj, Elm_Segment_Item *it)
    if(it->icon) evas_object_del(it->icon);
    if(it->base) evas_object_del(it->base);
    if(it->label) eina_stringshare_del(it->label);
-   if (it->long_timer) ecore_timer_del(it->long_timer);
+//   if (it->long_timer) ecore_timer_del(it->long_timer);
 
    if(it)
      free(it);
index 6c79fb6..23d8bbc 100644 (file)
@@ -5,7 +5,7 @@ static void
 _smart_extents_calculate(Evas_Object *box, Evas_Object_Box_Data *priv, int horizontal, int homogeneous, int extended)
 {
        Evas_Coord minw, minh, maxw, maxh, mnw, mnh, ww;
-       Evas_Coord w, h, cal_w = 0, cal_h = 0, cur_line_max_h = 0;
+       Evas_Coord w, h, cw = 0, ch = 0, cmaxh = 0, sumw = 0;
        const Eina_List *l;
        Evas_Object_Box_Option *opt;
     double wx;
@@ -34,7 +34,6 @@ _smart_extents_calculate(Evas_Object *box, Evas_Object_Box_Data *priv, int horiz
                if (horizontal && extended)
                {
                        evas_object_geometry_get(box, NULL, NULL, &w, &h);
-                       minw = w;
                }
 
                EINA_LIST_FOREACH(priv->children, l, opt)
@@ -48,22 +47,27 @@ _smart_extents_calculate(Evas_Object *box, Evas_Object_Box_Data *priv, int horiz
                                {
                                        if(wx)
                                        {
-                                          if (mnw != -1 && (w - cal_w) >= mnw)
-                                                  ww = w - cal_w;
+                                          if (mnw != -1 && (w - cw) >= mnw)
+                                                  ww = w - cw;
                                           else
                                                   ww = w;
                                        }
                                        else
                                                ww = mnw;
 
-                                       if ((cal_w + mnw) > w)
+                                       if ((cw + mnw) > w)
                                        {
-                                               minh += cur_line_max_h;
-                                               cal_w = 0;
-                                               cur_line_max_h = 0;
+                                               minh += cmaxh;
+                                               if (sumw > minw) minw = sumw;
+
+                                               cw = 0;
+                                               cmaxh = 0;
+                                               sumw = 0;
                                        }
-                                       cal_w += ww;
-                                       if (cur_line_max_h < mnh) cur_line_max_h = mnh;
+                                       cw += ww;
+                                       if (cmaxh < mnh) cmaxh = mnh;
+
+                                       sumw += mnw;
                                }
                                else
                                {
@@ -80,7 +84,8 @@ _smart_extents_calculate(Evas_Object *box, Evas_Object_Box_Data *priv, int horiz
 
                if(horizontal && extended)
                {
-                       minh += cur_line_max_h;
+                       minh += cmaxh;
+                       if (sumw > minw) minw = sumw;
                }
 
        }
@@ -91,7 +96,7 @@ _smart_extents_calculate(Evas_Object *box, Evas_Object_Box_Data *priv, int horiz
 static Evas_Coord
 _smart_extents_calculate_max_height(Evas_Object *box, Evas_Object_Box_Data *priv, int obj_index)
 {
-       Evas_Coord mnw, mnh, cal_w = 0, cur_line_max_h = 0, w, ww;
+       Evas_Coord mnw, mnh, cw = 0, cmaxh = 0, w, ww;
        const Eina_List *l;
        Evas_Object_Box_Option *opt;
        int index = 0;
@@ -106,31 +111,31 @@ _smart_extents_calculate_max_height(Evas_Object *box, Evas_Object_Box_Data *priv
 
                if(wx)
                {
-                       if (mnw != -1 && (w - cal_w) >= mnw)
-                               ww = w - cal_w;
+                       if (mnw != -1 && (w - cw) >= mnw)
+                               ww = w - cw;
                        else
                                ww = w;
                }
                else
                        ww = mnw;
 
-               if ((cal_w + ww) > w)
+               if ((cw + ww) > w)
                {
                        if (index > obj_index )
                        {
-                               return cur_line_max_h;
+                               return cmaxh;
                        }
-                       cal_w = 0;
-                       cur_line_max_h = 0;
+                       cw = 0;
+                       cmaxh = 0;
                }
 
-               cal_w += ww;
-               if (cur_line_max_h < mnh) cur_line_max_h = mnh;
+               cw += ww;
+               if (cmaxh < mnh) cmaxh = mnh;
 
                index++;
        }
        
-       return cur_line_max_h;
+       return cmaxh;
 }
 
 
@@ -201,7 +206,7 @@ _els_box_layout_ex(Evas_Object *o, Evas_Object_Box_Data *priv, int horizontal, i
    xx = x;
    yy = y;
 
-   Evas_Coord cal_w = 0, cal_h = 0, cur_line_max_h = 0, obj_index = 0;
+   Evas_Coord cw = 0, ch = 0, cmaxh = 0, obj_index = 0;
 
    EINA_LIST_FOREACH(priv->children, l, opt)
      {
@@ -249,8 +254,8 @@ _els_box_layout_ex(Evas_Object *o, Evas_Object_Box_Data *priv, int horizontal, i
                                   Evas_Coord ww, hh, ow, oh;
                                   if(wx)
                                   {
-                                          if (mnw != -1 && (w - cal_w) >= mnw)
-                                                  ww = w - cal_w;
+                                          if (mnw != -1 && (w - cw) >= mnw)
+                                                  ww = w - cw;
                                           else
                                                   ww = w;
                                   }
@@ -265,21 +270,21 @@ _els_box_layout_ex(Evas_Object *o, Evas_Object_Box_Data *priv, int horizontal, i
                                   if (fh) oh = hh;
                                   if ((mxh >= 0) && (mxh < oh)) oh = mxh;
 
-                                  if ((cal_w + ww) > w)
+                                  if ((cw + ww) > w)
                                   {
-                                          cal_h += cur_line_max_h;
+                                          ch += cmaxh;
 
-                                          cal_w = 0;
-                                          cur_line_max_h = 0;
+                                          cw = 0;
+                                          cmaxh = 0;
                                   }
 
                                   evas_object_move(obj,
-                                                  xx + cal_w + (Evas_Coord)(((double)(ww - ow)) * ax),
-                                                  yy + cal_h + (Evas_Coord)(((double)(hh - oh)) * ay));
+                                                  xx + cw + (Evas_Coord)(((double)(ww - ow)) * ax),
+                                                  yy + ch + (Evas_Coord)(((double)(hh - oh)) * ay));
                                   evas_object_resize(obj, ow, oh);
 
-                                  cal_w += ww;
-                                  if (cur_line_max_h < hh) cur_line_max_h = hh;
+                                  cw += ww;
+                                  if (cmaxh < hh) cmaxh = hh;
                           }
                           else
                           {
index bd546bd..b491ec4 100644 (file)
@@ -243,7 +243,7 @@ _elm_smart_touch_child_set(Evas_Object *obj, Evas_Object *child)
 
        _smart_enter_none(sd);
 
-       sd->is_one_drag_mode = EINA_TRUE;
+       sd->is_one_drag_mode = EINA_FALSE;
      }
 
    evas_object_smart_callback_call(sd->smart_obj, "changed", NULL);
@@ -726,7 +726,8 @@ _smart_animation_flick(void *data)
        if (dx == 0 && dy == 0)
          {
             _smart_stop_animator_flick(sd);
-            _smart_enter_none(sd);
+            if (sd->state == TOUCH_STATE_DRAG)
+              _smart_enter_none(sd);
             return ECORE_CALLBACK_CANCEL;
          }
        else
index bc4ac14..f698c3c 100644 (file)
@@ -79,6 +79,7 @@ struct _Smart_Data {
      int locked_dy;
      unsigned char bounce_horiz : 1;
      unsigned char bounce_vert : 1;
+     unsigned char events_feed : 1;
      unsigned char auto_fitting : 1;
      unsigned char mouse_clicked : 1;
 
@@ -200,14 +201,9 @@ struct _Smart_Data {
      Evas_Event_Mouse_Up mouse_up_copy;
 
      cairo_surface_t* thumbnail;
-     Ecore_Animator* animator;
-     int hold_counter;
      float current_zoom_level;
 
      Eina_Bool tiled;
-     Eina_Bool events_feed;
-     Eina_Bool event_blocked;
-     Eina_Bool event_only;
      Eina_Bool on_panning;
      Eina_Bool on_zooming;
      Eina_Bool is_mobile_page;
@@ -232,7 +228,9 @@ static void      _smart_show(Evas_Object* obj);
 static void      _smart_hide(Evas_Object* obj);
 static void      _smart_resize(Evas_Object* obj, Evas_Coord w, Evas_Coord h);
 static void      _smart_move(Evas_Object* obj, Evas_Coord x, Evas_Coord y);
+#ifdef DEBUG
 static void      _smart_calculate(Evas_Object* obj);
+#endif
 static Eina_Bool _smart_mouse_down(Ewk_View_Smart_Data *esd, const Evas_Event_Mouse_Down* ev);
 static Eina_Bool _smart_mouse_up(Ewk_View_Smart_Data *esd, const Evas_Event_Mouse_Up* ev);
 static Eina_Bool _smart_mouse_move(Ewk_View_Smart_Data *esd, const Evas_Event_Mouse_Move* ev);
@@ -640,68 +638,58 @@ _smart_move(Evas_Object* obj, Evas_Coord x, Evas_Coord y)
    _parent_sc.sc.move(obj, x, y);
 }
 
-//TODO: Is it required? I just add to test
+#ifdef DEBUG
 static void
 _smart_calculate(Evas_Object* obj)
 {
-   DBG("%s\n", __func__);
    _parent_sc.sc.calculate(obj);
-   DBG("%s end\n", __func__);
 }
+#endif
 
 static Eina_Bool
 _smart_mouse_down(Ewk_View_Smart_Data *esd, const Evas_Event_Mouse_Down* ev)
 {
-   DBG("%s is called\n", __func__);
+   DBG("[NATIVE]%s is called\n", __func__);
    Smart_Data *sd = (Smart_Data *)esd;
    sd->mouse_down_copy = *ev;
-   sd->mouse_clicked = EINA_TRUE;
 
-   return EINA_TRUE;
-   //return _parent_sc.mouse_down(esd, ev);
+   if (sd->events_feed)
+     {
+       sd->mouse_clicked = EINA_TRUE;
+       return _parent_sc.mouse_down(esd, ev);
+     }
+   else return EINA_TRUE;
 }
 
 static Eina_Bool
 _smart_mouse_up(Ewk_View_Smart_Data *esd, const Evas_Event_Mouse_Up* ev)
 {
-   DBG("%s is called\n", __func__);
+   DBG("[NATIVE]%s is called\n", __func__);
    Smart_Data *sd = (Smart_Data *)esd;
    sd->mouse_up_copy = *ev;
-   sd->mouse_clicked = EINA_FALSE;
-   if (sd->event_blocked == EINA_TRUE) return EINA_TRUE;
-   if (sd->event_only == EINA_TRUE) goto forward_event;
 
-   if (sd->animator != NULL)
+   if (sd->events_feed)
      {
-       ecore_animator_del(sd->animator);
-       sd->animator = NULL;
-     }
-   sd->hold_counter = 0;
+       //check if user hold touch
+       if (ev && (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
+         {
+            return EINA_TRUE;
+         }
 
-   //check if user hold touch
-   if (ev && (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
-     {
-       return EINA_TRUE;
+       Eina_Bool ret = _parent_sc.mouse_up(esd, ev);
+       sd->mouse_clicked = EINA_FALSE;
+       return ret;
      }
-
-   //TODO:check if use click input or textarea
-forward_event:
-   //return _parent_sc.mouse_up(esd, ev);
-   _smart_cb_mouse_up(NULL, esd->self, (void*)&ev->output);
-   return EINA_TRUE;
+   else
+     return EINA_TRUE;
 }
 
 static Eina_Bool
 _smart_mouse_move(Ewk_View_Smart_Data *esd, const Evas_Event_Mouse_Move* ev)
 {
-   //DBG("%s is called\n", __func__);
    Smart_Data *sd = (Smart_Data *)esd;
-   if (sd->event_blocked == EINA_TRUE) return EINA_TRUE;
-   if (sd->event_only == EINA_TRUE) goto forward_event;
-
-   return EINA_TRUE;
-forward_event:
-   return _parent_sc.mouse_move(esd, ev);
+   if (sd->events_feed) _parent_sc.mouse_move(esd, ev);
+   else return EINA_TRUE;
 }
 
 static void
@@ -1055,6 +1043,8 @@ _smart_input_method_changed(void* data, Evas_Object* webview, void* arg)
                default: ecore_imf_context_input_panel_layout_set(imContext, ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL);
               }
             DBG("ecore_imf_context_input_panel_show");
+            ecore_imf_context_focus_in(imContext);
+            ecore_imf_context_client_canvas_set(imContext, evas_object_evas_get(sd->base.self));
             ecore_imf_context_input_panel_show (imContext);
          }
      }
@@ -1192,12 +1182,9 @@ _smart_add(Evas_Object* obj)
    sd->minimap.eo = NULL;
    sd->dropdown.options = NULL;
    sd->dropdown.option_cnt = 0;
-   sd->animator = NULL;
-   sd->event_only = EINA_FALSE;
    sd->use_text_selection = EINA_FALSE;
    sd->text_selection_on = EINA_FALSE;
    sd->events_feed = EINA_FALSE;
-   sd->event_blocked = EINA_TRUE;
    sd->touch_obj = _elm_smart_touch_add(evas_object_evas_get(obj));
    sd->layout.default_w = DEFAULT_LAYOUT_WIDTH;
 
@@ -1431,22 +1418,29 @@ _smart_cb_mouse_down(void* data, Evas_Object* webview, void* ev)
    DBG("%s\n", __func__);
    Smart_Data* sd = (Smart_Data *)data;
    if (!sd) return;
+   if (sd->events_feed == EINA_TRUE) return;
    //Evas_Point* point = (Evas_Point*)ev;
 
    if (sd->use_text_selection == EINA_TRUE && sd->text_selection_on == EINA_TRUE) return;
 
+#ifdef NEED_TO_REMOVE
    evas_object_focus_set(webview, EINA_TRUE);
    if (!sd->ewk_view_frame_main_get)
      sd->ewk_view_frame_main_get = (Evas_Object *(*)(const Evas_Object *))dlsym(ewk_handle, "ewk_view_frame_main_get");
    if (!sd->ewk_frame_feed_focus_in)
      sd->ewk_frame_feed_focus_in = (Eina_Bool (*)(Evas_Object *))dlsym(ewk_handle, "ewk_frame_feed_focus_in");
    sd->ewk_frame_feed_focus_in(sd->ewk_view_frame_main_get(webview));
+#endif
+
+   sd->mouse_clicked = EINA_TRUE;
    _parent_sc.mouse_down((Ewk_View_Smart_Data*)sd, &sd->mouse_down_copy);
 
+#if 0 // comment out below code until it is completed
    if (sd->bounce_horiz)
      elm_widget_drag_lock_x_set(sd->widget, EINA_TRUE);
    if (sd->bounce_vert)
      elm_widget_drag_lock_y_set(sd->widget, EINA_TRUE);
+#endif
 }
 
 static void
@@ -1455,12 +1449,10 @@ _smart_cb_mouse_up(void* data, Evas_Object* webview, void* ev)
    DBG("%s\n", __func__);
    Smart_Data* sd = (Smart_Data *)data;
    if (!sd) return;
+   if (sd->events_feed == EINA_TRUE) return;
 
    Evas_Point* point = (Evas_Point*)ev;
    DBG(" argument : (%d, %d)\n", point->x, point->y);
-
-   if (sd->events_feed == EINA_TRUE)
-     _parent_sc.mouse_up((Ewk_View_Smart_Data*)sd, &sd->mouse_up_copy);
 }
 
 static void
@@ -1469,6 +1461,7 @@ _smart_cb_mouse_tap(void* data, Evas_Object* webview, void* ev)
    DBG("%s\n", __func__);
    Smart_Data* sd = (Smart_Data *)data;
    if (!sd) return;
+   if (sd->events_feed == EINA_TRUE) return;
 
    Evas_Point* point = (Evas_Point*)ev;
    DBG(" argument : (%d, %d)\n", point->x, point->y);
@@ -1571,6 +1564,7 @@ _smart_cb_mouse_tap(void* data, Evas_Object* webview, void* ev)
      }
 
    _parent_sc.mouse_up((Ewk_View_Smart_Data*)sd, &sd->mouse_up_copy);
+   sd->mouse_clicked = EINA_FALSE;
 }
 
 static void
@@ -1581,6 +1575,8 @@ _smart_cb_pan_start(void* data, Evas_Object* webview, void* ev)
    if (!sd) return;
    Evas_Point* point = (Evas_Point*)ev;
 
+   if (sd->events_feed == EINA_TRUE) return;
+
    sd->pan_s = *point;
    sd->on_panning = EINA_TRUE;
 
@@ -1604,6 +1600,7 @@ _smart_cb_pan_by(void* data, Evas_Object* webview, void* ev)
    if (!sd) return;
    Evas_Point* point = (Evas_Point*)ev;
 
+   if (sd->events_feed == EINA_TRUE) return;
    if (sd->on_panning == EINA_FALSE) return;
 
    if (sd->use_text_selection == EINA_TRUE && sd->text_selection_on == EINA_TRUE)
@@ -1616,29 +1613,6 @@ _smart_cb_pan_by(void* data, Evas_Object* webview, void* ev)
          }
      }
 
-   if (sd->events_feed == EINA_TRUE)
-     {
-       Evas* evas = evas_object_evas_get(webview);
-       Evas_Modifier *modifiers = (Evas_Modifier *)evas_key_modifier_get(evas);
-       Evas_Lock *locks = (Evas_Lock *)evas_key_lock_get(evas);
-
-       Evas_Event_Mouse_Move event_move;
-       event_move.buttons = 1;
-       event_move.cur.output.x = point->x;
-       event_move.cur.output.y = point->y;
-       event_move.cur.canvas.x = point->x;
-       event_move.cur.canvas.y = point->y;
-       event_move.data = NULL;
-       event_move.modifiers = modifiers;
-       event_move.locks = locks;
-       event_move.timestamp = ecore_loop_time_get();
-       event_move.event_flags = EVAS_EVENT_FLAG_NONE;
-       event_move.dev = NULL;
-
-       _parent_sc.mouse_move((Ewk_View_Smart_Data*)sd, &event_move);
-       return;
-     }
-
    if (!sd->ewk_frame_scroll_pos_get)
      sd->ewk_frame_scroll_pos_get = (Eina_Bool (*)(const Evas_Object *, int *, int *))dlsym(ewk_handle, "ewk_frame_scroll_pos_get");
 
@@ -1663,47 +1637,7 @@ _smart_cb_pan_by(void* data, Evas_Object* webview, void* ev)
    content_h *= zoom;
    DBG("<< ========content [%d, %d] new pos [%d, %d] >>\n", content_w, content_h, old_x + dx, old_y + dy);
 
-#if 0
-   if ((old_x + dx) >= 0 && (old_x + dx) <= content_w && !elm_widget_drag_lock_x_get(sd->widget))
-     elm_widget_drag_lock_x_set(sd->widget, EINA_TRUE);
-   if ((old_y + dy) >= 0 && (old_y + dy) <= content_h && !elm_widget_drag_lock_y_get(sd->widget))
-     elm_widget_drag_lock_y_set(sd->widget, EINA_TRUE);
-
-   Eina_Bool locked = EINA_FALSE;
-   if (!elm_widget_drag_lock_x_get(sd->widget))
-     {
-       if ((sd->locked_dx > 0 && (sd->locked_dx + dx) <= 0)
-             || (sd->locked_dx < 0 && (sd->locked_dx + dx) >= 0))
-         {
-            elm_widget_drag_lock_x_set(sd->widget, EINA_TRUE);
-            DBG("===============<< widget x lock >>\n");
-            dx += sd->locked_dx;
-
-         }
-       else
-         {
-            sd->locked_dx += dx;
-            locked = EINA_TRUE;
-         }
-     }
-
-   if (!elm_widget_drag_lock_y_get(sd->widget))
-     {
-       if ((sd->locked_dy > 0 && (sd->locked_dy + dy) <= 0)
-             || (sd->locked_dy < 0 && (sd->locked_dy + dy) >= 0))
-         {
-            elm_widget_drag_lock_y_set(sd->widget, EINA_TRUE);
-            DBG("===============<< widget y lock >>\n");
-            dy += sd->locked_dy;
-
-         }
-       else
-         {
-            sd->locked_dy += dy;
-            locked = EINA_TRUE;
-         }
-     }
-#else
+#if 0 // comment out below code until it is completed
    Eina_Bool locked = EINA_FALSE;
    if (!elm_widget_drag_lock_x_get(sd->widget))
      {
@@ -1739,9 +1673,9 @@ _smart_cb_pan_by(void* data, Evas_Object* webview, void* ev)
             locked = EINA_TRUE;
          }
      }
-#endif
 
    if (locked) return;
+#endif
 
    if (!sd->ewk_view_frame_main_get)
      sd->ewk_view_frame_main_get = (Evas_Object *(*)(const Evas_Object *))dlsym(ewk_handle, "ewk_view_frame_main_get");
@@ -1759,6 +1693,7 @@ _smart_cb_pan_by(void* data, Evas_Object* webview, void* ev)
    if (sd->use_text_selection == EINA_TRUE && sd->text_selection_on == EINA_TRUE)
      _text_selection_move_by(sd, old_x - new_x, old_y - new_y);
 
+#if 0 // comment out below code until it is completed
    if (!sd->bounce_horiz &&
         (dx && elm_widget_drag_lock_x_get(sd->widget) && (old_x == new_x)))
      {
@@ -1774,6 +1709,7 @@ _smart_cb_pan_by(void* data, Evas_Object* webview, void* ev)
        elm_widget_drag_lock_y_set(sd->widget, EINA_FALSE);
        DBG("===============<< widget y unlock >>\n");
      }
+#endif
 }
 
 static void
@@ -1782,6 +1718,8 @@ _smart_cb_pan_stop(void* data, Evas_Object* webview, void* ev)
    DBG("%s\n", __func__);
    Smart_Data* sd = (Smart_Data *)data;
    if (!sd) return;
+   if (sd->events_feed == EINA_TRUE) return;
+
    Evas_Point* point = (Evas_Point*)ev;
    sd->on_panning = EINA_FALSE;
 
@@ -1818,6 +1756,7 @@ _smart_cb_pan_stop(void* data, Evas_Object* webview, void* ev)
              (sd->mouse_down_copy.canvas.x - point->x), (sd->mouse_down_copy.canvas.y - point->y));
      }
 
+#if 0 // comment out below code until it is completed
    if (!sd->bounce_horiz && elm_widget_drag_lock_x_get(sd->widget))
      {
        DBG("==============<< widget x unlock >>\n");
@@ -1829,6 +1768,7 @@ _smart_cb_pan_stop(void* data, Evas_Object* webview, void* ev)
        DBG("==============<< widget y unlock >>\n");
        elm_widget_drag_lock_y_set(sd->widget, EINA_FALSE);
      }
+#endif
 }
 
 static void
@@ -1837,6 +1777,8 @@ _smart_cb_select_closest_word(void* data, Evas_Object* webview, void* ev)
    DBG("%s\n", __func__);
    Smart_Data* sd = (Smart_Data *)data;
    if (!sd) return;
+   if (sd->events_feed == EINA_TRUE) return;
+
    Evas_Point* point = (Evas_Point*)ev;
 
    if (sd->use_text_selection == EINA_FALSE) return;
@@ -2286,23 +2228,11 @@ _smart_cb_smart_zoom(void* data, Evas_Object* webview, void* event_info)
    if (!sd) return;
    Evas_Point* point = (Evas_Point*)event_info;
 
+   if (sd->events_feed == EINA_TRUE) return;
+
    if (!sd->ewk_view_frame_main_get)
      sd->ewk_view_frame_main_get = (Evas_Object *(*)(const Evas_Object *))dlsym(ewk_handle, "ewk_view_frame_main_get");
 
-   // feed double tap
-   if (sd->events_feed == EINA_TRUE)
-     {
-       Evas_Event_Mouse_Down mouse_double_down = sd->mouse_down_copy;
-       mouse_double_down.flags |= EVAS_BUTTON_DOUBLE_CLICK;
-       if (!sd->ewk_frame_feed_mouse_down)
-         sd->ewk_frame_feed_mouse_down = (Eina_Bool (*)(Evas_Object *, const Evas_Event_Mouse_Down *))dlsym(ewk_handle, "ewk_frame_feed_mouse_down");
-       if (!sd->ewk_frame_feed_mouse_up)
-         sd->ewk_frame_feed_mouse_up = (Eina_Bool (*)(Evas_Object *, const Evas_Event_Mouse_Up *))dlsym(ewk_handle, "ewk_frame_feed_mouse_up");
-       sd->ewk_frame_feed_mouse_down(sd->ewk_view_frame_main_get(sd->base.self), &mouse_double_down);
-       sd->ewk_frame_feed_mouse_up(sd->ewk_view_frame_main_get(sd->base.self), &sd->mouse_up_copy);
-       return;
-     }
-
    _elm_smart_touch_stop(sd->touch_obj);
 
    // get rect