summaryrefslogtreecommitdiff
path: root/src/lib/elementary (follow)
AgeCommit message (Collapse)Author
38 hourselementary: fix initialization order and memory leak when setting model on ↵Cedric BAIL
Efl.Ui.CollectionView. This patch use volatile model to make sure that a model is properly cleaned once it is not used anymore. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10625
38 hourselementary: fix recursive case during model fetch in Efl.Ui.CollectionView.Cedric BAIL
Figuring out why model fetch was sometime not working recursively allow to reduce the amount of request that need to be made. In this case, notifying the position manager or lack of notification was triggering a case where the item would not show up (Joice of nested asynchronous behavior). Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10624
3 daysefl_ui_relative_container: rename relative_layoutYeongjong Lee
Summary: Also, Rename parameter name `target` to `base`. Rename parameter name `relative` to `relative_position`. ref T8380 Depends On D10639 Test Plan: ninja test Reviewers: woohyun, segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8380 Differential Revision: https://phab.enlightenment.org/D10640
3 daysEfl.Ui.Scroll_Manager: Fix indentationXavi Artigas
3 daysEfl.Ui.Animation_View: Implement sector playing featureJunsuChoi
Summary: play_sector method is API for playing section. If the animation object has section information, user can play the section. Get the start and end section name and get the frame of each section. And set and play the min and max frames of the current animation object. Depends on D10506 Test Plan: For example. Animation objects have "first","second" and "third" sectors. And sector "second" has duration information. User can use it like this: efl_ui_animation_view_play_sector(anim_view, "first", "second"); efl_ui_animation_view_play_sector(anim_view, "second", NULL); efl_ui_animation_view_play_sector(anim_view, "first", NULL); // first sector ~ end frame of animation object. efl_ui_animation_view_play_sector(anim_view, "second", "third"); efl_ui_animation_view_play_sector(anim_view, "second", "wrong name"); Reviewers: Hermet, smohanty, kimcinoo Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10507
4 dayselm: apply the same fix we needed in entry to other scrollable widgetsMarcel Hollerbach
this here is the same effect as in my previous commit: When re retheme a object, we need to reset the signals, otherwise there would be wrongly displayed scrollbars. This fixes wrong scrollbars in enlightenment. Differential Revision: https://phab.enlightenment.org/D10628
8 dayselm_entry: fix wrong displayed scrollbarsMarcel Hollerbach
the scrolbars have been displayed wrongly before. Reason for this is that the theme displays the bars per default, the code however works with hidden by default. This was worked arround before with the fact that we are explicitly hiding the vbar/hbar before. The reason this previous code was not working proberly is that entry decided to retheme a object that was already set to the interface scrollable object. Which means, it was not detected by the code. With the newly introduced reset function you can tell the interface, that you have changed the group, signals will be emitted accordingly. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10622
8 dayselementary: watch event on the model Efl.Ui.CollectionView use directly.Cedric BAIL
Efl.Model can be nested and Efl.Ui.CollectionView use this ability. Listening on the nested model instead of the nester model can lead to event being triggered that shouldn't. Better listen on the top model. Differential Revision: https://phab.enlightenment.org/D10621
8 dayselementary: properly handle in flight request in Efl.Ui.CollectionView.Cedric BAIL
This fix adding item not always showing up in the CollectionView right away. The main issue comes down to the fact we can not chain a new request when one is already resolved partially. The code now make sure to properly do this. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10614
8 dayselementary: cleanup Eina_Future properly by relying on efl_future_then ↵Cedric BAIL
proper lifecycle. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10613
8 daysefl_ui_alert_popup: add title part in parts blockTaehyub Kim
Summary: add title part in parts block Reviewers: Jaehyun_Cho, woohyun, zmike, segfaultxavi Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10596
9 dayselm_config: replace ecore_file_cp with ecore_file_mvWonki Kim
ecore_file_cp can cause config data(eet file) invalid, once multiple processes are trying to call elm_config_save. this patch replaces it with ecore_file_mv to prevent the problem. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10578
9 dayselementary: fix end of fast scroll not showing up during ↵Cedric BAIL
Efl.Ui.CollectionView scroll. efl_ui_position_manager_entity_entities_ready is expecting the end offset and not the length of how many items have been updated. Sending the correct number fixes the problem. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com> Differential Revision: https://phab.enlightenment.org/D10590
9 dayscheck: reset flags that used for legacy 'changed' cbWonki Kim
Summary: in case of setting a state of check by calling a API, the flags that used for changed cb aren't changed. which causes that the callback not invoked when it should be. this patch resets the flags to make it work properly. Reviewers: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10591
10 daysdocs: Efl.Ui.Table_StaticXavi Artigas
The need for this class is still being discussed in https://phab.enlightenment.org/T8206 but at least it is a bit more clear what its purpose is.
14 daysRevert "elm/genlist: don't process entire item queue on each item add"Carsten Haitzler (Rasterman)
First - the big problem. This breaks enlightenment's bluez5 popup. it does a sortyed inert using the item data and the item data for one of the itmes to compare in _cb_insert_cmp() in e_mod_popup.c when it calls elm_object_item_data_get(0 returns a junk ptr for the item data after this patch. i haven't managed to figure out exactly why in my last 30 mins of looking. But a closer look... this disables immediate processing of: 1. the first block of items (32items) which was intended so for short/small lists you have some content by the time you go to the first frame, and at least the first block of itso you seem to have visual contnt and not a blank list until idlers can process further content. so the patch being reverted would have gotten rid of this logic that gets you content as opposed to blank: while ((sd->queue) && ((!sd->blocks) || (!sd->blocks->next))) 2. if it's a homogenous list, all items have the same size so we do have to realize the first item of each class type but ONLY that one. further items should not need realizing as we can ASSUME the height to be the same as the first item... that's the point of homogenous + compress lists - all items of the same class have the same height and width thus shortcutting further need to calculate nd realize. if we are reizing everything in a homogenous list then the issue lies with something going wrong with this above logic. we shokuld be able to handle such lists super fastif this logic was working. that's the 2nd while: while ((sd->queue) && (sd->blocks) && (sd->homogeneous) && (sd->mode == ELM_LIST_COMPRESS)) so overall, this should not have been realizing every item. either just the first block of 32, OR just the first item of any class and thus assume all further items are the same size without realizing being needed. if these broke then the solution is not commenting this out but finding out why this logic is breaking :) and not to mention... this commenting out also caused segfaults in existing applications which are doing the right thing. perhaps the sorting logic also needed updating as well if this above is commented out... but i didn't have time to chase it more than this. --- This reverts commit 0777b74f07857c86408bc0929e3391ced0e098e4.
2019-10-31efl_ui_text: remove elm_general.eotYeongjong Lee
Summary: remove legacy dependency in eo file. Test Plan: ninja Reviewers: woohyun, Jaehyun_Cho, zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10580
2019-10-31evas: move efl_input_device into evas/Efl_Canvas.hCedric Bail
Summary: The internal and the API we would like is mostly a canvas API. A lot of the code in evas is working around the fact that efl_input_device is not defined inside Evas. This patch is the first step to try to clean this up. Depends on D10487 Reviewers: zmike, raster, bu5hm4n, Hermet Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8321 Differential Revision: https://phab.enlightenment.org/D10488
2019-10-31elementary: handle case when XFIXES is not available.Cedric Bail
Summary: ECORE_X_EVENT_FIXES_SELECTION_NOTIFY is only initialized when XFIXES is available. If ecore_event_handler_add is called with type == 0, it will trigger an abort and elementary would not initialize properly. Depends on D10491 Reviewers: zmike, raster, bu5hm4n, Hermet Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8321 Differential Revision: https://phab.enlightenment.org/D10492
2019-10-30efl_ui: mark Efl.Ui.Focus.Autoscroll_Mode betaMike Blumenkrantz
this cannot currently be used for anything and was not explicitly stabilized Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10540
2019-10-30efl_ui: remove Efl.Ui.Slider_Indicator_Visible_ModeMike Blumenkrantz
this cannot be used for anything and serves no purpose Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10539
2019-10-30elm/widget: error on null params for tree_unfocusable functionsMike Blumenkrantz
Summary: these should error so the user can detect that they screwed up Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10563
2019-10-29interfaces: replace doubles with Efl.Gfx.Align where appropriateMike Blumenkrantz
Summary: this makes the types more explicit Depends on D10554 Reviewers: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10555
2019-10-29elm/genlist: fix item focus unregister on item moveMike Blumenkrantz
if the block is realized, its items have been registered into the focus manager and must be unregistered to avoid double-registering @fix Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10544
2019-10-29elm/genlist: hide cached item contents and mark content unfocusable during calcMike Blumenkrantz
cached item contents should already be hidden by the edje clipper, so this simply changes their visible state to break them out of the focus calcs contents must also be explicitly marked as unfocusable during calc-only realize operations in order to avoid triggering a full focus recalc which will error due to missing focus adapter in the item block Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10543
2019-10-29elm/genlist: set pan need recalc during item move on item position changeMike Blumenkrantz
item move operations require pan recalc in order to process the item block positioning updates @fix Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10533
2019-10-29elm/genlist: fix "drag" smart callbackMike Blumenkrantz
this is only a smart callback and not an eo callback @fix Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10527
2019-10-29elm/genlist: trigger filter,done callback immediately if no filter queue existsMike Blumenkrantz
the documentation says this should trigger when filtering is done, and if no filtering is pending then it is done @fix Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10526
2019-10-29elm/genlist: slightly simplify use of _item_filtered_get()Mike Blumenkrantz
passing the smart data here (which we always have) makes the function a little clearer to read. similarly, we can check whether the filter_data pointer is set inside the function to avoid having to check it everywhere else Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10525
2019-10-29elm/genlist: defer recalc when applying a name filterMike Blumenkrantz
this may be called successively during the same mainloop iteration, so it's important to defer this as much as possible Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10524
2019-10-29elm/genlist: remove calc jobsMike Blumenkrantz
now that we have a sane and consistent sizing calc mechanism, we no longer need to be randomly creating jobs to do additional side calcs in addition to our other multiple bespoke calculation methods instead, we can now call the calc function directly during the group calc to perform all the calcs at once and avoid the overhead of constantly triggering calc jobs a possible future improvement here could be to remove the _calc_job() call in the internal pan object's group_calculate, as this is likely a duplicated op but it will require additional testing to verify unit test performance (e.g., tree) increases roughly 50-80% after this patch Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10523
2019-10-29elm/genlist: don't process entire item queue on each item addMike Blumenkrantz
this is a colossal waste of time. it ends up realizing every single item immediately even if it won't be visible, which defeats the purpose of all the batching and viewport calculations that genlist explicitly does to avoid exactly this type of behavior Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10522
2019-10-29elm/genlist: freeze/thaw canvas when processing item queueMike Blumenkrantz
Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10521
2019-10-29elm/genlist: only add calc job on theme apply if already finalizedMike Blumenkrantz
not a required operation otherwise Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10519
2019-10-29elm/genlist: remove misleading "changed" signalMike Blumenkrantz
this was never implemented or documented anywhere and serves only to be misleading for anyone reading the code Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10518
2019-10-29elm/genlist: fix item highlight/unhighlight eventing on clicksMike Blumenkrantz
* highlight should only be triggered on mouse down, as that is the point of interaction with an item which indicates it is "in use"; a mouse-up event cannot occur on an item which has not previously received a mouse-down event, so toggling this on mouse-up will be wrong/duplicated 100% of the time * unhighlight should only be triggered during mouse-up events if the list is in no-select mode, as it will otherwise be implicitly during selection if necessary this should ensure that these events are emitted exactly one time and correctly for each click event Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10517
2019-10-29efl_ui_win: Delete useless geometry set for legacy.edjeWoochanlee
Summary: It will be resized on window_resize_job. when the window got specific size. I don't think this is needed here. It cause doing a calc in vain. Test Plan: Launching Test applications. Reviewers: raster, Hermet, zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10550
2019-10-28efl_ui_spotlight_manager: apply vis changes to subobjMarcel Hollerbach
Summary: when the sportlight is hidden, the state should be applied to the backclip and foreclip, in order to hide the subobjects correctly. This fixes dangling showing widgets. Reviewers: Jaehyun_Cho, zmike, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10468
2019-10-28docs: Improve documentation on cache-related classesXavi Artigas
Also, code comments and typos.
2019-10-25Efl.Ui.Text: Fix Text Cursor compositionXavi Artigas
Summary: This is a temporary fix while Text is being revamped. Efl.Ui.Text internally composites Efl.Text_Cursor (through some other interfaces) but this was not being advertised in the EO file. This caused no trouble to C but was preventing C# from using the Cursors API (because C# relies on the EO composites section). On top of this, the cursor_new() method has been removed, since it was redundant. Test Plan: Builds and passes tests, and C# is able to do things like: ``` Efl.TextCursorCursor cursor = screen.GetTextCursor(Efl.TextCursorGetType.Main); screen.InsertCursorText(cursor, str); ``` Reviewers: lauromoura, cedric, tasn Reviewed By: lauromoura Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10465
2019-10-25elm_interface_scrollable: correctly honor looping overMarcel Hollerbach
Summary: when looping is enabled, we need to ensure that the correct arrows are enabled. ref D9906 Depends on D9908 Reviewers: zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9917
2019-10-25elm_interface_scrollable: correctly emit the signals alwaysMarcel Hollerbach
Summary: our default theme defaults to show everything, the code here assumes that everything is hidden by default, this fixes all this. fix T4918 Depends on D9907 Reviewers: zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T4918 Differential Revision: https://phab.enlightenment.org/D9908
2019-10-25elm_interface_scrollable: correctly handle bouncingMarcel Hollerbach
Summary: if bounding is enabled, those values can get smaller and bigger than the max value. ref T4918 Depends on D9906 Reviewers: zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T4918 Differential Revision: https://phab.enlightenment.org/D9907
2019-10-25efl_ui/text_scroller: fix null derefsMike Blumenkrantz
Summary: CIDs 1403890, 1396964, 1396945 Reviewers: cedric, vtorri Reviewed By: cedric Subscribers: vtorri, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10447
2019-10-24efl_ui_relative_layout: change child, target parameter type to Efl.Gfx.EntityYeongjong Lee
child, target should be graphical object. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10401
2019-10-24elm/code: check save file attrs after openingMike Blumenkrantz
ensure that they haven't changed between time of check and time of open CID 1396966 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10440
2019-10-18elm/main: fix null derefMike Blumenkrantz
Summary: CID 1402697 Reviewers: cedric Reviewed By: cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10449
2019-10-14elm/layout: add some workarounds to try handling legacy min sizesMike Blumenkrantz
Summary: if a legacy widget calls evas_object_size_hint_min_set, this actually sets efl_gfx_hint_size_restricted_min now, which is supposed to be the hint that is used internally by widgets. as a result, there is a conflict between the size which the user expects and the size which the widget tries to calculate. the user size should always be respected, however, so this adds some tracking to determine whether the layout's min size was set by the layout during its own calc or by something externally @fix Reviewers: eagleeye, CHAN, woohyun, Jaehyun_Cho, cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10373
2019-10-14efl_ui/layout: selectively inhibit theme,changed eventMike Blumenkrantz
Summary: this is called a ton. ref T8321 Depends on D10359 Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8321 Differential Revision: https://phab.enlightenment.org/D10360
2019-10-14eolian: fix eolian errors with EOLIAN_ENFORCE_SINCE=1WooHyun Jung
Summary: This is not the end of fixing eolian errors. I need to keep fixing more. Test Plan: 1. export EOLIAN_ENFORCE_SINCE=1 2. ninja Reviewers: q66, segfaultxavi, zmike, bu5hm4n, Jaehyun_Cho Reviewed By: segfaultxavi, Jaehyun_Cho Subscribers: Jaehyun_Cho, stefan_schmidt, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10370