middle mouse click now changes cursor location, fixes primary selection paste location bugs

SVN revision: 61656
This commit is contained in:
Mike Blumenkrantz 2011-07-24 21:25:27 +00:00
parent 871ddf43d1
commit f862f71e4c
2 changed files with 8 additions and 7 deletions

View File

@ -134,3 +134,4 @@
to differentiate between paste types to differentiate between paste types
* Add entry,selection,all,request for signalling ctrl+a in an entry * Add entry,selection,all,request for signalling ctrl+a in an entry
* Add entry,selection,none,request for signalling ctrl+shift+a in an entry * Add entry,selection,none,request for signalling ctrl+shift+a in an entry
* Fix entry,paste,request* to be emitted after cursor,changed (fixes middle mouse paste location)

View File

@ -1458,13 +1458,7 @@ _edje_part_mouse_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS
if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) || if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
(rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE)) (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
return; return;
if (ev->button == 2) if ((ev->button != 1) && (ev->button != 2)) return;
{
_edje_emit(rp->edje, "entry,paste,request", rp->part->name);
_edje_emit(rp->edje, "entry,paste,request,1", rp->part->name);
return;
}
if (ev->button != 1) return;
#ifdef HAVE_ECORE_IMF #ifdef HAVE_ECORE_IMF
if (en->imf_context) if (en->imf_context)
@ -1486,6 +1480,7 @@ _edje_part_mouse_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS
{ {
if (en->select_allow) dosel = EINA_TRUE; if (en->select_allow) dosel = EINA_TRUE;
} }
if (ev->button == 2) dosel = EINA_FALSE;
if (dosel) if (dosel)
{ {
// double click -> select word // double click -> select word
@ -1604,6 +1599,11 @@ _edje_part_mouse_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS
#endif #endif
_edje_entry_real_part_configure(rp); _edje_entry_real_part_configure(rp);
if (ev->button == 2)
{
_edje_emit(rp->edje, "entry,paste,request", rp->part->name);
_edje_emit(rp->edje, "entry,paste,request,1", rp->part->name);
}
} }
static void static void