Commit Graph

78 Commits

Author SHA1 Message Date
Thiep Ha c30303d7e8 edje entry: improve selection performance
Summary:
The selection performance is slow if we select large chunk of text.
This is caused by many rectangles created and deleted.
This patch provides a way to improve it by combine selection rectangles
of line in middle into one rectangles (i.e, if we have N lines,
the selection rectangle for lines 2 to N-1 will be combined into one.)

@feature

Reviewers: raster, cedric, tasn

Subscribers: herdsman, woohyun, cedric

Differential Revision: https://phab.enlightenment.org/D1508
2014-11-26 11:29:09 +00:00
Jihoon Kim 59e0d9712d Fix bug ecore_imf_context_cursor_position_set was not called when cursor was moved by ECORE_IMF_CALLBACK_SELECTION_SET
@fix
2014-11-13 15:36:46 +09:00
artem.popov a5e3e0d0d4 edje: fix edje_object_part_text_item_list_get and edje_object_part_text_item_geometry_get
Summary:
There is copy-paste bug, when _anchors_get works in the same way like
_items_get. edje_object_part_text_item_list_get and
edje_object_part_text_item_geometry_get didn't work.

@fix

Reviewers: seoz, Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1641

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-05 00:15:52 +01:00
Jihoon Kim 000f5fee84 ecore_imf: Add ecore_imf_context_bidi_direction_set/get API
Some Input Methods want to know the bidi direction (LTR/RTL) at the current cursor position.
2014-09-23 10:18:35 +09:00
Jihoon Kim c8ac5486d8 edje: fix build warning in _edje_entry_input_hint_set/get
Thanks for reporting, jeyzu
2014-09-14 15:22:03 +09:00
Jihoon Kim 715da43d3a Add edje_object_part_text_input_hint_set/get API
Sets or get the input hint which allows input methods to fine-tune their behavior.
2014-09-01 19:01:54 +09:00
Carsten Haitzler bc6eb8fcec edje entry - fix format appending with just empty strings
this fixes CID 1039647 - it caught a real bug. we were not skipping
out on an empty + or - push/pop format fomamnt if it had nothing
there. not actually something people do - but possible. fix!
2014-08-14 19:32:45 +09:00
Carsten Haitzler 8a7e70705c fix possible resource leak in edje entry - coverity spotted
this should fix CID 1193228
2014-08-13 15:11:06 +09:00
Jaehwan Kim 7e5d2606cc edje: Add dpi feature.
Summary:
This dpi is used to get the scale for each collection.
If each collection has a described dpi, it calculates a proper scale
based on the dpi and dpi which is described in the collection.

@feature

Test Plan:
If add dpi to collection of edc, the edje will save the value as the dpi of the collection.
For example, if the dpi of your device is 100, you just set dpi: 100 in the collection of edc.
If the edj is loaded in another device(dpi is 200), it will scaled 2 times.
It is possible that the described dpi of application and theme are different.
In that case, application and theme have a different scale.
It makes the edj that made in different environment works in one device.

Reviewers: seoz, zmike, JackDanielZ, Hermet, woohyun, cedric, raster

Reviewed By: raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1190
2014-07-24 14:50:25 +09:00
Carsten Haitzler c3f0a0c59d fix behavior of edje entry to match other toolkit entires
this fixes T1229 in the part about the cursor behavior when you press
updown/left/right when a selection is there. @fix
2014-05-15 17:43:00 +09:00
zmike 564cd48a24 edje entry no longer selects none with unimplemented ctrl+w key press 2014-05-06 09:58:11 -04:00
zmike 8ae4810e65 edje entry no longer prints control codes
this has been an annoyance for way too long which has required various hacks to suppress
2014-05-06 09:58:11 -04:00
Jihoon Kim a9cfcf8dde Fix dereference null return value
CID 1193210
CID 1193211
2014-03-20 08:44:56 +09:00
Youngbok Shin 72c8b04e59 edje/entry: fix to not emit "changed" signal in unnecessary cases of password mode.
Summary:
When text is hidden by password character, "changed" signal should be emitted.
But, even if there is no visible text, the signal was emitted.

@fix

Reviewers: woohyun, tasn, cedric

Reviewed By: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D604

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-03-07 14:43:27 +09:00
Jihoon Kim 71f296e171 Edje entry: fix bug preedit text is committed in the next entry when Tab key is pressed.
Key events which ecore_imf_context_filter_event function returns EINA_TRUE should be not propagated.

@fix
2014-03-06 11:17:34 +09:00
Amitesh Singh 257607cc69 edje: add support of last input entered in password mode to be always visible in entry.
@feature

Requirement: Last input entered in password mode should be always visible in
entry. e.g. **a -> ***b.

Reviewers: cedric, raster, seoz

Reviewed By: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D589

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-03-03 09:34:31 -03:00
Daniel Hirt 08a6954904 Edje/entry: Add propagation handling in mouse_out for link anchors
Summary:
Link anchors are set to allow event propagation. In some cases, this
might lead to unwanted results in entry.
Adding a flag to event_flags allows to control this in Elementary.
One example that this fixes is having wrong mouse cursor handling when
having the mouse out of the link anchor, back to the entry parent
(in this case, additional handling in els_cursor.c is required so this
event is ignored if event_flag is set with EVAS_EVENT_FLAG_ON_HOLD.
Fixes T878.

Reviewers: tasn

CC: cedric

Maniphest Tasks: T878

Differential Revision: https://phab.enlightenment.org/D561
2014-02-17 21:18:19 +09:00
Tom Hacohen 211845c885 Edje entry: Enable allow_set for DEFAULT select mode.
We need to be able to disable selection even when the mode is default.
A good use case is thumb scrolling on a desktop.
2014-02-07 14:21:26 +00:00
Tom Hacohen c061e76927 Edje entry: always finish selection when mouse is up.
Even when the event is held. This actually needs some better fixing.
2014-02-07 14:21:26 +00:00
Jihoon Kim a759462078 edje: call imf reset before selecting text area 2014-02-01 10:32:53 +09:00
Tom Hacohen d9ef2b1ace Edje entry: Fix memory corruption (of by one in allocation).
This fixes T867.
2014-01-28 10:10:05 +00:00
Tom Hacohen 2d4ba9e8dd Edje entry: Fix anchor href parsing.
It should now correctly work with arguments surrounded with either
quotes or spaces.
2014-01-27 15:17:31 +00:00
Jihoon Kim 325bf9ab78 entry: clear selection before selecting new one 2014-01-27 21:34:09 +09:00
Jihoon Kim 1d7d554348 edje: Support to set or retrieve selection of ecore_imf 2014-01-23 11:26:52 +09:00
Youngbok Shin 443d1e700a edje: Call _edje_entry_imf_context_reset in _edje_entry_user_insert.
Summary:
When user paste text to elm_entry, _edje_entry_user_insert is called.
We need to reset a prediction buffer just like _edje_entry_text_markup_insert.

Reviewers: seoz, Hermet, woohyun, tasn, jihoon, raster

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D461
2014-01-20 15:59:51 +09:00
Youngbok Shin c85414b157 edje: Add changed signal emit in _edje_entry_imf_event_delete_surrounding_cb
Summary:
"_edje_entry_imf_event_delete_surrounding_cb" changes text of entry.
When the callback function is called and the entry is changed,
we need to notice to applications that the entry is changed.

Reviewers: seoz, Hermet, tasn, woohyun, jihoon, raster

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D460
2014-01-20 12:54:46 +09:00
Jihoon Kim c059b12bf4 edje: use EINA_UNUSED instead of __UNUSED__ 2014-01-17 18:51:52 +09:00
WooHyun Jung 1d189f43f6 edje_entry: When preediting, cursor should not be moved. 2014-01-16 16:31:36 +09:00
Jihoon Kim f241646370 Edje: add edje_object_part_text_input_panel_show_on_demand_set/get() 2013-12-27 13:24:54 +09:00
Jihoon Kim 2bcfc800c9 Remove ecore_imf_context_reset in focus-in event handler
It's useless to call ecore_imf_context_reset in focus-in handler
2013-12-20 09:31:58 +09:00
Youngbok Shin f374815a3e [Edje] Update anchor and item tags when text is deleted by _edje_entry_imf_event_delete_surrounding_cb.
Summary:
Anchor and item tags should be updated when text is changed.
In _edje_entry_imf_event_delete_surrounding_cb function,
the text is changed by "evas_textblock_cursor_range_delete" API
and there was no update about anchor and item tags.

It can result that the tags hang in the air after deleting.

Reviewers: tasn, woohyun, seoz, jihoon

Reviewed By: tasn

CC: cedric

Differential Revision: https://phab.enlightenment.org/D368
2013-12-13 12:04:50 +00:00
Jihoon Kim 3d2b7f2ec1 edje_entry: fix out-ouf-bounds issue in _edje_entry_imf_event_preedit_changed_cb
The maximum index of tagname is 7, and preedit_type_size is equal to 8.
Checking "attr->preedit_type <= preedit_type_size" implies that the value of "attr->preedit_type" may be up to 8

This patch fixes CID 1039308
2013-11-27 09:31:26 +09:00
Jihoon Kim ca16bcbf23 fix clang warning in _edje_entry_focus_in_cb 2013-11-26 08:48:21 +09:00
Chris Michael a490019b52 Remove dead assignments reported by nightly build
cw/cy are never used inside the "dosel" block, so no need to fetch
geometry and calculate difference here (already fetched below when
needed anyway).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 10:15:54 +00:00
Carsten Haitzler d2dcd875ac clean up previous commit with simple continues on invalid name 2013-11-08 17:42:34 +09:00
Youngbok Shin d6456c6c58 [edje_entry] Add null checking for name of anchor and item.
Summary:
Even if the anchor name is null, it will be appended to "anchors".
There are many null checking for name of anchor.
So it should be checked in geometry_get functions.

Test Plan:
Test with text "<a href =abc>We can't find name in this case</a>".
This text makes break the application. Because of a space between "href" and "=".
The name of anchor will be saved as null in "anchors".

Reviewers: woohyun, tasn, cedric

CC: cedric, raster

Differential Revision: https://phab.enlightenment.org/D318
2013-11-08 17:40:57 +09:00
Thiep Ha 44639b2098 Remove selection handlers (and move to elm)
Summary:
Selection handlers are now implemented in elementary. So, we should remove them from edje.
The BLOCK_HANDLE mode should be removed also.

Reviewers: cedric, tasn

CC: cedric, raster

Differential Revision: https://phab.enlightenment.org/D312
2013-11-08 17:30:45 +09:00
WooHyun Jung 91bd46eee9 edje/edje_entry.c : By Next/Previous, cursor can reach to the top or the bottom of entry. 2013-11-01 18:32:43 +09:00
Chris Michael b4717598d1 Sorry Jihoon, I have to revert this (for now). It completely breaks
building of EFL :( I think perhaps you forgot to push the ecore_imf
code that goes with this ??

Revert "Edje: add edje_object_part_text_input_panel_show_on_demand_set/get()"

This reverts commit 4b5ed04559.
2013-08-15 07:40:15 +01:00
Jihoon Kim 4b5ed04559 Edje: add edje_object_part_text_input_panel_show_on_demand_set/get() 2013-08-14 18:17:06 +09:00
Carsten Haitzler 5ae4cfd192 edje - Fix efl to use key not keyname (so xmodmap works). 2013-07-31 15:15:51 +09:00
Stefan Schmidt 42e838545a edje_entry: Fix memory leak in _edje_entry_imf_event_preedit_changed_cb
info is only local and we are going out of scope after allocating memory
for it. As we are going out of scope anyway we can safely free it before.
2013-06-27 09:43:08 +01:00
Thiep Ha 7767751c88 [Edje_Entry] Move cursor to correct position when selection handlers are pressed.
+ Main cursor should be moved to selection start or selection end
cursor's position when selection handlers are pressed.
+ Fix my mistake in signal emit for end handler mouse down event.

Conflicts:

	ChangeLog
	NEWS
2013-06-22 12:30:50 +09:00
Sebastian Dransfeld 336f6ec328 efl: formatting 2013-06-20 13:28:18 +02:00
Ryuan Choi a011fc1dd9 edje_entry: password entry should not be selected when doublc clicked
or tripple clicked.

selection should be allowed when select_allow is true whatever
select_mode is.

Reproduce step is below.
1. ELM_THEME=default-desktop ELM_PROFILE=standard elementary_test
--test-win-only "Entry Scrolled
2. double click on password entry.
2013-06-03 15:47:05 +09:00
Jihoon Kim 3eb79d3c3d Edje entry: return surrounding string until the start position of selection 2013-05-14 09:33:19 +09:00
thiepha (Thiep Ha) c38a2a6bb8 [Edje_Entry] Add selection handlers to entry
Add selection handlers to entry.

https://phab.enlightenment.org/D117

Conflicts:

	ChangeLog
	NEWS
2013-05-13 19:16:58 +09:00
Carsten Haitzler 8fc259371e emit keydown and keyup signals on keypresses in edje entry...
i'm addicted to this. :)
2013-05-07 12:08:47 +09:00
WooHyun Jung a248548712 ejde/edje_entry.c : commit_cancel should be EINA_FALSE when there is one or more characters in preediting string. 2013-04-29 12:46:22 +09:00
Jihoon Kim 2e0859f112 edje entry: remove duplicated ecore_imf_context_reset in adjusting the selection 2013-04-25 09:46:19 +09:00