cnp_debug("Notify handler text %d %d %p\n", data->format,data->length, data->data);
str = mark_up((char *)data->data, data->length, NULL);
cnp_debug("String is %s (from %s)\n", str, data->data);
- elm_entry_entry_insert(sel->requestwidget, str);
+ _elm_entry_entry_paste(sel->requestwidget, str);
free(str);
return 0;
}
strncpy(stripstr, (char *)data->data, data->length);
stripstr[data->length] = '\0';
cnp_debug("String is %s (%d bytes)\n", stripstr, data->length);
- elm_entry_entry_insert(sel->requestwidget, stripstr);
+ _elm_entry_entry_paste(sel->requestwidget, stripstr);
free(stripstr);
return 0;
}
entrytag = alloca(len + 1);
snprintf(entrytag, len + 1, tagstring, file);
- elm_entry_entry_insert(entry, entrytag);
+ _elm_entry_entry_paste(entry, entrytag);
return EINA_TRUE;
}
static void _add_chars_till_limit(Evas_Object *obj, char **text, int can_add, Length_Unit unit);
static const char SIG_CHANGED[] = "changed";
+static const char SIG_CHANGED_USER[] = "changed,user";
static const char SIG_ACTIVATED[] = "activated";
static const char SIG_PRESS[] = "press";
static const char SIG_LONGPRESSED[] = "longpressed";
{SIG_ANCHOR_IN, ""},
{SIG_ANCHOR_OUT, ""},
{SIG_PREEDIT_CHANGED, ""},
+ {SIG_CHANGED_USER, ""},
{NULL, NULL}
};
elm_widget_scroll_hold_push(data);
}
+void
+_elm_entry_entry_paste(Evas_Object *obj, const char *entry)
+{
+ elm_entry_entry_insert(obj, entry);
+ evas_object_smart_callback_call(obj, SIG_CHANGED_USER, NULL);
+}
+
static void
_paste(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
}
static void
+_signal_entry_changed_user(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
+{
+ evas_object_smart_callback_call(data, SIG_CHANGED_USER, NULL);
+}
+
+static void
_signal_preedit_changed(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
{
_entry_changed_common_handling(data, SIG_PREEDIT_CHANGED);
_elm_theme_object_set(obj, wd->ent, "entry", "base", "default");
edje_object_signal_callback_add(wd->ent, "entry,changed", "elm.text",
_signal_entry_changed, obj);
+ edje_object_signal_callback_add(wd->ent, "entry,changed,user", "elm.text",
+ _signal_entry_changed_user, obj);
edje_object_signal_callback_add(wd->ent, "preedit,changed", "elm.text",
_signal_preedit_changed, obj);
edje_object_signal_callback_add(wd->ent, "selection,start", "elm.text",