Commit Graph

5228 Commits

Author SHA1 Message Date
Xavi Artigas 883a09a3ae doxygen docs: Fix some more Illegal commands
Who thought that Italic Links was a good idea?
Anyway, Doxygen does not like them.
2020-03-12 17:24:07 +01:00
Mike Blumenkrantz 190cf14959 efl_ui/layout: skip versioning checks for legacy widgets
Summary:
legacy widgets are always stable

fix T8630

Reviewers: eagleeye

Reviewed By: eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8630

Differential Revision: https://phab.enlightenment.org/D11481
2020-03-11 09:37:42 -04:00
Xavi Artigas 5b2d2a85b2 doxygen docs: Fix tons of invalid Doxygen commands
Mostly typos
2020-03-10 21:36:34 +01:00
Marcel Hollerbach fa988becd2 efl_ui_textbox: dont leak a array when no type is available
this fixes a possible leak.
2020-03-09 17:10:40 +01:00
Marcel Hollerbach 6524b0a155 ecore_evas_x: correctly handle images in X11
I thought that i explicitly tested this. However, it seems i was wrong,
this way now this is handled correctly, and the image is stored and
coverted to a path.

With this you can now copy images from chromium and firefox to elm apps.

The change in elm_entry reverts parts of the rewrite of the elm
handling, as initially every path came *without* "file://" in front, so
we have to maintain that.

fixes T8625
2020-03-09 17:10:39 +01:00
Marcel Hollerbach f4ed0d4f93 elm_cnp: move free call after the last usage
this is however pretty much irrelevant as only the pointer is used.
2020-03-09 17:10:39 +01:00
Marcel Hollerbach a491e95dea elm_cnp: free array when going out of scope
this was missing and indeed a memory leak.
2020-03-09 17:10:39 +01:00
Christopher Michael bcbe56ecdd efl_ui_win: Fix null pointer dereference
Fixes Coverity CID1420321
2020-03-09 09:07:48 -04:00
Christopher Michael 3f49408493 efl_ui_win: Fix null pointer dereference
Fixes Coverity CID1420329 and CID1420328
2020-03-09 09:03:58 -04:00
Christopher Michael f2f170c1b3 efl_ui_win: Fix horrible formatting
NB: No functional changes
2020-03-09 09:02:21 -04:00
junsu choi d60587c098 Efl.Ui.Image: Modify current frame to start at 1
Summary:
3dc3deb patch was changed to start at 1 rather than 0.
gif image starts at 1, not 0.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11474
2020-03-09 17:54:33 +09:00
Xavi Artigas 645c3d41eb docs: Strengthen docs for Copy&Paste and Drag&Drop
Including Eina.Content

And a typo/bugfix in ecore_evas_x.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11204
2020-03-08 11:01:18 +01:00
Marcel Hollerbach 165f6f0ae2 rewrite efl cnp and dnd handling
the previous commits introduced a abstraction for drag in drop which can
be now used for this here. With this commit all the direct protocol
handling in efl.ui is removed, and only the ecore evas API is used.

Additionally, this lead to a giant refactor of how APIs do work. All
Efl.Ui. interfaces have been removed except Efl.Ui.Selection and
Efl.Ui.Dnd, these two have been restructored.
A small list of what is new:
- In general no function pointers are used anymore. They feel very
  uncompftable in bindings and in C. For us its a lot easier to just
listen to a event when a drop enters or leaves, there is no need to
register custom functions for that.
- Asynchronous data transphere is handled via futures, which proved to
  be more error safe.
- Formats and actions are handled as mime types / strings.
- 0 is the default seat if you do not know what else to take.
- Content is in general passes as a content container from eina, this
  also allows applications to pass custom types

The legacy dnd and cnp API is implemented based on that.
All cnp related things are in elm_cnp.c the dnd parts are in elm_dnd.c

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11190
2020-03-08 10:59:40 +01:00
Marcel Hollerbach 39f3ce42dc ecore_evas: Introduce cnp / dnd API for ecore evas
The idea of copy and paste here is:
- The user specifies the content he wants to have in the selection
  buffer with a Eina_Content, these content pointer ownerships are
  passed to the called. Internally ecore_evas code will memorieze the
  pointer, and pass on function callbacks to the modules, which then do
  not have to deal with the ownership.

- In case the module does not specify these APIs, the callback
  implementation will be called, which only works for cnp *not* dnd.

- Action and mime types are handled as strings, which allows way better
  custom organisations.

(The docs needs improvement)

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11192
2020-03-08 10:59:25 +01:00
Christopher Michael 8be14b2e6e efl_ui_win: Fix dereference before NULL check
This patch fixes an issue detected by Coverity in that 'sdp' is
already being dereferenced before we check it. ELM_WIN_DATA_GET can
return NULL, so we should check it's return Before trying to use the
variable.

Fixes CID1419871
2020-03-06 16:12:15 -05:00
Mike Blumenkrantz 94d3ab1d2a elm: undef EAPI_WEAK in header before defining
Summary: avoid double define warnings

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11452
2020-03-06 12:16:50 -05:00
Mike Blumenkrantz 92a03628c8 efl_ui/widget: add inheritance for efl.gfx.entity to widget part
most of these are empty

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11448
2020-03-06 13:30:43 +01:00
Marcel Hollerbach b9f185cc58 elm_label: add EFL_ACCESS_WIDGET_ACTION_MIXIN
we implement the API from it, so we should have that as a type here.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11447
2020-03-06 13:30:34 +01:00
Alastair Poole b8326b6096 elm_code_syntax: Add c-sharp syntax highlighting. 2020-03-06 11:04:08 +00:00
Jaehyun Cho 2f9b4a7080 elc_naviframe: fix to delete item once by elm_object_item_del in pop_cb
If elm_object_item_del is called in pop_cb and pop_cb returns
EINA_FALSE, then the given item is destructed by _item_noref when
efl_unref is called after pop_cb.

After the above destruction, efl_del is called after the above efl_unref
and it deletes the item again.

Not to delete item after the item is destructed, efl_del after pop_cb is
removed.
2020-03-06 14:33:07 +09:00
Alastair Poole bd6608dd90 elm_code: Avoid moving to non-existent line.
Check for line existence before moving cursor.
2020-03-06 01:23:35 +00:00
Alastair Poole b847348699 elm_code: Improve efficiency of the widget.
For now, only create textgrids when needed. Also improve other
regions of the widget. This will improve large file support and
also some rendering of the widget.

This improves performance 1-2 times. However, there must be a
reasonable redesign regarding the current use of textgrids.
2020-03-04 01:41:43 +00:00
Xavi Artigas 43f98b2d46 doxygen docs: Fix several group problems
@ingroup before @addgroup, circular group dependencies...
2020-03-03 18:49:20 +01:00
Xavi Artigas c5b1694985 doxygen docs: fix insufficiently namespaced group names
These led to clashes, since group names must be globally unique.
2020-03-03 18:49:20 +01:00
Marcel Hollerbach 76cc9488dd efl_ui_spotlight_scroll: improve scroll behaviour
when the mouse motion was used, we need to mark this event as processed.
Otherwise a click event will be emitted which is wrong.

Additionally, we should only scroll when we are definitly not clicking.
Right now, the scrolling animation would dance arround on a real TS.

Additionally², this commit introduces a little macro which calculates
the distance of a position.
2020-03-02 17:24:33 +01:00
Stefan Schmidt 7499bf9ba2 Revert "elm_label: sizing eval is called _on_label_resize to ensure label size."
This reverts commit 3d57fc0c92.

The change broke elementary tests on my local machine as well as on CI.
Please redo the change and bring it back after testing with the test
suites we have.
2020-03-02 16:54:04 +01:00
Bowon Ryu 3d57fc0c92 elm_label: sizing eval is called _on_label_resize to ensure label size.
Summary:
EFL should guarantee size of label in various situations that the label is resized.
elm_layout_sizing_eval called on on_label_resize.

Test Plan: N/A

Reviewers: YOhoho, zmike, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, Hermet, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11435
2020-03-02 16:53:10 +09:00
Xavi Artigas 0a70c70c0c doxygen: fix missing titles in addgroup 2020-02-28 11:44:19 +01:00
Xavi Artigas dc9750ae1c doxygen: remove duplicated sections
Unified widgets simply copied elm's headers, duplicating doxygen sections.
2020-02-28 11:44:19 +01:00
junsu choi 57531de444 elm_slider: Add return value check
Summary:
Calling eina_value_get() without checking return value.
CID: 1400991

Test Plan: N/A

Reviewers: YOhoho, Hermet, Jaehyun_Cho, CHAN

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11416
2020-02-26 16:35:28 +09:00
Mike Blumenkrantz b6bd20a844 elm/image: restore legacy behavior of elm_image_file_get
Summary:
this should operate on the internal image object to reflect the file
state there instead of the outer object

Reviewers: kimcinoo, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11396
2020-02-25 12:17:12 +09:00
Mateusz Denys ad00102842 Summary: code refactoring - get rid of unneccessary Efl.Access.Value interface.
reviewers_: l.oleksak, stanluk, bu5hm4n, zmike

Reviewed By: l.oleksak

Subscribers: zmike, l.oleksak, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8578

Reviewed-by: Lukasz Oleksak <Lukas.Oleksak>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11304
2020-02-24 17:21:20 +01:00
Mike Blumenkrantz aed480c809 efl_ui/image_zoomable: add icon setting fallback for fdo icons
Summary:
same as D11381
ref 697308a16f

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11403
2020-02-24 15:35:39 +01:00
Xavi Artigas 697308a16f Efl.Ui.Image: Add fallback when icon is not found in default theme
Summary:
If _icon_standard_set() fails, _icon_freedesktop_set() is tried.

This was causing missing icons in the homescreen example, which uses
application icons which are obviously not present in the default theme.

Thanks to @bu5hm4n!

Test Plan: The homescreen sample application from the examples repository now correctly shows all missing icons.

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers, bu5hm4n

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11381
2020-02-24 09:02:30 -05:00
SangHyeon Jade Lee 9cfb9aa603 elm : move unrealize callback call before the content caching.
Summary:
item edje and contents are cached for performance improvement in genlist & gengrid.
but to provide elm_genlist(gengrid)_all_contents_unset method before the contents
are being cached, unrealize callback must be come before the unrealize process.

currently,
item_unrealize
1.unrealize process
2.contents cached
3.unrealize callback
4.all_contents_unset : nothing to unset in the item.

by this patch,
item_unrealize
1.unrealize callback
2.all_contents_unset : contents are unset.
3.unrealize process
4.contents(null) cached

Reviewers: bu5hm4n, cedric, eagleeye, zmike

Reviewed By: zmike

Subscribers: zmike, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11402
2020-02-24 08:52:09 -05:00
Jaehyun Cho c8f26d9691 Revert "elm_spinner: Fixed to apply the %d format."
This reverts commit b8a24679a6.

Differential Revision: https://phab.enlightenment.org/D11394
2020-02-24 10:15:32 +01:00
Shinwoo Kim bfdb01161a efl_ui_image: unload file before memfile_set
Summary:
If memfile_set does not remove prev file information, it is not possilbe to
load image using the same file information after memefile_set.

It means that below line 3 does not work because the same file information
remains for Efl.Ui.Image_Legacy.

1 |  elm_image_file_set(obj, "1.jpg", NULL)
2 |  elm_image_memfile_set(obj, img, size, "jpg", NULL)
3 |  elm_image_file_set(obj, "1.jpg", NULL)

This patch removes line calling _efl_ui_image_file_set_do becasue it is called
in efl_file_unload > _efl_ui_image_efl_file_unload.

Test Plan:
[Sample Code]
{F3848315}

[Reproduce Step]
1. File2
2. Memfile
3. File2

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11392
2020-02-21 13:16:57 +09:00
Yeongjong Lee b0179deda5 efl_ui_exact_model: use eina APIs to get the nth data
Summary:
Also, fixes a compiler warning
```
../src/lib/elementary/efl_ui_exact_model.c:60:17: warning: variable 'tbuf' set but not used [-Wunused-but-set-variable]
```

Test Plan: ninja

Reviewers: cedric, zmike, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11380
2020-02-20 09:11:02 -05:00
Xavi Artigas c5dc774fc5 Efl.Ui.Spotlight: Fix indicator initialization
This caused incorrectly-centered indicator icons in the homescreen example.
2020-02-20 09:59:29 +01:00
Marcel Hollerbach c9c540b9df efl_ui_draggable: move these events back to legacy
they are not used yet in efl.ui. namespace, and they are needed for
different events.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11196
2020-02-19 16:34:02 +01:00
rafspiny d2e1d430a8 Adding "elm,calendar,ch_%d,weekend" and "elm,calendar,ch_%d,weekday" signals from "elm".
The calendar object in elementary needs to know which days are weekdays and which
are weekend days in order to properly change the state of the header's labels.
This code add a signal emission from e_calendar.c when setting the header.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11375
2020-02-19 16:33:59 +01:00
Marcel Hollerbach 090c351d38 elementary: use array instead of list for subchildren
this safes in the runtime of elm_test round about 9kb (*).
Additionally, using a array here is jumping way fewer times arround in
memory, as we do not need to jump from node to node in a list.

Additionally, this commit replaces a few abort disabler macros with a
error checking macro. (which cleans the log).

*: explanation: we have round about 600 widgets in elm_test, every
widget is normally refered once, every list node has 4 pointer, makes
round about 9600 bytes or rougly 9 KB. So the messured savings are more
or less explaining the reality.

Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Differential Revision: https://phab.enlightenment.org/D11374
2020-02-19 16:28:11 +01:00
Woochanlee b8a24679a6 elm_spinner: Fixed to apply the %d format.
Summary:
The part object does not apply the logic in efl_ui_format, so it does not work correctly when you format it with %d.

This is the commit that gets the necessary part of the logic of efl_ui_format.

Test Plan: elementary_test

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11378
2020-02-19 21:09:15 +09:00
Shinwoo Kim 5b349c1ea1 elm_transit: remove unnecessary image preload invocation
Summary:
If user uses image object with following step, then unnecessary preloading
related line is invocated in elm_image_file_set.

elm_image_file_set(obj, file, NULL)
elm_icon_preload_disabled_set(obj, EINA_TRUE)

The following is the preloading related line triggered by elm_image_file_set.

(#0) _image_preload_internal
(#1) _evas_image_load_async_start
(#2) evas_object_image_preload
(#3) _efl_ui_image_smart_internal_file_set
(#4) _efl_ui_image_efl_file_load
(#5) efl_file_load
(#6) efl_file_simple_load
(#7) elm_image_file_set

Moreover there is a flickering issue caused by the unnecessary preloading.
A test code is attached.

Test Plan:
Use following test code. The flickering issue occurs with `ELM_SCALE=10 ELM_ACCEL=gl ./test_transit`
{F3847288}

Reviewers: Hermet, jsuya

Reviewed By: Hermet, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11364
2020-02-17 21:30:09 +09:00
Yeongjong Lee ba8c349eed efl_ui_selection_manager: fix a compiler warning for Wayland support
Summary: `_sel_manager_seat_selection_get` is used only for x11.

Test Plan: meson build -Dx11=false -Dwl=true

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11363
2020-02-17 18:48:11 +09:00
Yeongjong Lee ef4bfd847a efl_ui_selection_manager: remove unnecessary variable
Summary: No logical changes.

Test Plan: meson build

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11362
2020-02-17 18:47:54 +09:00
Yeongjong Lee 36275929af els_cursor: Fix a compiler warning for Wayland support
Summary:
`_curosors` is not used when Elementary is compiled for Wayland.
It Fixes a compiler warning.
```
../src/lib/elementary/els_cursor.c:46:26: warning: ‘_cursors’ defined but not used [-Wunused-variable]
 static struct _Cursor_Id _cursors[] =

```

Test Plan: meson build -Dx11=false -Dwl=true

Reviewers: zmike, Hermet, Jaehyun_Cho

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11360
2020-02-17 15:36:03 +09:00
Carsten Haitzler 0646de4f66 elm - scroller wheel accel - limit to avoid over/underflow
limit wheell accel multiplier to 100,000 ... this way sane values of
wheel_event->z will not overflow. also up intermediate coors to long
longs and clamp to be sure.
2020-02-15 18:43:27 +00:00
Marcel Hollerbach 1600b0f9ce efl_ui_spotlight_fade_manager: fix wrong typedef
the typedef used here is not really existing anymore.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11355
2020-02-14 19:34:53 +01:00
Yeongjong Lee 15973fb4df elm_main: remove unreachable condition
Summary: The condition `!*p` is always false because of line 1336.

Reviewers: zmike, Hermet, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11349
2020-02-14 08:34:36 -05:00