when panel becomes scrollable, the function blocked scrolling
assuming that the panel is hidden. this caused an issue case
when panel becomes scrollable while it is open.
this patch fixes the issue.
Summary:
elm.web is never used directly only as abstract class that gets
implemented in elm.web.none. Thus making it abstract does make sense.
Depends on D7671
Reviewers: cedric, segfaultxavi, zmike, q66
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7672
When starting elementary_test, efl_ui_focus_object_child_focus_set is
getting passed NULL on startup because elm_test window has no parent.
This makes it difficult to debug and fix T7030 issues. In order to fix
the issue, this patch checks for a valid parent before calling
efl_ui_focus_object_child_focus_set so that it no longer gets passed
NULL on elm_test startup and we can set breakpoints on eo.c:637
without getting interrupted at startup.
ref T7030
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7677
This reverts commit ae65c64b8d.
It appears that abstract -> abstract enforcement is not needed anymore,
the other patches are fine. However, this one proposes a new object
which is not needed to exist.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7676
Summary:
There are two proplem when switching scrollable mode.
1. a previous layout does not disappear.
2. internal evas_box(sd->bx) should set on "elm.swallow.content" part.
This patch hide remained previous layout and set evas_box to "elm.swallow.content"
part directly.
Thanks to arosis for reporting and sample code.
Test Plan: P262
Reviewers: arosis, eunue, Jaehyun_Cho
Reviewed By: eunue
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7667
this event is called on the app object when all windows have been destroyed
so that the app can decide to take further action, e.g., doing a deep clean of
cache or flushing configuration
@feature
ref T5494
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7593
a file which has no data is still a valid file and should be correctly
opened
fix T6562
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7647
Objects packed would end up invisible as they were not marked as
"_elm_leaveme". I also added some list safety code but I think the
entire pack API on flip is very much untested and unstable.
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7367
If you need data, use a efl_future_then as done in every case here to get the same feature.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7577
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7543
Summary:
This patch fixes a memory leak in _elm_config_profile_name_get() where
the data returned from eet_read is not being free'd, causing valgrind
to spit out:
```
==11610== 9 bytes in 1 blocks are definitely lost in loss record 16 of
572
==11610== at 0x483777F: malloc (vg_replace_malloc.c:299)
==11610== by 0x4D9DE5B: eina_strbuf_common_string_steal
(eina_strbuf_common.c:828)
==11610== by 0x4D5BC31: eina_binbuf_string_steal
(eina_binbuf_template_c.x:187)
==11610== by 0x58646A1: eet_read_cipher (eet_lib.c:1991)
==11610== by 0x5864775: eet_read (eet_lib.c:2022)
==11610== by 0x49CD4D2: _elm_config_profile_name_get
(elm_config.c:2207)
==11610== by 0x49CD5F8: _elm_config_profile_save (elm_config.c:2237)
==11610== by 0x49D2F6E: _elm_config_sub_init (elm_config.c:4467)
==11610== by 0x4AC0B7D: elm_quicklaunch_sub_init (elm_main.c:840)
==11610== by 0x4ABFE3A: elm_init (elm_main.c:409)
==11610== by 0x138143: main (test.c:1379)
```
@fix
Reviewers: raster, cedric, ManMower
Reviewed By: raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7646
Summary:
If widget use both hint_align(HINT_FILL) and hint_max together, there is no way
to set to hint_align. See, elementary_test -to 'efl.ui.box' -
"Button with a quite long text." button. you can control button position
using "Box align" slider, but this is not proper implementation. When there are
two widget which have hint_align(HINT_FILL) and hint_max, those positions are
determined by box_align rather than hint_align. it means widget align cannot be
set individually.
To solve this problem, this patch add hint_fill property. in order to avoid
conflict with legacy API named evas_object_size_hint_fill_set(), it only works
for EO widgets(made by efl_add).
Also, EFL_GFX_SIZE_HINT_FILL is removed.
@feature
Test Plan:
elementary_test -to 'efl.ui.box'
elementary_test -to 'efl.ui.table'
Reviewers: jpeg, Hermet, Jaehyun_Cho, raster, barbieri
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T3912
Differential Revision: https://phab.enlightenment.org/D7409
This reverts commit 6c4e49d970.
Hell no - this removes loading of system config profile. the entire
premise of the patch is wrong. it isn't reading the code at all... how
this got through review is rather amazing...
_set_a_without_b() makes a list clone internally, so cloning the list
first will leak a copy.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7622
the efl_canvas_group should be abstract in order to support other
classes which are inheriting from it, which are abstract. This is done
in order to support only abstract parents from abstract classes.
ref T7240
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7600
so drop taregts liek rage stopped working - something was wrong with
type handling and fetching selections at all and so on... i've kicked
it back into working again. it's not perfect but it's improved. at
least simple thgins like being a dnd target for dnd from a filemanager
work again which is probably the biggest use case.
@fix
Summary: Without this a new overlay content aren't displayed into the map widget.
Reviewers: zmike, devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7457
The evas_norender updates the canvas internal objects.
But efl_ui_win does not evaluate its internal objects, when evas_norender is
called before showing, after resizing as below.
evas_object_resize(win, 300, 600);
evas_norender(evas_object_evas_get(win));
evas_object_show(win);
This problem could be verified by checking if a resize function of internal
object is called or not.
minw,h is 0 in _elm_win_resize_objects_eval but deferred_resize_job is TRUE.
evas_norender -> _window_layout_stack -> _elm_win_resize_objects_eval
So if _elm_win_resize_objects_eval does not return if deferred_resize_job is
TRUE even if minw,h is 0, and calls _elm_win_resize_job, then it will work.
_elm_win_resize_objects_eval -> _elm_win_resize_job ->
evas_object_geometry_set -> _efl_canvas_group_group_need_recalculate_set ->
_window_layout_stack -> evas_object_geometry_set -> resize function.
I have checked this behavior without elementary. It seems that evas_norender
works between resize and show in this case. Let me share examples.
ecore_evas_resize(ee, 100, 100);
evas_norender(evas);
ecore_evas_show(ee);
Differential Revision: https://phab.enlightenment.org/D7425
There is a option(--with-elementary-base-dir) on autotools
this patch provides the exactly same thing that autotools does on meson
Differential Revision: https://phab.enlightenment.org/D7580
This factory handle caching of one type of object and automatically empty the cache
when the application goes into pause.
Creating object is costly and time consuming, keeping a few on hands for when you next will need them help a lot.
This is what this factory caching infrastructure provide. It will create the object from the class defined on it,
set the parent and the model as needed for all items a Factory create. The View has to release the Item using the
release function of the Factory interface for all of this to work properly.
This is copying what Elm_Genlist was doing for you in the background and bring Efl interface to parity.
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7443
Summary:
elm has some cases that resize_obj is not the group object.
That case, efl_canvas_group_need_recalculate_get() prints
annoying type-check errors.
Reviewers: #committers, SanghyeonLee
Reviewed By: #committers, SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7557
If we are to choose Efl.Ui.I18n for the internationalization support, the localization API
should be named accordingly L10n.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7507
Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,
For instance, let's assume this scenario:
If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.
Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.
It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.
efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
to make object changed properly.
@feature
Reviewers: #committers, cedric
Reviewed By: #committers, cedric
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7494
Summary:
Unlikely efl.ui.Layout, Item need to be focusable,
so it may traverse list by your command of focus moving.
Test Plan:
tested in
efl_ui_list_example_1.c
efl_ui_grid_example_1.c
check whether item show their focus properly.
scroll feature is not yet supported by efl_ui_scroll itself.
Reviewers: eagleeye, cedric, Hermet, felipealmeida, bu5hm4n
Reviewed By: bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7465
This reverts commit 9b5155c9f1.
For now lets revert this, this breaks copy and paste, further more it
has the potential to break a lot more things, as eio_model tends to use
efl_loop_promise new, and then eina_promise_data_set, which is
explicitly forbidden.
This fixes crashing terminology instances.
Summary:
Here is an additional optmization patch for removing
unnecessary updation of path,
For instance, let's assume this scenario:
If one vg object has 20 path nodes(shapes),
and every single nodes would have 50 path changes.
(like, append_cubic, append_rect, append_xxx ...);
There would 1000 events triggering.
Furthermore, if there are 20 vector objects in one view,
hese events would be triggered 20000 in one frame.
It's insane, actually I could figured out that happens.
and it took a lot of cpu consumption in some vector usages.
efl_gfx_path_commit() is my idea to avoid this.
When path is ready, the path need to get this api call in the last
to make object changed properly.
@feature
Reviewers: #committers, cedric
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7494
I am not sure this is the right way to do it as binding would have to likely
to bind it manually.
Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7492
This brings in the possibility to receive the app object from bindings.
With the app object you can listen to pause / args / terminate / resume
events.
fix T7509
Differential Revision: https://phab.enlightenment.org/D7480
Summary:
they are not implemented - so using them would not work, to me it looks
like they can be dropped.
Reviewers: cedric, raster, stefan_schmidt, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7455
the new behaviour is (as genlist in the previous commit):
- focus the first item when down is pressed
- focus the last item when up is pressed
- do not go into the widget with tab or ctrl+tab and just return
immidiantly
fixes T6805
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7454
There is the case that the deletion of the adapter can cause another
registeration, which then calls another time prepare, which then deletes
the adapter, before the actaul deletion of the first efl_del happened,
which means it will throw an error. To avoid this we track if we are in
process of a unrealization, and if so, do not delete the item there.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7453
This implements the behaviour in case no item is yet focused, but the
genlist is focused.
ref T6805
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7452
this ensures that if there is no focused item, that at least the
container is focused. This leads to the fact that the elm_genlist
/elm_gengrid is refocused when a window is unfocused and focused again.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7451
setting the order is a little bit expensive, this performance optimizes
order setting in the focus manager. We don't need to set the order each
time something is registered, it is enough to set it once we need the
correct order.
We don't need to evalulate the state in the Manager_Root_Focus if the
rect is not registered. If its not, then another new element cannot
cause the rect to be registered.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7450
they are now handled. The list of parents is walked until a possible
candidate is found or the parent chain is the same then in the next
focused element.
fix T7389
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7404
you can use this now to let the focus move to the widget container of
the passed item.
I know this patch contains a whitespace change, but i have to get out
this whitespace each & every time i am editing the file - which is
annoying. So remove it once, which makes further work easier.
fixes T6183.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7408
buf is only initializied, if on_flush is true.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7449
This fixes a bug where calling:
evas_object_show(win);
evas_object_resize(win, 400, 400);
elm_run();
Would show a much smaller than 400,400 window on wayland, as the CSD
calcs would set the size smaller.
It also fixes some differences in startup size between X and wayland for
some trivial test clients.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7438
Summary:
tab is the parent of the icon.
so deleting the tab causes deleting the icon automatically.
in this case, it can cause double-freed problem once icon has deleted.
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: cedric, Jaehyun_Cho, jpeg
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7407
Summary:
This patch sets background transparent if window supports alpha.
If alpha window does not emit signal to show background rectangle,
then the background color set by _efl_ui_win_part_color_set cannot
be applied because the background rectangle remains hidden.
This patch fixes the side effect of D6569.
Test Plan: Run Efl.Ui.Win (Bg part) in elementary_test.
Reviewers: zmike, devilhorns, woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7302
This implements scrolling the scroller when the scroller is not in the
maximum position of the requested relation, but there is no more focus
object in that relation.
Summing up, the scroller is scrolled manually, when the focus object is
not fitting in the viewport, and the object is beeing out of the
viewport in the requested direction. Or the scroller is not at its max
position in the requested direction, and there is no more focusable
object in this requested direction.
ref T6804
Differential Revision: https://phab.enlightenment.org/D7382
This ensures that the adapter part is part of the viewport elements and
border elements. This is done in order to support cases where a
elm_scroller content is not focusable. Before the element was not
correctly in viewport, and so not correctly registered.
ref T6804
Differential Revision: https://phab.enlightenment.org/D7364
Until recently we have been only registering the border elements of the
graph, (so only the elements that don't have a neighboor). However this
lead to the situation that a scroller that is scrolled into the middle
(so not the x nor the y axis is scrolled to the max), is not accessable.
Now, we register all elements that have a neighboor in the outside.
The patch in the test suite is required in order to provide the correct
geometry to the implementation of efl_ui_focus_manager_sub.
Differential Revision: https://phab.enlightenment.org/D7360
Summary:
in eec7bc458e the epoch offset was edited,
which seems to be wrong, as this caused every single config to be
deleted. This also updates the configs in the elementry base configs
as they have been forgotten.
This brings back the ability to edit the config in elementary_config.
Reviewers: segfaultxavi, devilhorns, ManMower, raster
Reviewed By: raster
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7403
efl_loop_promise_new is a helper function that does automatically figure out an
available scheduler and create a promise from it. Basically replacing the call to
eina_promise_new(efl_loop_future_scheduler_get(o), ...).
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7336
Fix bugs on Views and Model related with null items and proper ownership and
life-cycle of components.
Configure default theme for default factory on finalize.
Add new feature to specify signal connection to boolean properties of Models.
This also fix some '%v' substitution problems.
Parsing EINA_VALUE_TYPE_BOOL as boolean in Efl.Ui.Layout signal updates from
Models (instead of EINA_VALUE_TYPE_UCHAR). UCHAR no longer has special handling
and falls to the general result of eina_value_to_string() as other types do.
Use EINA_VALUE_TYPE_BOOL instead of EINA_VALUE_TYPE_UCHAR to signal selection on
click events to the Model.
Update examples to make usage of the new property connection feature in order to
model selection of items on Views.
Summary:
Creation of the frame object can lead to significant delays in window
creation time on limited-power devices (watches, mobile, tv, etc).
This patch allows setting an environment variable and config value in
order to completely skip frame object creation.
This shaves about 50ms from startup on an i7 8600k, so should be more
substantial a saves on limited-power devices.
Reviewers: kimcinoo, ManMower
Reviewed By: ManMower
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7305
there is a eio_monitor which is tracking on config directory.
and that is the reason why idle processes get waken up once some process call elm_config_save().
this patch fix the function not to wake idle processes up as it was before.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7354
eio_monitor could miss what it is tracking on
in case of calling ecore_file_mv on the tracked file.
so that this patch replace move with copy.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7352
Nothing writes any profile name on profile.cfg inside data dir
This patch removes the logic.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7351
Summary:
- Replace '\@ref name' with '@name'
- Remove unused \@internal tag
This tag affects text AFTER it, and there is no text after it.
- Remove \@note tag
Replaced with a simple NOTE: text, since eolian does not have an equivalent tag.
- Remove spurious \@Efl... tags
They should really be @Efl...
- Remove \@p tags
There is no eolian equivalent, and a simpler $ suffices in this case.
Fixes T7482
Reviewers: q66
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7482
Differential Revision: https://phab.enlightenment.org/D7372
Summary:
Applications want to know current position on scroller.
Also, it is necessary when calculate position of focusable object.
Reviewers: herdsman, akanad, YOhoho, bu5hm4n
Reviewed By: bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7251
Summary:
Early accessibility read object and item infomations by elm_access_text_set
but this code is redundant now and removed genlist and list already.
To make a same consistancy of our accessibility informations in list-look widgets
we need to remove this function calls here.
Test Plan: tested Gengrid Item is not readed in gengrid item focused with accessibility on.
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7370
Child objects are already destoryed during destruction of the parent
object.
This fixes ERR messages when doing `efl_del(sd->smanager)`
object, which is already destroyed at that point.
Child objects are already destoryed during destruction of the parent
object.
This fixes ERR messages when doing operations on the `event_rect`
object, which is already destroyed at that point.
a efl_ui_focus_manager_sub object is a manager object by itself. It
registeres the border elements of itself in the parent focus manager.
However, all elements that are registered in this manager object, are
also automatically children of the parent root object, which means, when
the root object of the parent manager object is moved, then those
children will also be moved. Which means, when the parent manager can
ignore those changes, we can also ignore them.
This improves the overall performance of the "Scroller 2" test case by
26%.
The change to the test is required in order to redirect the events so
the self_dirty bit is setted correctly
Differential Revision: https://phab.enlightenment.org/D7350
this freezes the manager object of the user of the interface. This
improves the overall performance when moving arround focus in a
scrollable object, since no new relations are needed to be recalculated.
This safes up about 2% in the "Scroller 2" test. Additional
optimizations are added in another commit.
Differential Revision: https://phab.enlightenment.org/D7349
this is needed when a object is unregistered, otherwise a user of the
event is not informed when a element is gone, and thus the border
elements might have changed.
Differential Revision: https://phab.enlightenment.org/D7353
the new api can be used to freeze the cache. This means, when the
widgets of the focus manager are all equally moved, the cache can stay,
cause the relative positions did not change, this enables a whole new
set of available optimizations.
Differential Revision: https://phab.enlightenment.org/D7348
before the move and resize events have been used. However, this turned
out to not work well, because not all registered items are real
efl.gfx.entity objects, there is also a custom property for getting the
focus geometry, so now this property is completed with a event that is
emitted when the focus geometry changes. With this event we can
reintroduce relation caching. Since all events are marked correctly
dirty now.
Differential Revision: https://phab.enlightenment.org/D7347
there is one function that needs to be implemented by the inheritor of
Efl.Ui.Focus.Object and that is focus_parent, otherwise child_focus
cannot be propagated correctly. This is now achived correctly for all
widgets.
This fixes from elm_object_focus_get results for toolbar and calendar.
Segmentcontrol inherits from the class, however, the widget itself does
not allow focus, so its never registered probebly.
Differential Revision: https://phab.enlightenment.org/D7331
it appears that the calculation of the unordered elements can be done a
lot easier here, when checking in the initial for loop for the right
parent safes us two more list walk later on.
Additionally, if all elements in this chain have the right parent, and
the amount of elements is the same as the parent has, then this list can
be used as a full replacement.
Differential Revision: https://phab.enlightenment.org/D7330
In the case step is 0, the application will enter in an infinite loop
where the max will never be reached. To fix this, step is set to 1 if 0
is given by the user.
Moreover, step is forced to positive. According to the given min and
max values, the step will be negative or positive. In this way, we are
sure to be inside the correct range.
Further reduction in eo overhead.
Differential Revision: https://phab.enlightenment.org/D7315
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Since we're already at the top of the list, we can do the WIN_CLASS test
much more cheaply.
Differential Revision: https://phab.enlightenment.org/D7314
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Placing the cheapest tests first can save on some heavy walks.
Differential Revision: https://phab.enlightenment.org/D7313
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
combining _tree_unfocusable and _tree_disabled into a single function
reduces eo overhead. This saves a few ms at startup in elementary_test.
Differential Revision: https://phab.enlightenment.org/D7308
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
this ensures that the item is focused once the item is realized.
The last_focused_item point is not NULLed anymore, it will be overridden
anyways a few lines below, if the 'if' below is not going to be
executed, then we should not NULL out the field at all, since we want to
remember the item when we are restoring focus in
_elm_gengrid_efl_ui_focus_manager_setup_on_first_touch.
This resolved the latest comment in D7230
This also resolves T7391.
Differential Revision: https://phab.enlightenment.org/D7271
with using the new api of efl.ui.focus.object we can resolve a bug that
was pointed out in P243.
Differential Revision: https://phab.enlightenment.org/D7267
this was forgotten before. However, now the correct parents are returned
This is needed in order to have the child_focus property propagated
correctly accross the parent chain.
Differential Revision: https://phab.enlightenment.org/D7266
focus managers can be used via composition, in this case the normal
manager is NOT inheriting from the
EFL_UI_FOCUS_MANAGER_WINDOW_ROOT_INTERFACE class, but the composition
parent is.
fix T7390
Differential Revision: https://phab.enlightenment.org/D7230
Summary:
efl_ui_format printed ERR log in calendar use case.
calendar only accept format as "B,b,h,m,y,Y"
But it doesn't cover that and not supporting TM type.
If there is other widget which one using format interface, It also has own accpeted format.
So i think it should impelment on widget side.
Test Plan: elementary_test -> efl_ui_calendar.
Reviewers: Hermet, singh.amitesh, Jaehyun, zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6871
Summary:
Introduce new packable grid for Efl.Ui.Widget toolkits.
most of parts are same as Efl.Ui.List, and it also support Efl.Pack_Linear,
although it will not support Efl.Pack_Table, because item must be
arranged sequential orders.
Test Plan:
We will make the tests on efl ui test suite.
please test by make check.
Reviewers: Hermet, cedric, felipealmeida, eagleeye, woohyun
Reviewed By: Hermet, eagleeye
Subscribers: CHAN, bu5hm4n, cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6985
Summary:
Efl.Ui.Theme class is required to support language bindings.
Efl.Ui.Theme works based on current elm_theme features.
This patch fixes T7357.
Reviewers: segfaultxavi, cedric, lauromoura, woohyun, zmike, SanghyeonLee
Reviewed By: segfaultxavi, SanghyeonLee
Subscribers: SanghyeonLee, herdsman, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7357
Differential Revision: https://phab.enlightenment.org/D7244
Summary:
Efl.Ui.Bg interface does not have any new property or method.
Moreover, Efl.Ui.Bg interface is not used by widgets except
Efl.Ui.Bg_Widget and Efl.Ui.Widget_Part_Bg.
Consequently, Efl.Ui.Bg interface can be replaced by other interfaces.
Due to Efl.Ui.Bg interface, the bg widget class name becomes
Efl.UI.Bg_Widget which is not synchronized with other widget names.
Therefore, to keep consistency with other widgets, it would be better to
remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget to Efl.Ui.Bg.
Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7304
In some cases, like the example provided in the referred ticket, the
text is set during the construction of the object.
This adds another call to evaluate the size of the object at the end of
the "finalize" stage, and also removes the line that has set the text to
"".
Fixes T7468
Summary:
Efl.Ui.Layout namespace is removed to keep consistency with other
widgets.
Consequently, "Efl.Ui.Layout.Object" is renamed to "Efl.Ui.Layout" and
"Efl.Ui.Layout." is renamed to "Efl.Ui.Layout_".
Reviewers: segfaultxavi, bu5hm4n, cedric
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers, SanghyeonLee, woohyun
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7291
this is usefull for later implementations in spinner and fileselector.
A event for this was not added because the result is only really usefull
after a focus operation has been successfull.
Differential Revision: https://phab.enlightenment.org/D7102
Summary:
This commit removes some clashes (i.e. names as classes and namespaces
at the same time). It'll avoid nested items that are either forbidden
(C#) or problematic (Python) in some languages.
Reviewers: segfaultxavi, bu5hm4n, felipealmeida
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7260
cnp mode type was a mess. thankfully it was a bit simpler than it
seemed. cleaned up code to deal with it sanely and keep it a single
type as intended byt he api too.
so gcc likes to warn even if the truncation is intended. there are
verious ways around this, but in this case it's really just writing
your own ... which is pretty simple.
there is just too much warning noise for efl.
"default" should not be appended to the group name in new EFL interface
theme. e.g. "efl/button"
Therefore, if "default" is given as a style name, then the style name
should be converted to NULL for the group name in new EFL interface
theme.
This is a big rewrite. In addition to implementing functionality with
the new Efl interfaces, a lot of legacy (Elm) code was removed.
A lot of work is squashed in this patch as the widget would've been
completely broken otherwise.
The major changes are:
Life-cycle:
- Code was split to have 'finalize'
- Item anchors (emoticons, images) were rewritten to have proper
life-cycle
Scrolling logic:
- Efl.Ui.Internal_Text_Scroller widget was added, and replaces the old
Elm.Interface_Scrollable implementation. Singe-line and multi-line
modes were fixed as well as sizing calculations. The object is now
swallowed inside the Ui.Text widget.
Copy and paste:
- Code was converted to Efl.Selection logic.
Modified tests:
elementary_test -to "efl.ui.text"
elementary_test -to "efl.ui.text label"
Added tests:
elementary_test -to "efl.ui.text inputfield"
Removed test:
elementary_test -to "efl.ui.text.async"
This class inherits Efl.Ui.Scroller and has its own sizing_eval logic to
handle the text content sizing as needed.
It's kept internal as it only serves Efl.Ui.Text in a scrollable mode.
Summary:
View is not a namespace, but an interface,
So, View_List cannot be under the view namespace for now.
it looks more suite to be end as View than List on this widget name.
Firstly, it follows our common naming rules of class.
Also, List_View is commonly presentable name on most UI frameworks,
so it is very easy to understand what this widget can do for the user.
Test Plan:
Make works.
Example is not works for now til stable model interface.
Reviewers: felipealmeida, woohyun, cedric, Hermet
Reviewed By: Hermet
Subscribers: larryolj, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7234
Summary:
This API sets current time progression of the animation.
It intervenes current progress instantly when it requires
to jump onto a specific frame position.
@feature
Reviewers: #committers
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7211
Summary:
the logic of computation of pausing time was incorrect.
even it didn't take care of revert_mode at all.
delayed time must be subtracted from elapsed time.
@fix
Reviewers: #committers
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7201
prio.visible is ignored in case of SHRINK_EXPAND is used. every single
item is just stuffed into a box. Thus in case that the *more flag
indicates that another box is displayed (rather than not fitting items),
then we do not set the visibility flag on the item - as the item is used
anyways.
ref T6806.
Differential Revision: https://phab.enlightenment.org/D7185
In eo there is a difference between legacy events and normal events.
However, when a legacy event, that is called "focused" is emitted, the
event EFL_UI_FOCUS_MANAGER_FOCUSED is emitted on those objects. This
leads to bugs and unexpected results in elm_scroller, and additionally
this problem blocks work that is done right now to add those "focused"
event calls to gengrid.
Differential Revision: https://phab.enlightenment.org/D7099
While this is probably not entirely correct, it restores the
previous behavior. A proper fix would be to move .eo files that
do require header files into the pub_legacy_eo_files section but
that will require more effort and care. So until that is fixed,
just generate legacy as usual.
Summary:
Previously, it didn't allow to change duration because of implementation limit.
This time, it turns out it doesn't need to limit the behavior.
More capacity is better for various scenarioes.
Reviewers: #committers, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7205
Summary:
event.object is always NULL. it may cause unexpected behavior.
event.object should be assinged after sd->win is assinged.
Reviewers: akanad, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7208
This uses the meson/ninja depfile functionality + eolian to make
sure proper dependencies between generated files and .eo files
are managed, to ensure consistent re-generation of all generated
files that are affected upon .eo file modification.
For custom rules with multiple outputs, Ninja currently does not
support depfiles. Therefore, split those into two custom rules
so that the depfiles functionality can be enabled. While this
is ugly and slows down the process a little by having to invoke
Eolian twice instead of once, it has to be done and it's still
better than what we had in Autotools anyway.
Differential revision: D7187
Fixes T6700.
without this - elementary_config will crash, and elementary will not use
that much of Efreet. We might want to drop this #ifdef at some point.
Differential Revision: https://phab.enlightenment.org/D7176
we read and wrote the config into the wrong subdirectory, thus values
did not match - HOWEVER something lead to more problems and trouble, as
some options in elementary_config are not respected anymore.
Differential Revision: https://phab.enlightenment.org/D7175
the installation of the header was forgotten which broke app compilation
against meson builds
Differential Revision: https://phab.enlightenment.org/D7161
Summary:
Efl.Ui.Textpath was added when we were developing new interfaces.
So, basically, it does not support 'legacy' APIs. ex) elm_textpath_add
But, in Tizen, the legacy APIs had been delivered in old version of EFL.
To reduce maintainning cost between the platforms, this patch will be helpful.
@feature
Test Plan: N/A
Reviewers: Hermet, woohyun, zmike, cedric, herdsman
Reviewed By: Hermet
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7033
Summary:
In D6165, there was a modification that forced resize_job
to be called using sd-> deferred_resize_job.
Even if we set true in sd-> deferred_resize_job,
it will be changed to false by calling other function to be called.
(sd->deferred_resize_job = EINA_TRUE; ->
_elm_win_resize_objects_eval ->
_elm_win_resize_job ->
sd->deferred_resize_job = EINA_FALSE;)
Eventually _elm_win_frame_obj_update is not called.
There is a case where _elm_win_frame_obj_update can not called in tizen.
For this reason, make sure to call resize_job when first drawing based on D6165.
Test Plan: N/A
Reviewers: eagleeye, zmike, woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7156
there is a logic that forwards a calling to supoer class on efl_ui_layout.
and the logic have a mismatching calling as you could see.
and this patch fixes the typo error.
Differential Revision: https://phab.enlightenment.org/D7151
To keep backward compatibility, EFL_UI_THEME_APPLY_DEFAULT is returned
instead of EFL_UI_THEME_APPLY_SUCCESS if style is not found in theme and
default style fallback is done instead.
This patch fixes 7353fc1cb8
@fix
Summary:
When an entry is scrollable, its resize object is scr_edje.
So, to apply scale properly, elm_entry needs to apply scale
to its entry_edje, too.
@fix
Test Plan: Apply scale to scrollable entry
Reviewers: herdsman, woohyun, cedric, eagleeye
Reviewed By: eagleeye
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7140
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.
meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.
Further informations can be gathered from the README.meson
Right now, bindings & windows support are missing.
It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.
Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
In fff4d1ba97 one selection_manager_get
method was patched to behave like this, however, it completly broke the
fact of *only-one-manager* since the same code was duplicated in a other
files (efl_selection.c). This now unifies this code, and adds back the
assertion for only one manager per window.
Additionally a shutdown function is added, the app never destroyes, but
the selection manager decided to init some subsystems itself
(ecore_x for example). This lead to to a leak of init counts in ecore_x,
which lead to elementary test suite issues. This is now *finaly* fixed.
Differential Revision: https://phab.enlightenment.org/D7105
Summary: if target is null, then terminate the function because it is not intended.
Test Plan: N/A
Reviewers: eunue
Reviewed By: eunue
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7127
Summary:
vy isn't initialized when p >1.0 or p<0.
this function is for finding out a current animating speed of momentum scrolling.
and a caller of this function calls this function by reference(vx, vy)
so that if progress ratio is not between 0 and 1, vx, vy must be zero.
The issue was detected by coverity check.
It may not discovered any issues yet, but the typo is too obvious, so need to fix the right value.
Test Plan: This is coverity issue.
Reviewers: akanad, Hermet, SanghyeonLee
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7114
Summary:
The same description was used for both the Setter and the Getter, which makes
no sense.
Reviewers: zmike, bu5hm4n, bryceharrington, devilhorns
Reviewed By: bu5hm4n, devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7071
Summary: Check data and return function if data get is failed.
Reviewers: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7092
Summary:
correct group name of segmentcontrol for API docs consistency.
Elm_SegmentControl -> Elm_Segment_Control
Test Plan: N/A
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7087
Summary:
This commit add null check on _next and _request_subchild function.
The value 'node' is can be null.
Test Plan: N/A
Reviewers: bu5hm4n, YOhoho, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7069
Summary:
The 'data' could not be added to hash in a condition.
It has to be free'd before ending the function.
@fix
Test Plan: N/A
Reviewers: cedric, raster, Hermet, zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7083
Summary:
Current calculation for arrow type is not based on mouse position.
Consequently, tooltip arrow type is incorrect when tooltip shows on
mouse position with ELM_TOOLTIP_ORIENT_NONE.
Test Plan:
1. Execute "Tooltip" in elementary_test
2. Hover mouse on any button and move mouse
Reviewers: Hermet, raster, woohyun
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7074
Summary: add icon parameter for icon button of popup
Test Plan:
1. run elementry_test
2. run Efl.Ui.Popup.Alert sample
3. call set button function of popup and pass the icon by parameter
4. see the result of the popup
Reviewers: Jaehyun_Cho, jpeg, raster, cedric, woohyun
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7079
Summary:
item show and bring can be processed with zero-sized pan.
item's coordinate will be calculated with this zero-sized pan,
so target position of scroll region bring in is not proper.
it occurs wrong result of SCROLLTO_MIDDLE and SCROLLTO_BOTTOM cases.
now we check pan size, and if less than 1, deferred call.
Test Plan:
please test with attached file.
./main 8 4 : 8th item go to middle
./main 8 8 : 8th item go to bottom
(bottom case may need D7035 as precede patch)
{F3311262}
Reviewers: Hermet, eagleeye
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7037
Summary:
there are buggy actions in the item show api,
when the list is launched, scroll to far distance item.
the reason is item_scroll is called before it's block is fully
calculated in calc_job().
the origin patch of cause the issue is
f6b66cc1d3
by raster in 28 Nov, 2013
but we already do some extra works in calc_job(),
so the code is not necessarily called in queue_process().
more detail descriptions :
mainly this caused by block width size,
so the normal case block width is zero, and item_scroll() will be dismissed,
and deferred action in calc_job(), but in issue case,
block width is already been set, so it can scroll the item directly though
they aren't properly calculated yet.
most cases block was generated in the same queue processing so width size is
not exist, but in issue cases, they re-using the block which was already been
generated by previous queue processing, so the width size is already exist,
but height is not properly calculated yet.
we could move the block height calculation and min/max calculation
in the queue processing, but I'm afraid to face side effect,
so removing item_scroll() call is best option that I got.
Test Plan:
I'll upload some sample file my_genlist_example_4.c,
so please do a test with this.
issue is reproduced very rarely, but I could see the issue within 20 times try.
{F3300793}
Reviewers: raster, eagleeye, Hermet, singh.amitesh, #reviewers
Reviewed By: Hermet, #reviewers
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6952
Summary:
ELM_GENLIST_ITEM_SCROLLTO_BOTTOM condition is considered in coordinate_calc,
but not considered in item_scroll which calls deferred for item calculation.
so put the proper condition for ELM_GENLIST_ITEM_SCROLLTO_BOTTOM in item scroll.
Test Plan: elementary_test
Reviewers: Hermet, eagleeye
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7035
Summary:
item_show / bring_in will be deferred, if object is not resized properly.
the deferred call of item_show_region() is on the calc_job(),
after calculating proper object, pan size, but still item is not placed,
so target scrolling position is wrong while item_show_region().
move deferred call to group_calculate() to get correct item position,
after item_place() and group_item_place() were processed.
This patch is reported on [[ https://phab.enlightenment.org/T7367 | T7367 ]].
Test Plan: {F3302967}please check attached gengrid_example_01.c
Reviewers: eagleeye, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7367
Differential Revision: https://phab.enlightenment.org/D7014
Summary:
In some situations focus is being set to a deleted object.
Use EFL_EVENT_INVALIDATE on object deletion not
EFL_EVENT_DEL. This prevents the object to be again selected for restoring focus when a redirect is deleted.
This fixes SEGV with some widgets including popup tests.
Test Plan:
* elementary_test -to popup
* popup-center-text + 3 button (check add, remove buttons).
* Close popup, enter text (reopen popup and repeat).
* Crash should be avoided.
Reviewers: bu5hm4n, zmike
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7026
the previous code had the problem that we moved focus onto logical
objects which were not having any children, thus we saw errors from the
focus manager.
Now we are checking if we are able to deliver focus onto a child of the
passed user.
Differential Revision: https://phab.enlightenment.org/D7009
Summary:
Remove unnecessary abstract and class inheritance from eo file because
those abstracts and classes are duplicate.
e.g. if class B (class A) in B.eo file, then class C (class A, class B) in C.eo file.
Reviewers: woohyun, felipealmeida, Hermet, bu5hm4n
Reviewed By: Hermet, bu5hm4n
Subscribers: bu5hm4n, cedric, segfaultxavi, q66, #reviewers, lauromoura, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6982
Summary:
Class Efl.Ui.Popup_Part_Backwall inherits from multiple classes,
class Efl.Ui.Layout.Part and abstract Efl.Canvas.Object.
To remove multiple class inheritance, Efl.Canvas.Object is not
derived and its property, repeat_events, is newly defined in
Efl.Ui.Popup_Part_Backwall.
Test Plan:
1. Execute elementary_test.
2. Select Efl.Ui.Popup.
3. Select "Show Dummy Button".
4. Select "Repeat Event Set".
5. Test if repeat event works.
Reviewers: woohyun, felipealmeida, Hermet, segfaultxavi
Reviewed By: Hermet, segfaultxavi
Subscribers: bu5hm4n, q66, cedric, segfaultxavi, lauromoura, #reviewers, herb, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6984
Test Plan:
* Run Edi (Python project)
* Edit setup.py
* Run build
* Permissions should be preserved.
* setup.py should build.
Reviewers: ajwillia.ms
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7008
Apparently there are cases where efl_ui_focus_object_focus_manager_get
can return NULL. In order to trap for this, we can simply modify the
do loop slightly and check for a valid manager before we actually
start looping
Test Case: elementary_test -to "Panel Scrollable" and click Toggle
button
ref T7030
Differential Revision: https://phab.enlightenment.org/D6704
The bug this fixes can be observed when opening elm_test with hoversel.
The problem here is that the focus manager gets operations called on it after it is not active anymore, which lead to the fact that focus was restored on something that was about to be deleted.
Differential Revision: https://phab.enlightenment.org/D6903
Summary: Disabling focus prevents incorrect operations.
Test Plan:
With EDI, use mouse (cut/copy/paste).
Due to the focus passing to the hoversel we break focus in the
application when it's lost. By disabling this cut/copy/paste
works as it should. A similar approach was used in elm_entry.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6986
This reverts commit 4067fafe07.
As commented on D6982, the original patch changes the widget's behavior.
e.g. Efl.Ui.Win cannot be called with Efl.Config_Gloabal APIs.
Elm.Combobox cannot provide events of Button and Hover.
Until the above changes are resolved, the original patch is reverted.
Summary:
Remove unnecessary abstract and class inheritance from eo file because
those abstracts and classes are duplicate.
e.g. if class B (class A) in B.eo file, then class C (class A, class B) in C.eo file.
Reviewers: woohyun, felipealmeida, Hermet
Reviewed By: Hermet
Subscribers: cedric, segfaultxavi, q66, #reviewers, lauromoura, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6982
Summary:
In one case we do not want to move the cursor.
When merging up with DEL the cursor should
remain on the same line.
Test Plan: Cursor at end of line, press delete.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6957
Summary:
When elm_panel isn't scrollable, It can't pass `if (!sid->edje_obj) return;` in
_elm_interface_scrollable_efl_ui_base_mirrored_set. so elm_panel's mirrored_set
didn't work. we neet to consider non-scrollable panel.
Test Plan:
1. elementary_test
2. Open 'Panel' and 'Panel Scrollable'
3. Turn on UI-Mirroring on Elementary Tests window.
4. Check that mirror mode works correctly.
Reviewers: Hermet, Jaehyun_Cho
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6944
Summary: I had fixed some typos and some wrong expressions in API reference doc
Test Plan: N/A
Reviewers: raster, zmike, Hermet, segfaultxavi
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6943
Summary:
this should reduce the work required to silence errors during object
construction by avoiding the most common cause of such errors
ref D6830
Reviewers: Hermet, devilhorns
Reviewed By: Hermet, devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6921
Summary:
If an object's is_static_clip is TRUE
then _evas_render_phase1_object_process does not draw the object and its smart
member from the below commit (1).
On the other hand, the Elm.Mapbuf sets is_static_clip to its content from the
below commit (2). So you cannot see the content. If the commit tried to solve
over-render, it could be changed to:
if (wd->content) evas_object_static_clip_set(wd->content, !wd->enabled);
from:
if (wd->content) evas_object_static_clip_set(wd->content, wd->enabled);
or there could be another way.
(1) commit 1bba6d5759
Author: Carsten Haitzler (Rasterman) <raster@rasterman.com>
Date: Wed Nov 23 13:57:27 2016 +0900
evas phase 1 process - shortcut objects that are pure static clips only
these objects don't actually produce - or should produce update
regions etc. etc. as the objects that are clipped should produce those.
they are not active objects. so skip them very early after just
ensuring they are in delete objects if needed.
(2) commit 7ca0a3dcac2ee7fc7d7ae62277dde05a3b77b276 (of core/elementary.git)
Author: Carsten Haitzler <raster@rasterman.com>
Date: Wed Jan 19 11:59:53 2011 +0000
fix over-render bug in map/mapbuf and with changed flags! that was
nasty to find!
SVN revision: 56220
Test Plan:
[Sample Code]
#include <Elementary.h>
EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
Evas_Object *win, *bx, *mb, *layout, *icon;
unsigned int i, j;
char buf[255];
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
win = elm_win_util_standard_add("mapbuf", "Mapbuf Example");
elm_win_autodel_set(win, EINA_TRUE);
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
mb = elm_mapbuf_add(win);
evas_object_size_hint_weight_set(mb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(mb, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(bx, mb);
layout = elm_layout_add(win);
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, layout);
snprintf(buf, sizeof(buf), "/home/kimcinoo/Upstream/efl/src/examples/elementary/layout_example.edj");
elm_layout_file_set(layout, buf, "example/mylayout");
evas_object_show(layout);
icon = elm_icon_add(win);
elm_icon_standard_set(icon, "home");
evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(icon);
elm_object_part_content_set(layout, "example/custom", icon);
elm_object_content_set(mb, layout);
evas_object_show(mb);
elm_mapbuf_enabled_set(mb, EINA_TRUE);
evas_object_resize(win, 240, 320);
evas_object_show(win);
elm_run();
return 0;
}
ELM_MAIN()
Reviewers: raster, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6915
Summary:
this patch refactories a momentum scroll animator logics.
1. animation duration
animating runs within a one second now.
and if it needs more time to animate, it decrease intepolation progress by dividing some value.
current logic makes sense however, it is not easy to read to know how it works.
this patch modify current logic to calculate distance to move, and time to animate.
2. distance to move
we can apply simple physics something like mass of pan and friction of scroller itself.
but this patch apply just geometric seqeunce to calculate distance to go.
it's more easy to customize behavior of scroller than current sine graph based one.
3. accelerate logic
scroller sets 'extra_time' to accelerate a scroller for now.
but this patch modify logic not to use it.
however it uses current momenutum velocity as a bais of next momentum animating.
@feature
Reviewers: zmike, #reviewers, Hermet
Reviewed By: #reviewers, Hermet
Subscribers: Hermet, cedric, zmike
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D6643
Up to now, there is no restriction on using multiple class inheritance
in eo.
This makes some language bindings more complicated if the language does
not support multiple class inheritance. e.g. C#.
To support language bindings in a neat way, multiple class inheritance
in eo is replaced with implementing interfaces.
To remove multiple class inheritance, each part class in elementary
should implement interfaces instead of inheriting from other widget
class because part class in elementary basically inherit from the class
Efl.Ui.Widget_Part.
Differential Revision: https://phab.enlightenment.org/D6904
when setting this config value an elm function is used to store the
setting internally, so it's necessary to use the elm getter function
in order to correctly (and accurately) return the same state
resolves test failures in elm_config
Differential Revision: https://phab.enlightenment.org/D6825
the elementary MARKUP stuff requires ecore_cocoa to be linked to evas to
find the function. However, ecore_XXXXX things should stay unrelated to
evas in most cases. Thus this was not a good idea and created a circular
dependency, this is fixed now.
Differential Revision: https://phab.enlightenment.org/D6865
do one request and get multiple returns if you have multiple windows.
this affected terminology in one proces, multiple windows the sel get
cb is called multiple times from one selection if you cnp between
windows a few times.
@fix
Summary:
load_size will be applied when file is set,
orientation, flip would be applied when starting sizing calc.
These will gurantee applying options whether image is preset or not.
This is a regression bug by ae51c81a686ca47c93eedc99beaf3a84f8a9cb96
Reviewers: #committers, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6855
Summary:
if the item is deleted during a focus callback then the remainder of this function
must be skipped in order to avoid crashing when attempting to access deallocated
memory
ref T7292
Reviewers: SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7292
Differential Revision: https://phab.enlightenment.org/D6831
Summary:
failing to unset this prevents callbacks from being re-added when the item
is next realized, resulting in items which cannot be interacted with
ref T7292
Reviewers: SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7292
Differential Revision: https://phab.enlightenment.org/D6832
Summary:
by key bindings..
now we can select TAB with the Return/Space key.
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: Jaehyun_Cho, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: YOhoho, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6779
Summary:
The Spin_Button class supports two types(horizontal, vertical).
User can use 'efl_ui_direction()' for spin_button.
@feature
Test Plan: elementary_test-> spin_button sample.
Reviewers: Hermet, Jaehyun_Cho
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6680
Summary: adapters variable has not been used since ac4d75a1a.
Reviewers: bu5hm4n, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6872
Summary:
This reverts commit 93228108ef.
The original commit resulted in a hang during the use of the shot engine
in our make doc target. During the doc run we generate screenshots for
the documentation using the shot engine.
It is not a clean revert as other things changed since this got in, but
I verified that the screenshots for the documentation is generated
correctly again. This might leave open the original issue T6929 which
the now reverted commit tried to address.
Fixes T7166
Reviewers: zmike, JackDanielZ, xavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7166
Differential Revision: https://phab.enlightenment.org/D6873
When the element that iherits from composition is invalidated, all items
should be unregistered.
fix T7213
Differential Revision: https://phab.enlightenment.org/D6755
Summary:
elm_win_focus_get with non Efl.Ui.Win object could return incorrect value.
If an object implements Efl.Ui.Focus.Object.focus { get; } then the return
value of elm_win_focus_get with this object depends upon the object status.
Reviewers: Hermet, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6868
Summary:
there are unused ifdef blocks and also there is a variable that accessed from nowhere.
this patch removes both of theme.
related with D6567
Reviewers: Hermet, eagleeye, devilhorns
Reviewed By: Hermet
Subscribers: cedric, zmike
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D6585
according to the docs, this mode means that no content size hints should
be taken into account when calculating size hints for the overall object
fix T7313
Differential Revision: https://phab.enlightenment.org/D6860
FIx backspace issue and also issue involving the cursor
position and deleting/cutting/backspace of selected text.
Now that we properly move the cursor around when making a
selection, it's important that we place the cursor in a
valid position in the widget following the removal of text.
Previously the cursor always remained in a "safe" position
however now it's crucial to update this position when
necessary.
@fix T7259
Differential Revision: https://phab.enlightenment.org/D6835
Summary:
the mnw and mnh variables were misleading in this context because they actually
refer to the max width and max height
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D6859
Summary:
Apparently there are cases where efl_ui_focus_object_focus_manager_get
can return NULL. In order to trap for this, we can simply modify the
do loop slightly and check for a valid manager before we actually
start looping
Test Case: elementary_test -to "Panel Scrollable" and click Toggle
button
ref T7030
Depends on D6703
Reviewers: bu5hm4n, YOhoho
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl_widgets_focus
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6704
Summary:
evas object types require an evas as the parent. this has always been
the case, though it has only begun to (again) be treated as an error
recently
fixes unit test failures
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets_code
Differential Revision: https://phab.enlightenment.org/D6852
Summary:
efl_ui_win.c only includes private ecore_evas headers when building
for wayland, but wayland canvas creation functions are called even
in non-wayland builds.
Move the "hidden" wayland APIs to the public header so they don't
mess up non-wayland builds.
Reviewers: devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: devilhorns, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6822
Summary:
these operations cannot be completed if the support is not built in, so
return false in order to provide the correct state to the caller
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6839
Summary:
This can occur and thus malloc will return NULL when line->length is
0. Check for !line->length and return. Very difficult to reproduce, but
I had managed three times, and avoided a crash.
Reviewers: #committers, ajwillia.ms, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #reviewers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6842
Summary:
Image object isn't created on constructor anymore. so that it need to check
whether image object exist.
Reviewers: Hermet, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6834
Summary:
image object was created in group_add before 868e3308. if you call
elm_image_object_get before file_set, you can get NULL.
this patch avoid that.
Test Plan:
obj = elm_image_add(...);
img = elm_image_object_get(obj);
img should not be NULL.
Reviewers: Hermet, zmike
Reviewed By: zmike
Subscribers: JackDanielZ, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6828
Summary:
using EINA_LIST_FREE here double deletes 2 list items on every iteration
due to recursive list removals, which prevents some items from being
deleted as expected
fix T7266
Reviewers: netstar
Reviewed By: netstar
Subscribers: netstar, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7266
Differential Revision: https://phab.enlightenment.org/D6829
Summary:
this avoids extra recalcs and resizes when csd is not active, which has
the side benefit of not breaking the x11 engine's behavior--currently only
an issue because the ecore-evas x11 backend does not have an implementation
of ConfigureNotify event handling which is even remotely correct
these issues will be resolved in future patches
fix T7243
ref T7008
Reviewers: devilhorns, ManMower
Reviewed By: devilhorns, ManMower
Subscribers: ManMower, cedric, #reviewers, #committers
Tags: #efl_display_system
Maniphest Tasks: T7243, T7008
Differential Revision: https://phab.enlightenment.org/D6794
Summary:
As with other checks in ELM return if object is not yet
finalized. This stops lots of console noise.
@fix T7265
Test Plan:
elementary_test: use panel test from console and view the noise
from EINA. Apply then do the same.
Reviewers: #committers, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #reviewers, zmike
Tags: #efl
Maniphest Tasks: T7265
Differential Revision: https://phab.enlightenment.org/D6826
Summary:
As the cursor_rect for elm_code_widget is not created until the code
widget gets focus, we cannot just assume it is already there when
trying to emit a focus signal. The cursor_rect does not get created
until widget_cursor_update is called.
This fixes an issue where NULL is passed to efl_layout_signal_emit.
To test this, just launch elementary_test and click the Code Editor
test. As soon as you try to click into the Code Editor, this gets
triggered.
ref T7030
Reviewers: netstar, ajwillia.ms
Reviewed By: netstar
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6701
There is often a tree of elements registered in a manager that are
having all the same redirect element. Unserting the redirect property
just because the node has this redirect element is not helpfull as this
would break basically elm_tests button search. However, if it is the
container itself, then the redirect can be unset, as nothing else can
ever reach again the redirect manager.
ref D6800
Differential Revision: https://phab.enlightenment.org/D6802
Summary:
It turns out elm/uiclock (which was removed in 89675c3219) is actually used,
at least by the datetime legacy widget. Removing this widget broke the
datetime_example test.
This commit reverts 89675c3219 and fixes the elm/uiclock part names:
- Part names are prefixed with 'elm.'
- efl_ui_clock.c (which is used for both the new efl and the legacy elm widgets)
now looks for part names with 'efl.' and 'elm.' prefixes, and without any
prefix, for compatibility with older themes.
Fixes T6928
Test Plan: the Datetime elementary_test (and all other clock-related tests) now work.
Reviewers: zmike, jsuya, CHAN, devilhorns, Jaehyun_Cho
Reviewed By: zmike, jsuya, CHAN
Subscribers: #reviewers, Jaehyun, Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T6928
Differential Revision: https://phab.enlightenment.org/D6577
Summary:
move most of the _item_free() calls to the invalidate method and unset some
delete callbacks on content items to avoid invalid calls during deletion
calling any of this during the object destructor is invalid because the parent
object can no longer be accessed at this time
fix T7236
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, stefan_schmidt, cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7236
Differential Revision: https://phab.enlightenment.org/D6759
Summary:
ensure that all the children are gone once we unregister the widget
itself. This helps widgets that are not cleaning up theire children /
items on invalidation.
ref T7213.
Reviewers: CHAN, YOhoho, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7213
Differential Revision: https://phab.enlightenment.org/D6754
Summary:
calling this on a object that is legacy is not going to work. And will
print a error. This will make new widgets less verbose.
ref T7213
Depends on D6755
Reviewers: YOhoho, zmike, CHAN
Reviewed By: YOhoho
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7213
Differential Revision: https://phab.enlightenment.org/D6756
Summary:
We need to pass the entire pointer, not just 32-bits of it.
Fixes a crash with enlightenment sandbox gadgets where
ecore_wl2_window_alpha_get() is called with an invalid pointer while
trying to display a pop-up.
Reviewers: zmike, devilhorns
Reviewed By: zmike, devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6775
Summary:
Efl_Ui_Widget which is super of Elm_Map is not implement Efl_Ui_Zoom. to call
efl_super of Elm_Map for Efl_Ui_Zoom method occurs unresolved function error.
Test Plan:
map_example_01
Check that there is no error message.
Reviewers: zmike, Hermet
Reviewed By: Hermet
Subscribers: #reviewers, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6772
Test Plan:
map_example_01
Check that +,- button is working and no error message.
Reviewers: zmike, Hermet
Reviewed By: Hermet
Subscribers: #reviewers, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6771
Summary:
this pointer is owned by elm_theme, not the image, so the image refcount
must be increased in order to avoid accidentally closing the file which is
still in use by elm_theme and triggering a crash
this resolves the crash in the `efl_ui_image_zoomable_icon` test
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: #reviewers, cedric, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D6774
Summary:
TAB of efl_ui_tab_bar is no longer widget_item.
TAB is now layout,
so, do not need below signals.
"efl,text,visible"
"efl,text,hidden"
"efl,icon,visible"
"efl,icon,hidden"
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: Jaehyun_Cho, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6770
Summary:
there was a case when a block could be realized while a item that is
realized was brought from one block to the this new one. The block now
is simply realized using api instead of just setting the flag, this sets
the correct focus registrations. While fixing this the error of double
regiration of items came up, this is also fixed by unregistration and
reregistration in the correct block.
fix T7247
Reviewers: zmike, SanghyeonLee, YOhoho
Reviewed By: zmike
Subscribers: Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T7247
Differential Revision: https://phab.enlightenment.org/D6737
Summary:
this got replaced by the none composition implementation and is not
required anymore.
Depends on D6737
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6752
Summary:
the cache simply moved the objects to -9999 -9999 while leaving them
visible and focusable. Hiding them does not work since edje makes it
visible all the time again. Making them unfocusable fixes this.
Depends on D6752
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6753
itb-items is Eina_List, not Eina_Inlist. this crashes due to wrong type
use
ref D6720
fix T7246
Differential Revision: https://phab.enlightenment.org/D6736
Summary:
the focus model before was more meant for simplicity and not for
performance, this now is more made for performance.
The performance boost is achived by not using composition anymore,
but rather register realized items by hand. This keeps the amount
of items bound to the size of the viewport.
Additionally item realization that is followed by unrealization
immediately is not resulting in focus calls.
This solves the performance issue from T6580 in regards of focus.
perf results after this:
http://www.enlightenment.org/ss/e-5b61b50657f3c3.82619729.png
Reviewers: ManMower, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6720
I think at some point in the past this was necessary to avoid weird show
mechanics, but now things have changed and it's best to always attempt to
scroll and let the scroller internals figure things out
this resolves the case where attempting to scroll to an item during a genlist's
calc (ie. the item was not present in a full layout calc) would fail to scroll
to the item if the scroll method was TOP and the item was too close to the
bottom of the list
fix T6368
@fix
Differential Revision: https://phab.enlightenment.org/D6466
Summary:
connect factory to edje part name
when create a new layout connect a factory to it
change example to use the factory_model_connect
Reviewers: felipealmeida
Differential Revision: https://phab.enlightenment.org/D6667
Summary:
this ensures that the color_set call is propagated correctly, resulting
eventually in a call to the smart clipped class method for color_set which
will change the opacity of the edje object in addition to the bg widget's
internal rect object
this seems to have been a regression created during the move to the interfaces
version of the bg widget
fix T7232
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7232
Differential Revision: https://phab.enlightenment.org/D6716
Summary:
Small patch fixes an issue where evas_object_smart_calculate was being
called with a NULL box.
ref T7030
Depends on D6704
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6710
Summary: There is no reason to typedef Elm_Multibuttonentry multiple times, the header file can be included, there is no cyclic dependency.
Reviewers: CHAN, zmike, #committers
Reviewed By: zmike, #committers
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6705
Summary:
During the 1.21 development cycle the symbol ELM_CNP_EVENT_SELECTION_CHANGED was lost.
The commit which introduced this: e88bbaa1e3
This patch re-introduced the symbol and expected behaviour.
Reviewers: #committers, zmike, bu5hm4n, herb
Reviewed By: #committers, zmike
Subscribers: herb, ManMower, segfaultxavi, stefan_schmidt, cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6689
Summary:
the hoversel is added to a entry while entrys are not build for handling
children focus. Disabling this prevents wrong focus operations.
fix T7163
Reviewers: zmike, #committers, netstar
Reviewed By: netstar
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7163
Differential Revision: https://phab.enlightenment.org/D6695
Summary:
This adds some attributes to the selectiont type in elm_code.
Including the type (whether it is mouse or keyboard) and also whether
a selection is in progress. Thus we can reliably select around the
file and also move/scroll when there is an active selection.
Test Plan:
Drag and select text with mouse. Also the same with keyboard (hold shift and select).
Leave selection active and scroll around the file. The selection should remain and
full movement is possible while retaining the active selection. This could really
be refactored for a next major release.
Reviewers: #committers, ajwillia.ms, cedric
Reviewed By: ajwillia.ms
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6676
Summary:
Fix an issue where elm_slider was passing NULL to eo functions due to
wd->resize_obj being NULL. Discovered via Enlightenment mixer popup
dialog
ref T7030
Depends on D6639
Reviewers: zmike
Reviewed By: zmike
Subscribers: Hermet, bu5hm4n, cedric, #committers
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6640
Summary:
efl_layout_signal_emit
This patch fixes an issue where NULL was passed to
efl_layout_signal_emit due to wd->resize_obj being NULL. This was
discovered in Enlightenment by clicking on the mixer module and trying
to close the popup window
ref T7030
Depends on D6638
Reviewers: zmike
Reviewed By: zmike
Subscribers: Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6639