path: root/src/lib/elementary (follow)
AgeCommit message (Collapse)Author
2018-12-17elm_gengrid: improve genlist behaviourMarcel Hollerbach
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 <> Differential Revision:
2018-12-17elm_widget_item_static_focus: fix ERR printsMarcel Hollerbach
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 <> Differential Revision:
2018-12-17elm_genlist: behaviour fixes for genlistMarcel Hollerbach
This implements the behaviour in case no item is yet focused, but the genlist is focused. ref T6805 Reviewed-by: YeongJong Lee <> Differential Revision:
2018-12-17elm_gen****: fix focus restoring on window focus changesMarcel Hollerbach
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 <> Differential Revision:
2018-12-17efl_ui_focus_manager: performance optimize order settingMarcel Hollerbach
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 <> Differential Revision:
2018-12-17elm_focus: implement legacy targets for logical widgetsMarcel Hollerbach
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 <> Differential Revision:
2018-12-17elm_focus: implement elm_object_focus_next_item_set / getMarcel Hollerbach
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 <> Differential Revision:
2018-12-17elm_config: fix valgrind warningsMarcel Hollerbach
buf is only initializied, if on_flush is true. Reviewed-by: Cedric BAIL <> Differential Revision:
2018-12-14efl_ui_win: Don't allow the frame object to change size before first drawDerek Foreman
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 <> Reviewed-by: Chris Michael <> Differential Revision:
2018-12-07elementery: fix mouse selection of items in efl.ui.list_viewLeonardo Loch
2018-12-07meson: add inital support for windows compilationMarcel Hollerbach
Differential Revision:
2018-12-07elementary: make Efl.Ui.Factory.create asynchronous.Cedric BAIL
Reviewers: felipealmeida, SanghyeonLee, vitor.sousa, bu5hm4n, segfaultxavi Reviewed By: felipealmeida, vitor.sousa, segfaultxavi Subscribers: segfaultxavi, #reviewers, #committers Tags: #efl Maniphest Tasks: T7472 Differential Revision:
2018-12-06efl: fix misspelt focused in API and documents.Alastair Poole
Fix spelling in elm_code API and other documents too where this occurs. Differential Revision:
2018-12-05efl_ui_tab_bar: fix error about double freeBowon Ryu
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:
2018-12-05efl_ui_win: enable bg color set although alpha is setJaehyun Cho
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:
2018-12-04elm config - fix warnings about unused vars and paramsCarsten Haitzler (Rasterman)
2018-12-04elm main - fix unused param in cb warnCarsten Haitzler (Rasterman)
2018-12-04elm toolbar - fix unused param warnCarsten Haitzler (Rasterman)
2018-12-04elm colorselector - fix unused param warnCarsten Haitzler (Rasterman)
2018-12-04efl ui focus manager - fix unused param warnCarsten Haitzler (Rasterman)
2018-12-04efl ui focus manager - remove unused local vars warnCarsten Haitzler (Rasterman)
2018-12-04elm glview - fix unused param warnCarsten Haitzler (Rasterman)
2018-12-04elm_scroller: update behaviour to match legacy behaviour more closelyMarcel Hollerbach
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:
2018-12-04efl_ui_focus_manager_root_focus: ensure that adapter is part of viewportMarcel Hollerbach
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:
2018-12-04elm_interface_scrollable: add support for *jumping* into a scrollerMarcel Hollerbach
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:
2018-12-03meson: use eolian_gen with -SMarcel Hollerbach
this ensures that eolian does not parse installed .eo files Differential Revision:
2018-12-03elm - fix config version bump correctlyCarsten Haitzler (Rasterman)
bump version right and fix eec7bc458eee333fd7237a3bd43e8c2c884f21ca properly.
2018-12-03elm_config: repair configsMarcel Hollerbach
Summary: in eec7bc458eee333fd7237a3bd43e8c2c884f21ca 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:
2018-12-03efl ui text - check if string exists beofre using it...Carsten Haitzler (Rasterman)
don't segv.
2018-11-30elementary: simplify code by using proper helper.Cedric BAIL
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 <> Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-30Efl.Ui.List.View: fixed MVVM life-cycleLarry Lira
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.
2018-11-30elementary: rework Efl.Ui.Layout boolean signal-connection to ModelsVitor Sousa
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.
2018-11-29elementary: Support using no frame objectChristopher Michael
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:
2018-11-28elm_config: fix elm_config_save not to wake idle processes upWonki Kim
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 <> Differential Revision:
2018-11-28elm_config: replace ecore_file_mv with ecore_file_cpWonki Kim
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 <> Differential Revision:
2018-11-28elm_config: remove profile name reading logic from data dirWonki Kim
Nothing writes any profile name on profile.cfg inside data dir This patch removes the logic. Reviewed-by: Cedric BAIL <> Differential Revision:
2018-11-28eo-docs: Remove Doxygen tags from efl*.eo filesXavi Artigas
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:
2018-11-28efl_ui_scrollable: implement efl_ui_scrollable_content_pos_get method.Hosang Kim
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:
2018-11-27gengrid : remove elm_access_text_set for code consistancy.SangHyeon Jade Lee
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:
2018-11-26Ui Scroller : remove unnecessary efl_delDaniel Hirt
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.
2018-11-26Scroll manager: remove unnecessary callback_delDaniel Hirt
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.
2018-11-26Ui text: remove unused code from internal scrollerDaniel Hirt
2018-11-26Ui text: implement efl_part and part_text API to text_setDaniel Hirt
2018-11-26Ui text: read init text properties from themeDaniel Hirt
2018-11-26Ui text interactive: emit changed,user event correctlyDaniel Hirt
2018-11-26Ui text scroller: add usage of a guideDaniel Hirt
2018-11-26efl_ui_focus_manager_sub: freeze manager when parent manager is frozenMarcel Hollerbach
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:
2018-11-26elm_interface_scrollable: freeze the manager object when content movesMarcel Hollerbach
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:
2018-11-26efl_ui_focus_manager_calc: ensure that the coords are marked dirtyMarcel Hollerbach
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:
2018-11-26efl_ui_focus_manager: introduce a new APIMarcel Hollerbach
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: