This deferred recalc job is considered for wrap mode.
if the wrap mode is disabled, this job should be discarded.
since the wrap mode is enabled in default.
the job would be performed even the wrap mode was changed later.
@fix.
Summary:
In elm entry, cursor handlers are placed and moved incorrectly if we do selection from bottom to top.
Ex: In elementary_test -> Entry -> Right click -> choose Select -> do selection from bottom to top (or press Shift + <- keys to do selection).
Look at selection handlers: they are incorrectly placed.
Try to move selection handlers: They suddenly move to near each other.
Minor: Remove unused variable.
@fix
Reviewers: seoz
Differential Revision: https://phab.enlightenment.org/D583
Summary:
Magnifier is displayed incorrectly when mouse down on selection handler
Reproduce way: Right click on entry (eg Entry), choose Select, select some text, press left mouse
on selection handler (do not move the mouse), take a look at magnifier position.
Reason: Magnifier position is set to mouse down position in entry.
Fix: Check mouse down status and place correct position for magnifier.
Reviewers: seoz, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D573
Summary:
Issue 1: If you drop text to elm_entry, text is inserted twice.
Reason: Drop callbacks are registered multiple times in elm_entry.
Resolve: Register only one drop callback at entry side.
Issue 2: Even thought entry is disabled, non-editable, you still can drop text, image file. (Example, run Entry Scrolled and drop text, image file to disabled or non-editable entries).
Reason: Drop callback are registered but not remove when entry is set to disabled, non-editable mode.
Resolve: Correct registering and removing drop callbacks in entry.
Reviewers: JackDanielZ, raster
Reviewed By: raster
CC: woohyun
Differential Revision: https://phab.enlightenment.org/D565
Initial select mode was not properly set, as was just left to default.
This, in combination with the following from the efl repo:
commit 211845c885
commit c061e76927
fixes T861.
Summary:
in case of GTK, it provides API to select a region of text (gtk_editable_select_region).
However, there are only API to select all or none in EFL.
This API will provide the way to select a region of text.
Test Plan: elementary_test > entry3 > press 'Region' button
Reviewers: woohyun, tasn, id213sin
Reviewed By: tasn
Differential Revision: https://phab.enlightenment.org/D520
Summary: Fix a bug with finding the proper geometry when reporting anchor
interaction. It's easy to see in entry anchor2 test in elementary_test
when clicking on the lower border of the anchor.
Anchor geometries are relative to the textblock object. The problem was
that this was accounted for using the edje object's geometry instead of
the textblock geometry thus causing an offset.
Reviewers: JackDanielZ, tasn
CC: seoz
Differential Revision: https://phab.enlightenment.org/D436
TAsn: Commit message edited by me.
Call the smart callback in the widget infra so that each widget don't need to hook the smart_translate only for the smart call.
This makes reducing duplicated code and supporting language,chagned from all widgets.
ecore_animator_del, and ecore_job_del.
As all efl public free apis get null as valid parameter, we do not need
to check null. I also removed some null check for other free apis which
were right next to timer/animator/job del. After this job code got
cleaner.
If edje_object_part_text_get gives different text from original one,
length of text can be changed. So the last position of tmpbuf should
be calculated again refering to the current text to be returned.
There are elm_widget_theme/theme_set/theme_get functions.
In Eolian these functions will be described as "theme" method and
"theme" property. There is clash here.
So add suffix "_apply" to Eo API for "elm_widget_theme".
Summary:
In TTS mode, when the entry is highlighten and double tap to the entry,
the entry will be focused. But "clicked" smart callback is not called, input panel is not shown.
So I we need to call the callback and show input panel in smart activate.
Reviewers: seoz, Hermet, woohyun, tasn, jaehwan, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D465
Summary:
Default theme of entry does not have any disabled state in "elm/scroller/entry/*" styles.
But EFL developer can make any custom style for entry and scroller and it can has disabled state.
So _elm_entry_smart_disable has to emit "*disabled" signal to scr_edje.
Reviewers: woohyun, tasn, seoz, Hermet, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D464
This API sets the attribute to show the input panel in case of only an user's explicit Mouse Up event.
It doesn't request to show the input panel even though it has focus.
Using the elm_scrollable_interface_content_viewport_resize_cb_set in
scrollable entry widget. this only happens in mobile profile when you
drag the content with your finger left/right when the content is
smaller than the gap between icons.
This accepts D187
and removed unnecessary local variable.
- Do not need to call the same function with same parameter many times.
Use local variable for them.
- Remove unnecessary local variable if it is not needed.
This API sets the attribute to show the input panel in case of only an user's explicit Mouse Up event.
It doesn't request to show the input panel even though it has focus.
Summary:
Add "rejected" smart callback.
Applications using the *filter_accept_set didn't know when the input was rejected.
This smart callback can provide a simple information to applications.
Reviewers: woohyun, tasn, seoz
Reviewed By: seoz
Differential Revision: https://phab.enlightenment.org/D413
Being annoyed by different types of eina critical macros - CRI, CRIT,
CRITICAL -, I concluded to unify them to one. Discussed on IRC and
finally, CRI was chosen to meet the consistency with other macros -
ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
use the fill_set instead of the clipper.
soon after 1.8, proxy just created the filled area buffer, then magnifier surface size will be fixed regardless of the entry source.
The swallow part was properly renamed and namespaced, so reflect that
in the code. Also force a edje object recalc before moving the magnifier.
Reviewers: raster, cedric, Hermet, tasn
Reviewed By: cedric
CC: seoz
Differential Revision: https://phab.enlightenment.org/D286
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
wayland.
This also unifies some of the code between X & wayland wrt copy/paste.
This is part of a larger copy/paste fix for efl/elm wayland.
Previously, copy/paste would not work via keyboard shortcuts. This
series of changes fixes that issue (wrt elm_entry anyway).
This also adds addtional copy/paste support (wrt efl wayland),
including support for various mime types (text/plain, elm-markup, and html).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This features permits execution of more than one set of functions during
DnD.
Delete function API has been modified to give the developer the
possibility to remove a specific set of functions.
Summary: Add one more argument, 'Eina_Bool sub_object' to elm_widget_resize_object_set. If the argument, 'sub_object' is set as EINA_TRUE, the new resize object is added to the sub object and the previous resize object is deleted from the sub object.
Reviewers: Hermet, seoz
CC: Jaehyun_Cho, seoz, raster
Differential Revision: https://phab.enlightenment.org/D265
feature did not build (missing the matching ecore_imf code) so I had
to revert it from EFL, which means this needs to be reverted also.
Revert "Add elm_entry_input_panel_show_on_demand_set/get()"
This reverts commit 3fc38ccc41d9b61efb4b5a8db08ea8290182bb7a.
_elm_entry_smart_signali calls edje_object_message_signal_process for processing the pending messages.
Because Edje can’t changes size or position of parts immediately when it receive a signal without this.
Multiple popups (anchor hover and hoversel) are showing in following cases:
- Run elementary_test with Mobile profile --> Entry Anchor
+ click on anchor to show hover, then press menu key
+ right click on anchor
and vice versa. Avoids some warnings in clang and it helps see that
these are actually different types.
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
There are pros and cons but this
1. reduces human mistakes.
2. enhances readability.
3. enhances code quality.
4. removes future bug.
5. was adopted from enlightenment.
This is not all. I will work on enhancing elementary more and more.
When we call elm_entry_markup_filter_remove() with internally defined filter callbacks,
it doesn't work. So we need a one of pointer for saving the address of data.
10 Elm_Entry_Filter_Limit_Size lim;
11 lim.max_char_count = 20;
12 lim.max_byte_count = 0;
13 elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
&lim);
14
15 elm_entry_markup_filter_remove(en, elm_entry_filter_limit_size,
&lim);
16 lim.max_char_count = 50;
17 lim.max_byte_count = 0;
18 elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
&lim);
In this code, we expect to see the filter of entry will be renewed.
But elm_entry_markup_filter_remove() doesn't work.
Because, markup_filter does not hold the address of data when we use
the filter callback which is defined in elm_entry.c
_filter_new() in elm_entry.c
You can see that _filter_new allocates new pointer and names as lim2.
lim2 is saved in data of _Elm_Entry_Markup_Filter. So the address of
data doesn't equal to the input data.