static const char *_getbase(Evas_Object *obj);
static void _signal_entry_changed(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _signal_selection_start(void *data, Evas_Object *obj, const char *emission, const char *source);
static const char *_getbase(Evas_Object *obj);
static void _signal_entry_changed(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _signal_selection_start(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _signal_selection_changed(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _signal_selection_cleared(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _signal_handler_move_start(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _signal_selection_changed(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _signal_selection_cleared(void *data, Evas_Object *obj, const char *emission, const char *source);
static void _signal_handler_move_start(void *data, Evas_Object *obj, const char *emission, const char *source);
void (*obj_hook) (Evas_Object *obj);
void (*obj_unhook) (Evas_Object *obj);
void (*obj_longpress) (Evas_Object *obj);
void (*obj_hook) (Evas_Object *obj);
void (*obj_unhook) (Evas_Object *obj);
void (*obj_longpress) (Evas_Object *obj);
_elm_module_symbol_get(m, "obj_unhook");
((Mod_Api *)(m->api) )->obj_longpress = // called on long press menu
_elm_module_symbol_get(m, "obj_longpress");
_elm_module_symbol_get(m, "obj_unhook");
((Mod_Api *)(m->api) )->obj_longpress = // called on long press menu
_elm_module_symbol_get(m, "obj_longpress");
((Mod_Api *)(m->api) )->obj_mouseup = // called on mouseup
_elm_module_symbol_get(m, "obj_mouseup");
ok: // ok - return api
((Mod_Api *)(m->api) )->obj_mouseup = // called on mouseup
_elm_module_symbol_get(m, "obj_mouseup");
ok: // ok - return api
- wd->selmode = EINA_FALSE;
- edje_object_part_text_select_allow_set(wd->ent, "elm.text", EINA_FALSE);
- edje_object_signal_emit(wd->ent, "elm,state,select,off", "elm");
+ //wd->selmode = EINA_FALSE;
+ //edje_object_part_text_select_allow_set(wd->ent, "elm.text", EINA_FALSE);
+ //edje_object_signal_emit(wd->ent, "elm,state,select,off", "elm");
elm_widget_scroll_hold_pop(data);
_store_selection(ELM_SEL_CLIPBOARD, data);
elm_widget_scroll_hold_pop(data);
_store_selection(ELM_SEL_CLIPBOARD, data);
+
+ if (wd->have_selection)
+ _long_press(data);
+}
+
+static void
+_signal_selection_end(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
+{
+/*
+ Widget_Data *wd = elm_widget_data_get(data);
+ Evas_Object *entry;
+ if (!wd) return;
+*/
+ _long_press(data);
if (!wd) return;
wd->double_clicked = EINA_FALSE;
evas_object_smart_callback_call(data, SIG_PRESS, NULL);
if (!wd) return;
wd->double_clicked = EINA_FALSE;
evas_object_smart_callback_call(data, SIG_PRESS, NULL);
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
_signal_handler_move_end, obj);
edje_object_signal_callback_add(wd->ent, "selection,start", "elm.text",
_signal_selection_start, obj);
_signal_handler_move_end, obj);
edje_object_signal_callback_add(wd->ent, "selection,start", "elm.text",
_signal_selection_start, obj);
+ edje_object_signal_callback_add(wd->ent, "selection,end", "elm.text",
+ _signal_selection_end, obj);
edje_object_signal_callback_add(wd->ent, "selection,changed", "elm.text",
_signal_selection_changed, obj);
edje_object_signal_callback_add(wd->ent, "selection,cleared", "elm.text",
edje_object_signal_callback_add(wd->ent, "selection,changed", "elm.text",
_signal_selection_changed, obj);
edje_object_signal_callback_add(wd->ent, "selection,cleared", "elm.text",