platform/upstream/efl.git
5 years agoeldbus model - fix signed compare warn
Carsten Haitzler (Rasterman) [Tue, 4 Dec 2018 08:33:28 +0000 (08:33 +0000)]
eldbus model - fix signed compare warn

5 years agoefl model loop - fix unused param (add EINA_UNUSED) - warn
Carsten Haitzler (Rasterman) [Tue, 4 Dec 2018 08:30:09 +0000 (08:30 +0000)]
efl model loop - fix unused param (add EINA_UNUSED) - warn

5 years agoeina iterator tests - use same unisnged ints to store - warn
Carsten Haitzler (Rasterman) [Tue, 4 Dec 2018 08:24:02 +0000 (08:24 +0000)]
eina iterator tests - use same unisnged ints to store - warn

use unsigned ints to we have no more wantings about signed compares

5 years agoeina - iterator - remove unused variable - warn
Carsten Haitzler (Rasterman) [Tue, 4 Dec 2018 08:21:49 +0000 (08:21 +0000)]
eina - iterator - remove unused variable - warn

5 years agoelm_scroller: update behaviour to match legacy behaviour more closely
Marcel Hollerbach [Wed, 28 Nov 2018 13:17:28 +0000 (14:17 +0100)]
elm_scroller: update behaviour to match legacy behaviour more closely

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

5 years agoefl_ui_focus_manager_root_focus: ensure that adapter is part of viewport
Marcel Hollerbach [Mon, 26 Nov 2018 16:30:19 +0000 (17:30 +0100)]
efl_ui_focus_manager_root_focus: ensure that adapter is part of viewport

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

5 years agoelm_interface_scrollable: add support for *jumping* into a scroller
Marcel Hollerbach [Mon, 26 Nov 2018 11:40:17 +0000 (12:40 +0100)]
elm_interface_scrollable: add support for *jumping* into a scroller

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

5 years agoelementary: add a benchmark for focus widget tree interation
Marcel Hollerbach [Sun, 25 Nov 2018 11:50:03 +0000 (12:50 +0100)]
elementary: add a benchmark for focus widget tree interation

The benchmark checks how long it takes to move focus through a few
nested scrollers.

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

5 years agomeson: fix running of benchmark
Marcel Hollerbach [Sun, 25 Nov 2018 11:49:15 +0000 (12:49 +0100)]
meson: fix running of benchmark

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

5 years agomeson: use eolian_gen with -S
Marcel Hollerbach [Mon, 3 Dec 2018 17:49:47 +0000 (18:49 +0100)]
meson: use eolian_gen with -S

this ensures that eolian does not parse installed .eo files

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

5 years agoautotools: include eolian_aux eo files in release
Daniel Kolesa [Mon, 3 Dec 2018 16:55:07 +0000 (17:55 +0100)]
autotools: include eolian_aux eo files in release

5 years agoecore evas - buffer - init ecore event evas as many times as shutdown
Carsten Haitzler (Rasterman) [Mon, 3 Dec 2018 15:50:02 +0000 (15:50 +0000)]
ecore evas - buffer - init ecore event evas as many times as shutdown

so ecore_event_evas_shutdown() was getting called much more than
ecore_event_evas_init() - missing an init in the ee + img obj creator
in ecore evas. this adds it in and ensures in allocation failures we
dont over-init or shutdown too.

@fix

5 years agoelm - fix config version bump correctly
Carsten Haitzler (Rasterman) [Mon, 3 Dec 2018 11:46:31 +0000 (11:46 +0000)]
elm - fix config version bump correctly

bump version right and fix eec7bc458eee333fd7237a3bd43e8c2c884f21ca
properly.

5 years agoelm_config: repair configs
Marcel Hollerbach [Mon, 3 Dec 2018 11:43:53 +0000 (11:43 +0000)]
elm_config: repair configs

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: https://phab.enlightenment.org/D7403

5 years agoefl ui text - check if string exists beofre using it...
Carsten Haitzler (Rasterman) [Wed, 28 Nov 2018 12:39:45 +0000 (12:39 +0000)]
efl ui text - check if string exists beofre using it...

don't segv.

5 years agoeina+evas cpu - add theoretical SVE support
Carsten Haitzler (Rasterman) [Thu, 22 Nov 2018 16:59:47 +0000 (16:59 +0000)]
eina+evas cpu - add theoretical SVE support

SVE is a new-ish ARM vector instruction set like neon... but with
wider vectors (and variable vector sizes). this adds the flags and
hwcaps checks.

5 years agoelm perf tool - bring one back to efl
Carsten Haitzler (Rasterman) [Thu, 22 Nov 2018 16:48:56 +0000 (16:48 +0000)]
elm perf tool - bring one back to efl

expedite is basically dead. because it's out of tree and because it
was ported to eo too early... but it's also not a great tool given it
requires manual addition of engines and can't test elm stuff (complex
widgets).

so this is an elm based performance tool. i've added some tests (taken
from expedite and modified a bit). to get the ball rolling. the idea
is to add all the important core tests (rects, images, text, video
etc.) and then add widget/smart object like tests that go beyond what
expedite did. the problem with these tests is they are dependent on
theme. there isn't really any way around that... but i might
categorize tests in the end.

@feature

5 years agoecore_evas - fix aninmator based frame render ticking to full framerate
Carsten Haitzler (Rasterman) [Thu, 22 Nov 2018 11:45:00 +0000 (11:45 +0000)]
ecore_evas - fix aninmator based frame render ticking to full framerate

so i was seeing ecore evas only rendering every 2nd frame... this is
because it was adding and deleting animatiors every time it rendered
instead of keeping one around as lon as updates where there to render
and then remove it afterwards. this caused nasty timing problems and
thus problems assessing framerate of rendered content etc. etc. ...
not good. this fixes that. this only happened if you only used pure
legacy ecore animators. if you used the efl animator tick events it
worked right.

@fix

5 years agoeolian tests: revert incorrect change resulting in failed parsing
Daniel Kolesa [Mon, 3 Dec 2018 09:41:43 +0000 (10:41 +0100)]
eolian tests: revert incorrect change resulting in failed parsing

Commit 98b716d0fa745fe5aa4d110615bf0dd90f695ddb modified this file
for no apparent reason, breaking tests.

5 years agoecore_con: simplify code by using helper that create future directly.
Cedric BAIL [Fri, 23 Nov 2018 01:16:09 +0000 (17:16 -0800)]
ecore_con: simplify code by using helper that create future directly.

The new helper help replace call to eina_future_resolved and eina_future_rejected with
a scheduler lookup to just one function call.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7342

5 years agoecore: simplify code by using helper that build future directly.
Cedric BAIL [Fri, 23 Nov 2018 01:15:29 +0000 (17:15 -0800)]
ecore: simplify code by using helper that build future directly.

The new helper help replace call to eina_future_resolved and eina_future_rejected with
a scheduler lookup to just one function call.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7341

5 years agoeldbus: simplify code by using helper that create future directly.
Cedric BAIL [Fri, 23 Nov 2018 01:14:51 +0000 (17:14 -0800)]
eldbus: simplify code by using helper that create future directly.

The new helper help replace call to eina_future_resolved and eina_future_rejected with
a scheduler lookup to just one function call.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7340

5 years agoeio: simplify code by using helper that generate future directly.
Cedric BAIL [Fri, 23 Nov 2018 01:14:16 +0000 (17:14 -0800)]
eio: simplify code by using helper that generate future directly.

The new helper help replace call to eina_future_resolved and eina_future_rejected with
a scheduler lookup to just one function call.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7339

5 years agoeio: we do not need to actually loop explicitely for the loop here.
Cedric BAIL [Fri, 23 Nov 2018 01:13:43 +0000 (17:13 -0800)]
eio: we do not need to actually loop explicitely for the loop here.

Actually efl_loop_future_scheduler_get does lookup on the object and its provider
someone that could be a loop provider and find a scheduler. There is no need to
custom look for a loop provider.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7338

5 years agoecore: add an helper on Efl.Loop_Consumer to build resolved and rejected future more...
Cedric BAIL [Fri, 23 Nov 2018 01:11:54 +0000 (17:11 -0800)]
ecore: add an helper on Efl.Loop_Consumer to build resolved and rejected future more easily.

This make all object that inherit from Efl.Loop_Consumer have an easy ability to create a future
from their link to a loop provider. This way there is no need to further lookup for a scheduler.

This can by applied after the patch series from T7471.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7337

5 years agoelementary: simplify code by using proper helper.
Cedric BAIL [Fri, 23 Nov 2018 00:45:17 +0000 (16:45 -0800)]
elementary: simplify code by using proper helper.

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

5 years agoeldbus: simplify code by using proper helper.
Cedric BAIL [Fri, 23 Nov 2018 00:45:03 +0000 (16:45 -0800)]
eldbus: simplify code by using proper helper.

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/D7335

5 years agoeio: simplify code by using proper helper.
Cedric BAIL [Fri, 23 Nov 2018 00:44:37 +0000 (16:44 -0800)]
eio: simplify code by using proper helper.

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/D7334

5 years agoecore_con: simplify code by using proper helper.
Cedric BAIL [Fri, 23 Nov 2018 00:44:12 +0000 (16:44 -0800)]
ecore_con: simplify code by using proper helper.

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/D7333

5 years agoeolian-cxx: Add property_def
Lauro Moura [Fri, 30 Nov 2018 21:34:43 +0000 (19:34 -0200)]
eolian-cxx: Add property_def

Summary:
While individual getters and setters are added to the list of methods of
a class, property_def will hold them as a pair.

This will help defining accessors like C#'s where they're grouped.

Also update some eolian-cxx tests that were commented out.

Depends: D7262

Test Plan: run eolian-cxx tests

Reviewers: vitor.sousa, felipealmeida

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoEfl.Ui.List.View: fixed MVVM life-cycle
Larry Lira [Thu, 29 Nov 2018 17:11:51 +0000 (15:11 -0200)]
Efl.Ui.List.View: fixed MVVM life-cycle

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.

5 years agoelementary: rework Efl.Ui.Layout boolean signal-connection to Models
Vitor Sousa [Tue, 6 Nov 2018 13:23:21 +0000 (11:23 -0200)]
elementary: rework Efl.Ui.Layout boolean signal-connection to Models

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.

5 years agoRevert "eina: add locale-independent eina_convert_strtod_c function"
Stefan Schmidt [Fri, 30 Nov 2018 14:30:01 +0000 (15:30 +0100)]
Revert "eina: add locale-independent eina_convert_strtod_c function"

This reverts commit bef1c5cc433b89add2cf0292e1098e1bd74ac640.

The commit breaks the build on macos. I gave it soem time to get fixed
up quickly, but its late Friday night in Korea now and this is unlikely
to get fixed until Monday. Revert here until fixed.

./src/lib/eina/eina_private.h:158:1: error: unknown type name 'locale_t'

https://travis-ci.org/Enlightenment/efl/jobs/461790674

5 years agoeolian_aux: rename tests classes to avoid autotools conflict
Daniel Kolesa [Fri, 30 Nov 2018 13:35:51 +0000 (14:35 +0100)]
eolian_aux: rename tests classes to avoid autotools conflict

Having these files would result in eolian cxx tests failing when
building using autotools, as eolian generators by default include
entire src directory and eolian cxx already had classes a/b/c.

In an ideal case this should not happen as eolian cxx should not
scan tests that are not its own, and it already behaves correctly
under meson but there is no good way to fix it for autotools, so
just rename as a workaround.

5 years agoeolian: add optional warning for regular classes in ext list
Daniel Kolesa [Fri, 30 Nov 2018 13:12:15 +0000 (14:12 +0100)]
eolian: add optional warning for regular classes in ext list

As per T7240, we intend to disallow multi-class inheritance in Eo
at some point. In order to achieve that, it is necessary to find
out which classes still use multi-class inheritance and change
them accordingly.

Eo multi-class inheritance is not actually multi-class, as doing
so will simply treat all the other classes as interfaces, which
is misleading and poor design on its own.

By setting EOLIAN_CLASS_REGULAR_AS_EXT_WARN environment variable,
Eolian will now warn about such classes, allowing them to be
fixed.

Closes T7365.

5 years agoeina: add locale-independent eina_convert_strtod_c function
Youngbok Shin [Wed, 22 Aug 2018 01:53:11 +0000 (01:53 +0000)]
eina: add locale-independent eina_convert_strtod_c function

strtod's behavior is changed by system locale.
http://man7.org/linux/man-pages/man3/strtod.3.html
https://en.wikipedia.org/wiki/Decimal_separator

Because of this, strtod(0.5) returns 0.0 in some locales.
When a given value string is locale-independent, strtod has to be
replaced to eina_convert_strtod_c function.
Internally, it calls strtod_l function with "C" locale.

@feature

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D6644

5 years agoevas cache image: compare with cached image file
Shinwoo Kim [Thu, 23 Aug 2018 05:56:58 +0000 (05:56 +0000)]
evas cache image: compare with cached image file

As cache2 knows cached image could be not matched even though
hash key is not different.

Please refer to the following comment of evas_cache2_image_open.

   /* image we found doesn't match what's on disk (stat info wise)
    * so dirty the active cache entry so we never find it again. this
    * also implicitly guarantees that we only have 1 active copy
    * of an image at a given key. we wither find it and keep re-reffing
    * it or we dirty it and get it out */

The hash key is created base on the image file address.
If the image file address to find does not equal cached image file address
then it means that the cached image is no longer valid.

This case could happen with the following step.

(1) Call evas_object_image_memfile_set with content data A
(2) Call evas_object_image_memfile_set with content data B
(3) Add timer with short time (ex: 0.01 sec)
(4) Delete A image, and add A image in timer callback
(5) Delete B image, and add B image in timer callback

Sometimes you could see image of A from the B image, because newly created
image at step 5 has same address of setp 1.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D6870

5 years agoecore: fix bugs from composite models
Vitor Sousa [Tue, 6 Nov 2018 12:42:36 +0000 (10:42 -0200)]
ecore: fix bugs from composite models

Fix type error while getting boolean property from Efl.Model_Composite_Boolean.

Fix properties_get methods for all composite models.

Now properly call property.changed events when it is needed.

Use EINA_VALUE_TYPE_BOOL instead of EINA_VALUE_TYPE_UCHAR.

Remove some memory leaks.

5 years agoecore: forward internal Efl.Model events to Efl.Model.Composite
Vitor Sousa [Tue, 6 Nov 2018 12:42:11 +0000 (10:42 -0200)]
ecore: forward internal Efl.Model events to Efl.Model.Composite

5 years agoecore: fix efl_model_container_private.h include guards
Vitor Sousa [Tue, 6 Nov 2018 12:10:13 +0000 (10:10 -0200)]
ecore: fix efl_model_container_private.h include guards

5 years agocsharp: Change to new class API.
Lauro Moura [Thu, 29 Nov 2018 23:04:37 +0000 (21:04 -0200)]
csharp: Change to new class API.

Summary:
As discussed in T7204:

- Eo Interfaces/mixins -> C# Interfaces with concrete class
  implementations
- Eo Regular/Abstracts -> Proper C# classes
- Added some new generators and helper methods.
- Refactored the class generator, splitting into helper methods

Eo handles now are stored only in the "root" class in any given
inheritance tree (generally, Efl.Object), and accessible to each child.
Methods also are defined in a single place instead of repeatedly
generated in everyfile, reducing the size of the generated .dll from
30MB to around 4.5MB.

Mixins are generated as C# interfaces but any regular class it inherits
from is lost, as we can't have interfaces inheriting from regular
classes. This will be dealt with in a later commit.

Summary of API Changes:

- Merged Inherit/Concrete classes. (These suffixes disappear from
  regular classes).
- Interface still have implementations with 'Concrete' suffix for when
  they are returned from methods.
- Removed 'I' from interface names.
- Removed interfaces for regular/abstract Eo classes.
- Concrete classes for interfaces/mixins hold the event argument struct.
- Removed '_' from classes, enums, structs, etc, as indicated in C#
  naming conventions.
- Namespaces are now Camel.Cased.
- Renamed IWrapper's raw_handle/raw_klass to NativeHandle/NativeClass

Also renamed the test classes as after the namespace change, the
test namespace Test can conflict with the helper Test namespace.
(And use more meaningful names than Test.Testing...)

Also Fixes T7336 by removing a deprecated example and adding
efl_loop_timer_example to build system.

Fixes T7451 by hiding the class_get DllImports and renaming the IWrapper
fields. The native handlers are used in the manual binding.

Still need to work:

- As there are still some events names clashing (e.g. Efl.Ui.Bg with "resize"
  from Efl.Gfx.Entity and Efl.Gfx.Image), Events are currently declared on
  the interface and implemented "namespaced" in the classes,
  requiring the cast to the interface to access the event.
- The Mixin Conundrum. Mixin inheritance will be dealt in a future
  commit.

Depends on D7260

Reviewers: segfaultxavi, vitor.sousa, felipealmeida, Jaehyun_Cho

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7451, T7336

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

5 years agoelementary: Support using no frame object
Christopher Michael [Thu, 29 Nov 2018 19:09:09 +0000 (14:09 -0500)]
elementary: Support using no frame object

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

5 years agoeolian_aux: add initial eolian_aux APIs
Daniel Kolesa [Sun, 4 Nov 2018 17:56:54 +0000 (18:56 +0100)]
eolian_aux: add initial eolian_aux APIs

eolian_aux is a set of auxiliary APIs for eolian that build on top
of the existing eolian APIs but do not belong in the main library.

5 years agoeldbus: add brackets
Yeongjong Lee [Thu, 29 Nov 2018 12:05:22 +0000 (07:05 -0500)]
eldbus: add brackets

Summary: assignment expression is always true.

Test Plan: make

Reviewers: cedric, devilhorns

Reviewed By: devilhorns

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoelm_config: fix elm_config_save not to wake idle processes up
Wonki Kim [Tue, 27 Nov 2018 04:49:27 +0000 (04:49 +0000)]
elm_config: fix elm_config_save not to wake idle processes up

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

5 years agoelm_config: replace ecore_file_mv with ecore_file_cp
Wonki Kim [Sat, 24 Nov 2018 03:25:25 +0000 (03:25 +0000)]
elm_config: replace ecore_file_mv with ecore_file_cp

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

5 years agoelm_config: remove profile name reading logic from data dir
Wonki Kim [Fri, 23 Nov 2018 11:12:01 +0000 (11:12 +0000)]
elm_config: remove profile name reading logic from data dir

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

5 years agoecore_evas_buffer: register it in ecore_evas_input
Marcel Hollerbach [Sun, 25 Nov 2018 11:46:35 +0000 (12:46 +0100)]
ecore_evas_buffer: register it in ecore_evas_input

this is done in order to make ecore_event_evas_key_down work with this.
The function can be used to simulate interactions with a efl_ui_win. If
this is not added, then the user of ecore_event_evas_key_down needs to
differentiate between buffer engines and the rest of the engines.

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

5 years agoFixed the docu generator for recent eolian changes
Dave Andreoli [Wed, 28 Nov 2018 20:52:22 +0000 (21:52 +0100)]
Fixed the docu generator for recent eolian changes

I also uploaded a fresh generated doc tree at:
http://www.gurumeditation.it/dokuwiki

5 years agoPyolian: fixes for recent eolian changes
Dave Andreoli [Wed, 28 Nov 2018 20:39:51 +0000 (21:39 +0100)]
Pyolian: fixes for recent eolian changes

5 years agoPyolian tests: 2 small improvements
Dave Andreoli [Wed, 28 Nov 2018 19:16:19 +0000 (20:16 +0100)]
Pyolian tests: 2 small improvements

1. properly use unittest infra to skip tests, otherwise we will
   forgot the commented tests

2. split the new name collision test (failing, but really cool)
   so it have a proper name and the results are more readable

5 years agomeson: include whole src/lib for eo file generation in ifaces
Daniel Kolesa [Wed, 28 Nov 2018 13:45:31 +0000 (14:45 +0100)]
meson: include whole src/lib for eo file generation in ifaces

In autotools, src/lib is used as an include path for finding
eo files, which is the same behavior you would get as when using
a system directory. In meson, this was changed to include only
certain directories.

This presents a problem (05682eed7d572874928424af82fba819790c4228)
as it is not possible to reference symbols from other paths within
documentation.

Since this is necessary for the time being, work around the problem
by doing a whole src/lib include for now, which fixes the parsing.
Longer term solution is to be discussed and implemented.

5 years agoeo-docs: Remove Doxygen tags from efl*.eo files
Xavi Artigas [Wed, 28 Nov 2018 12:33:46 +0000 (13:33 +0100)]
eo-docs: Remove Doxygen tags from efl*.eo files

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

5 years agoector: fix indentation.
Hermet Park [Wed, 28 Nov 2018 07:44:51 +0000 (16:44 +0900)]
ector: fix indentation.

5 years agoefl_ui_scrollable: implement efl_ui_scrollable_content_pos_get method.
Hosang Kim [Wed, 28 Nov 2018 05:32:39 +0000 (14:32 +0900)]
efl_ui_scrollable: implement efl_ui_scrollable_content_pos_get method.

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

5 years agopyolian: Fix tests after class renames and API change
Lauro Moura [Tue, 27 Nov 2018 21:25:53 +0000 (22:25 +0100)]
pyolian: Fix tests after class renames and API change

Summary:
There is still a test failing as at least Ecore.Audio is both a
namespace and a class.

Test Plan: python test_pyolian.py

Reviewers: DaveMDS, q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoRevert "evas map: calc map geometry when it is out of screen"
Hermet Park [Tue, 27 Nov 2018 02:24:10 +0000 (11:24 +0900)]
Revert "evas map: calc map geometry when it is out of screen"

This reverts commit 8a7817cdd9e3a347c301370c2d401a4c5691b6d8.

Sorry, I didn't intend this patch...

5 years agoevas map: calc map geometry when it is out of screen
Shinwoo Kim [Tue, 27 Nov 2018 02:21:51 +0000 (11:21 +0900)]
evas map: calc map geometry when it is out of screen

Summary:
The map geometry(cur.map->normal_geometry) is calculated only if
evas_render_updates_internal_loop calls evas_render_mapped as below.

evas_render_mapped
   -> evas_object_map_update
   -> evas_object_map_update
   -> _evas_map_calc_map_geometry

If the mapped object is not on screen, then evas_render_updates_internal_loop
does not call evas_render_mapped, because the mapped object is not active.

The mapped object is not active(i.e. is_active is  0) always because cache.clip
data including visilbe and geometry is not updated after the object goes out
of screen.

Usually the unmapped object updates its cache.clip data with updated geometry
even though it is out of screen as below.

_efl_canvas_object_efl_gfx_entity_position_set
   -> evas_object_recalc_clippees
   -> evas_object_clip_recalc
   -> evas_object_clip_recalc_do

So the mapped object geometry(cur.map->normal_geometry) should be updated in
evas_object_clip_recalc_do if it is out of screen.

Test Plan:
Sample code

{F3455674}

{F3455673}

{F3455672}

{F3455671}

Reviewers: Hermet, jypark

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoUi Scroller : remove unnecessary efl_del
Daniel Hirt [Thu, 15 Nov 2018 08:55:46 +0000 (10:55 +0200)]
Ui Scroller : remove unnecessary efl_del

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.

5 years agoScroll manager: remove unnecessary callback_del
Daniel Hirt [Thu, 15 Nov 2018 08:52:16 +0000 (10:52 +0200)]
Scroll manager: remove unnecessary callback_del

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.

5 years agoUi text: remove unused code from internal scroller
Daniel Hirt [Tue, 13 Nov 2018 14:14:58 +0000 (16:14 +0200)]
Ui text: remove unused code from internal scroller

5 years agoUi text: update text; use efl_text_set and not markup_set
Daniel Hirt [Tue, 13 Nov 2018 13:17:28 +0000 (15:17 +0200)]
Ui text: update text; use efl_text_set and not markup_set

5 years agoUi text: update inputfield test to reflect theme and part changes
Daniel Hirt [Mon, 12 Nov 2018 16:57:42 +0000 (18:57 +0200)]
Ui text: update inputfield test to reflect theme and part changes

5 years agoUi text: implement efl_part and part_text API to text_set
Daniel Hirt [Mon, 12 Nov 2018 16:57:24 +0000 (18:57 +0200)]
Ui text: implement efl_part and part_text API to text_set

5 years agoUi text: have "inputfield" example use the default theme values
Daniel Hirt [Mon, 12 Nov 2018 13:15:33 +0000 (15:15 +0200)]
Ui text: have "inputfield" example use the default theme values

5 years agoUi text: read init text properties from theme
Daniel Hirt [Mon, 12 Nov 2018 13:14:11 +0000 (15:14 +0200)]
Ui text: read init text properties from theme

5 years agoUi text: add initial properties for theme
Daniel Hirt [Mon, 12 Nov 2018 13:14:53 +0000 (15:14 +0200)]
Ui text: add initial properties for theme

5 years agoUi text interactive: emit changed,user event correctly
Daniel Hirt [Mon, 12 Nov 2018 13:13:09 +0000 (15:13 +0200)]
Ui text interactive: emit changed,user event correctly

5 years agoUi text scroller: add usage of a guide
Daniel Hirt [Mon, 12 Nov 2018 13:09:56 +0000 (15:09 +0200)]
Ui text scroller: add usage of a guide

5 years agoefl_ui_focus_manager_sub: freeze manager when parent manager is frozen
Marcel Hollerbach [Thu, 22 Nov 2018 14:50:04 +0000 (15:50 +0100)]
efl_ui_focus_manager_sub: freeze manager when parent manager is frozen

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

5 years agoelm_interface_scrollable: freeze the manager object when content moves
Marcel Hollerbach [Thu, 22 Nov 2018 14:47:52 +0000 (15:47 +0100)]
elm_interface_scrollable: freeze the manager object when content moves

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

5 years agoefl_ui_focus_manager_calc: ensure that the coords are marked dirty
Marcel Hollerbach [Fri, 23 Nov 2018 11:38:00 +0000 (12:38 +0100)]
efl_ui_focus_manager_calc: ensure that the coords are marked dirty

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

5 years agoefl_ui_focus_manager: introduce a new API
Marcel Hollerbach [Thu, 22 Nov 2018 14:41:31 +0000 (15:41 +0100)]
efl_ui_focus_manager: introduce a new API

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

5 years agoefl_ui_focus_object: introduce a new event for focus geometry changes
Marcel Hollerbach [Fri, 23 Nov 2018 08:49:55 +0000 (09:49 +0100)]
efl_ui_focus_object: introduce a new event for focus geometry changes

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

5 years agoelm_focus: implement missing functions
Marcel Hollerbach [Thu, 22 Nov 2018 16:54:57 +0000 (17:54 +0100)]
elm_focus: implement missing functions

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

5 years agoefl_ui_focus_manager_calc: reduce the amount of list operations
Marcel Hollerbach [Wed, 21 Nov 2018 19:57:32 +0000 (20:57 +0100)]
efl_ui_focus_manager_calc: reduce the amount of list operations

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

5 years agoFlipSelector: fix items creation when range is used
Daniel Zaoui [Mon, 26 Nov 2018 08:32:31 +0000 (10:32 +0200)]
FlipSelector: fix items creation when range is used

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.

5 years agoeo: rename efl_future_Eina_FutureXXX_then in efl_future_then as this has been availab...
Cedric BAIL [Thu, 22 Nov 2018 01:33:10 +0000 (17:33 -0800)]
eo: rename efl_future_Eina_FutureXXX_then in efl_future_then as this has been available for some time.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7327

5 years agoeldbus: switch Eldbus.Model to inherit from Efl.Model_Loop.
Cedric BAIL [Thu, 22 Nov 2018 01:03:53 +0000 (17:03 -0800)]
eldbus: switch Eldbus.Model to inherit from Efl.Model_Loop.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7326

5 years agoeio: switch Eio.Model to inherit from Efl.Model_Loop.
Cedric BAIL [Thu, 22 Nov 2018 01:03:34 +0000 (17:03 -0800)]
eio: switch Eio.Model to inherit from Efl.Model_Loop.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7325

5 years agoecore: switch all Efl.Model to inherit first from Efl.Model_Loop.
Cedric BAIL [Thu, 22 Nov 2018 01:03:10 +0000 (17:03 -0800)]
ecore: switch all Efl.Model to inherit first from Efl.Model_Loop.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7324

5 years agoecore,efl: add Efl.Model.property_get helper which will suceed once when a property...
Cedric BAIL [Thu, 22 Nov 2018 00:44:17 +0000 (16:44 -0800)]
ecore,efl: add Efl.Model.property_get helper which will suceed once when a property finally has a value.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7323

5 years agoeio: use the right type of Eina_Value to report error.
Cedric BAIL [Thu, 22 Nov 2018 00:43:10 +0000 (16:43 -0800)]
eio: use the right type of Eina_Value to report error.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7322

5 years agoefl: make Efl.Model.properties_get return an Iterator<string>.
Cedric BAIL [Fri, 23 Nov 2018 16:25:19 +0000 (16:25 +0000)]
efl: make Efl.Model.properties_get return an Iterator<string>.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7289

5 years agoeina: add tests for eina_multiple_iterator_new.
Cedric BAIL [Fri, 16 Nov 2018 01:44:09 +0000 (17:44 -0800)]
eina: add tests for eina_multiple_iterator_new.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7287

5 years agoeina: add eina_multi_iterator_new.
Cedric BAIL [Fri, 16 Nov 2018 01:42:27 +0000 (17:42 -0800)]
eina: add eina_multi_iterator_new.

This will return an Iterator that will walk over a serie of iterator.
This technicaly take ownership of the iterator it is walking over and
destroy as it goes and doesn't need them anymore.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7286

5 years agoeina: add test for Eina_Iterator over pure C array.
Cedric BAIL [Thu, 15 Nov 2018 23:38:40 +0000 (15:38 -0800)]
eina: add test for Eina_Iterator over pure C array.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7285

5 years agoeina: add a way to iterate over a pure C array with no NUL terminating element.
Cedric BAIL [Thu, 15 Nov 2018 23:37:15 +0000 (15:37 -0800)]
eina: add a way to iterate over a pure C array with no NUL terminating element.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7284

5 years agotravis: temporarily disabled mingw job as hot fix
Stefan Schmidt [Fri, 23 Nov 2018 16:11:05 +0000 (17:11 +0100)]
travis: temporarily disabled mingw job as hot fix

Since a recent commit eolian_gen from HEAD is needed to build efl.
So far the mingw cross build avoided the double build of efl for
bootstrapping purpose and used the 1.21 package for the cross build.

This does no longer work and all Travis jobs are now failung due to
this. As a hotfix I disable the build now (Friday evening) to have
working builds over the weekend and find a better solution next week.

5 years agotravis: reorder jobs to reduce overall build time per push
Stefan Schmidt [Wed, 21 Nov 2018 15:49:14 +0000 (16:49 +0100)]
travis: reorder jobs to reduce overall build time per push

We currently have 6 jobs runnign after a git push, but only 5 parallel
workers available. The macos build takes way longer then the meson
builds for example which we will use to our advantage.

Starting the longest builds (macos and mingw) first and letting the
second meson build start after the first ones finishes. That way the
limitation is still the long running macos job.

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

5 years agoci: here comes ninja!
Marcel Hollerbach [Wed, 7 Nov 2018 16:06:10 +0000 (17:06 +0100)]
ci: here comes ninja!

this updates the scripts in order to make ninja all / ninja test work as
expected. For now there are 2 new jobs options-enabled and
options-disabled. mingw and osx will follow in another commit.
Benchmarks are disabled for now, as the eina benchmark does not seem to
terminate.

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

5 years agotravis: merge wayland build into misc and rename to options-enabled
Stefan Schmidt [Mon, 19 Nov 2018 13:22:10 +0000 (14:22 +0100)]
travis: merge wayland build into misc and rename to options-enabled

The misc build already had most of the extra options enabled for the EFL
build. Instead of wasting CPU cycles on a full seperate build for just
wayland options we merge these two together. In the process we rename
from misc (pretty vague) to options-enabled and options-disbaled.

Due to the combination of options we need to disable sdl for now. It
clashes with the OpenGL ES option we enable for wayland. Having build
for the different GL flavours is something we should look into at some
point.

Patch is based on the patches from Marcel in D7253 and D7254

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

5 years agoeolian: implement new syntax for inheritance
Daniel Kolesa [Thu, 22 Nov 2018 16:17:29 +0000 (17:17 +0100)]
eolian: implement new syntax for inheritance

This new syntax separates the parent class from extensions, in
a familiar way to similar to e.g. Java. Since changing everything
at once is a lot of effort, implement it alongside for the time
being.

5 years agoeolian: implement new inherit behavior
Daniel Kolesa [Thu, 22 Nov 2018 15:21:52 +0000 (16:21 +0100)]
eolian: implement new inherit behavior

Eolian now separates 'parent' and 'extensions'. For regular
classes, parent is the first item in the inherits list and
extesions is the rest. For interfaces and mixins, parent is
NULL and extends is the inherits list.

The reason for this is the separation of them in syntax in near
future. It also slightly changes the behavior; since for interfaces
and mixins, parent is always NULL now, you can freely inherit from
all types of classes without needing to manually put an interface
type as the first item of the inherits list.

5 years agoefl_interpolator: rename subclasses of Efl.Interpolator
Jaehyun Cho [Fri, 23 Nov 2018 12:26:00 +0000 (21:26 +0900)]
efl_interpolator: rename subclasses of Efl.Interpolator

Subclasses of Efl.Interpolator are renamed intuitively from backward
order to forward order.

5 years agoefl_interpolator: change Efl.Interpolator class to interface
Jaehyun Cho [Fri, 23 Nov 2018 10:30:36 +0000 (19:30 +0900)]
efl_interpolator: change Efl.Interpolator class to interface

Since Efl.Interpolator's subclasses are used as interpolator class,
Efl.Interpolator class is changed to be an interface.

This change allows Efl.Canvas.Animation to have Efl.Interpolator as its
property in efl_canvas_animation.eo.

5 years agoelm_gengrid: remove all_items_deselect call in _gengrid_element_focused
Yeongjong Lee [Wed, 14 Nov 2018 06:30:10 +0000 (06:30 +0000)]
elm_gengrid: remove all_items_deselect call in _gengrid_element_focused

focus_changed doesn't mean select_changed. selection is handled the code below.
Differential Revision: https://phab.enlightenment.org/D7268

5 years agoelm: roll _tree_custom_chain_missing into main focus test function
Derek Foreman [Tue, 20 Nov 2018 19:57:12 +0000 (13:57 -0600)]
elm: roll _tree_custom_chain_missing into main focus test function

Further reduction in eo overhead.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
5 years agoelm: Compress more focus tests into the same list walk
Derek Foreman [Tue, 20 Nov 2018 17:20:36 +0000 (11:20 -0600)]
elm: Compress more focus tests into the same list walk

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>
5 years agoelm: Re-order focus tests
Derek Foreman [Tue, 20 Nov 2018 16:49:40 +0000 (10:49 -0600)]
elm: Re-order focus tests

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>