Make sure we free allocated resources in the error path.
Prevent usage of uninitilized value.
Signed-off-by: Bartlomiej Grzelewski <b.grzelewski@samsung.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11607
Summary:
The size of internal image could be bigger than the size of efl_ui_image
with following code.
image = elm_image_add
elm_image_fill_outside_set(image, EINA_TRUE);
If the internal image object is 300x300, and efl_ui_image is 360x77, then
the internal image object will resize to 360x360 which is bigger than the
size of efl_ui_image.
This is a compatibility issue. This patch will make efl_ui_image work as
before commit 8cb6c3e Elm_image: implement 'scale_type' and 'scalable'...
Test Plan:
This is old example to reproduce the problem.
{F3859361}
This is newly added example to check if this patch breaks compatibility or not.
{F3859390}
You can use the example with following image.
{F3859391}
This is result before applying this patch.
{F3859388}
This is result after applying this patch.
{F3859389}
The translucent rectangle is the size of the efl_ui_image.
As you might be noticed, only FIT_WIDTH (the 4th one of each row),
and EXPAND (the 6th one of each row) are different.
One more difference the 1st one of 2nd row; NONE.
F.Y.I. and for quick understanding of example.
The 1st row efl_ui_image is bigger than internal image.
The 2nd row efl_ui_image is smaller than internal image.
From the left the scale type is NONE, FILL, FIT, FIT_WIDTH,
FIT_HEIGHT, EXPAND, and TILE.
Reviewers: Hermet, jsuya, herb
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11587
Summary:
In transit, event_callback is mainly used for delete callback.
transit uses evas_object_freeze_events_set to control the user's mouse events.
However, EVAS_CALLBACK_DEL was not called because of this.
The behavior of evas_object_freeze_event was changed. This patch was created to fix some issues.
Test Plan: N/A
Reviewers: Hermet, kimcinoo, herb
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11562
Summary:
elm_transit freezes events by default for added objects.
We have to use elm_transit_event_enabled_set to use events.
Test Plan: N/A
Reviewers: Hermet, kimcinoo, herb
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11560
this here needs to pass the flag that gets set, not the flag that
results. This is important for the cases, where a subtree in a widget
tree keeps the flag. As this would leave the wrong counter.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11556
Summary:
the internals of those two methods have been the same. Both setted the
internal numeric flag as either as 1 more or equal to the flag in the
parent object (depending on the internal state). Further details can be
found in the comment in code.
Depends on D11554
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11555
Summary:
eval all children is ending up in the complete discovery of the whole
subtree, which is unnessesary here, as we are already discovering the
whole subtree with the calls, these changes are in, so simple
evalulating this is enough.
Depends on D11551
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11554
Summary:
this fixes disabled set behaviour. This ensures that when setting
disabled twice, that unsetting it once does not break the overall state.
This never appeared in any real life example, because
elm_object_disabled_set is already checking for equalness. However, this
is not wanted here, because the simple setter can also be used to sync
the state with the parent, which appears to be helpfull.
Depends on D11550
Reviewers: zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11551
Summary:
when setting twice the same value, unsetting the same value would not
restore the same state in the tree again. With this commit, we ensure
this is working correctly.
Reviewers: zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11550
Add support for Text Interactive interface.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11486
As described in task T8617
when toggle editable mode for textbox, we will reserve user changes (instead of reload them again).
this issue is affected by D9502, I do not fully understand why do we need it, so I leave color loading as it is.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11404
this enables the existing looping functionality only when playback_loop
is set (which is always set for legacy widgets)
fix T8589
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11308
make sure we have no stale pointers later on in this case
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11307
this just calls efl.player::playing_set any time autoplay is true and
the internal image object is preloaded
ref T8589
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11306
the manager is basically not new, its just the moved fade manager, with
a little bit more utilization. The manager now can be equipt with 3
animaton objects that are played when the correct reason happens.
For now the fade manager is the only thing that uses that.
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11358
This is preparation work for a later commit. This brings a flag that
indicates what the reason for a switch to call is, either a jump a push
or a pop.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11357
In EFL we have multiple hirachies of parts. One in Efl.Layout namespace
(alias edje) and one in Efl.Ui namespace. The seperation of these two
makes sense from the perspective of hiding functionality. However, a
functionality that we want to have on both is: we want to be able to
check which type of part this is. In order to do so, this commit
introduces a common interface, which allows that.
This is required because eo is currently undergoing some works, where
only APIs on a object are allowed, that are also inheriting its type,
which is normal in OOP, but sometimes, due to the lack of limitation, we
did that. This commit resolves one more case of that.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11516
Allow users to use scroller functinality with efl.ui.textbox
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11479
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
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
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
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
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
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
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
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.
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.
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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.
the typedef used here is not really existing anymore.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11355
this was broken a while ago by failing to correctly update all the configs
ref 6409cfa41b
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11294
these are stored in the config here so they should be manageable here as well
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11250
this is all just duplicated code, so we can deduplicate it with minimal
effort to clean up the api
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11251
these values are deprecated, so stop setting them in efl_config
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11249
this is beta API and belongs in its proper header
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11247
Summary:
The property parameter used in this function are passed from _str_to_property.
_str_to_property does not pass anything other than the enum value.
Therefore this log is an unreached line.
Test Plan: N/A
Reviewers: Hermet, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11347
Summary:
Assigning a result of integral division to a double type variable
is not useful for division calculation.
Test Plan: N/A
Reviewers: Hermet, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11344
Summary:
fw, fh can be referenced in _box_object_aspect_calc
without initialized when ax, ay is greater or equal than 0.
Reviewers: eagleeye
Reviewed By: eagleeye
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11348
pressed/unpressed event will be emitted by efl_input_clickable_press/unpress.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11116
summary_: Longpress and right click one textbox scrollbars will not show up the menu.
Reviewers: woohyun, bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8604
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11295
To keep backward compatibility on size calculation, elm_index implements
group_calculate and the size calculation in the removed sizing_eval is
added to the implemented group_calculate in elm_index.
changed the insertion property to be an enum instead of a boolean property.
this will be clearer for usage and provide the ability to add more types in the future.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11272
As other widgets, efl.ui.textbox will use keyboard bindings instead of listen to keyboard events
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11236
the version here was wrong, probebly a missmatch between hex. & dec and
a off by one error. This is fixing that problem and does not just copy
all keybindings.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11261
spotlight moved away from layout, this could have also been solved with
setting a edje object as resize object. However, this commit now
contains the spotlight internally.
The resons why containing it internally is better:
- You now only have one way of selecting a page, marking it as selection
via the selectable API
- You cannot build race conditions between selecting a page and setting
the active_element anymore
- The tab_pager is now also just a simple single_selectable implementor,
which makes this whole usage more convinient.
- There is now a event you can listen to if you want to know if
something has changed the selected item
- push and pop would have never worked correctly in the tab_pager, as
the item would have appeared always before the item was "faded" in. This
possibility is not given anymore
Last but not least, this makes tab_pager usable again, the tab bar is
displayed again.
Differential Revision: https://phab.enlightenment.org/D10775
This patch will replace the use of ecore_job with Efl_Future
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11216
This patch will:
- Replace all Evas callbacks with unified ones.
- Replace evas_object* methods with unified ones (For **stabilized** methods and interfaces)
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11217
Summary:
Move autoplay and playback_loop method from Efl.Ui.Vg_Animation/
and The playback_loop changed from looping
because it conflict with the efl_ui_scrollable's symbol.
Efl.Ui.Image and Efl.Ui.Image_Zoomable is needed implements about this method.
So it temporarily set the @empty marker.
ref T8476
Test Plan:
elementary_test -to "Vector Graphics Animation"
check to 'loop'
Reviewers: Hermet, bu5hm4n, zmike, Jaehyun_Cho, jsuya
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers, woohyun, kimcinoo
Tags: #efl
Maniphest Tasks: T8476
Differential Revision: https://phab.enlightenment.org/D11212
Summary:
these implementations were totally equal to what is there in
efl_ui_layout. No point in keeping them. (Note, entry_edje is equal to
resize_obj)
ref T8522
Reviewers: segfaultxavi, cedric, zmike, woohyun
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8522
Differential Revision: https://phab.enlightenment.org/D11141
We want to keep implementation for file interface in a safe place and remove it from our side world (eo).
This is a simple copy-paste, from efl.ui.textbox into efl_ui_internal_text_interactive
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11153
Summary:
This reverts commit 93bd970259.
efl.ui.image using prev and current inner image object.
Unloading the efl.ui.image class can be unloaded up to the prev image.
And because efl.ui.image is using the image caching feature together,
it may get unexpected errors. Therefore, revert this patch.
Test Plan: N/A
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11157
1- Implement setting selection range programmatically by modifying selection cursors from **efl_text_interactive_selection_cursors_get**
2- Add setter with **efl_text_interactive_selection_cursors_set** to set the range at once (modify start and end)
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: WooHyun Jung <wh0705.jung@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10968
Summary:
1- add new Eina type (Eina_Int_Range). which represents int range (start, Len).
2- Use this type instead of Efl.Text_Range with selection events.
Reviewers: cedric, woohyun, bu5hm4n, segfaultxavi, zmike
Reviewed By: woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8570
Differential Revision: https://phab.enlightenment.org/D11128
Summary:
Since Stack_Manager displays fade in/out transition effects, the class
name is renamed from Stack_Manager to Fade_Manager.
Depends on D11142
Reviewers: segfaultxavi, bu5hm4n, zmike
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11143
Summary:
In spotlight classes, "Manager" and "Indicator" are used as prefix in
the class names.
e.g. Efl.Ui.Spotlight.Manager_Plain, Efl.Ui.Spotlight.Indicator_Icon
However, those classes are basically manager and indicator classes with
different features. Therefore, "Manager" and "Indicator" should be used
as postfix in the class names.
e.g. Efl.Ui.Spotlight.Plain_Manager, Efl.Ui.Spotlight.Icon_Indicator
However, for the easier usage of C APIs, c_prefix of those classes are
remained to be "efl_ui_spotlight_manager_xxx" and
"efl_ui_spotlight_indicator_xxx".
Reviewers: segfaultxavi, bu5hm4n, zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11142
Summary:
We have checked that unload is not called even if different files
call again elm_image_file_set on the same object.
If file_set is called repeatedly, I think a potential error can occur.
So, modify to call unload when doing file_set by referring to efl_ui_zoomable.
Test Plan: N/A
Reviewers: Hermet, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11148
This reverts commit 09f0d66d90.
This breaks CI, and tests do not pass anymore, hence no other revision
can be verified.
The revision is reopened. lets take a second look at this.
there has been more than 1 month without any comment, i think this looks
fine now ?
The transition event is kept beta for now, as we have right now a
discussion about range that we might be able to use here.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11135
Summary:
Widget's group_member_add() sets its sub objects' color with the
parent's color.
Since spotlight managers call group_member_add() with spotlight
container and its sub objects, the sub objects' color can be changed.
e.g. packed rectangle's color is changed to white (default color value)
To resolve the above issue, spotlight managers set data "_elm_leaveme"
before calling group_member_add() not to change sub objects' color.
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11134
Summary:
1- Implement setting selection range programmatically by modifying selection cursors from **efl_text_interactive_selection_cursors_get**
2- Add setter with **efl_text_interactive_selection_cursors_set** to set the range at once (modify start and end)
Reviewers: woohyun, segfaultxavi, zmike, bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8521, T8522
Differential Revision: https://phab.enlightenment.org/D10968
Summary: > Code structures like top = elm_widget_top_get(data); and if (efl_isa(top, EFL_UI_WIN_CLASS)) can be replaced with top = efl_provider_find(widget, EFL_UI_WIN_CLASS) No type check needed. (That should enhance the performance)
Reviewers: woohyun, bu5hm4n, cedric
Reviewed By: bu5hm4n, cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8522
Differential Revision: https://phab.enlightenment.org/D11127
Summary:
In animation classes, "Animation" is not used as a namespace but it is
used as a prefix in the class names.
e.g. Efl.Canvas.Animation_Alpha
However, those classes are basically animation classes with different
features. Therefore, "Animation" should be used as a postfix in the
class names.
e.g. Efl.Canvas.Animation_Alpha -> Efl.Canvas.Alpha_Animation
However, for the easier usage of C APIs, c_prefix of animation classes
are remained to be "efl_animation_xxx".
Reviewers: segfaultxavi, bu5hm4n, zmike, Hermet, jsuya
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11108
we dont keep our window id up to date... it changes somewhere along
the way during init.... (ecore evas does this e.g. go from normal to
alpha window it has tocreate a new window id anyway)... so stay up to
date so we send a req for the right window id...
@fix
Summary:
this is just like elm_separator, just written for unified widgets.
This inherits from item, which has the advantage that this separator can
also be added into item container.
Reviewers: zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11125
>You should not theme in _efl_ui_textbox_efl_object_finalize, but rather in theme_apply
>All part swallow things should be done in theme_apply.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11103
Summary:
autoplay and autorepeat look similar and can be confusing.
so change autorepeat to looping.
ref T8476
Depends on D11022
Test Plan: N/A
Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi, zmike
Reviewed By: Hermet, segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8476
Differential Revision: https://phab.enlightenment.org/D11061
Summary:
This should fix the behaviour of Ctrl+Backspace & Ctrl+Delete key down on `Efl.Ui.Textbox`.
Also added two tests for it.
Reviewers: woohyun, ali.alzyod, cedric, bu5hm4n
Reviewed By: woohyun
Subscribers: ProhtMeyhet, stefan_schmidt, segfaultxavi, bu5hm4n, #committers, #reviewers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11040
There was code in progressbar that parsed its own theme name, applied a
change, reassembed it, and set it again. However, when we simply stick
to the theme apply code path that we have in efl.ui.layout_base, we can
simply set the horizontal / vertical part to be the element, the rest is
the class. This safes a lot of code, additionally, the setting of the
spacer had to be moved to the theme_apply method, as this would not work
otherwise.
ref T8501
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11076
this only allows the default part to be gotten when running the unified
widget. A later widget can then be used to expose the second progressbar
part.
ref T8501
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11075
Summary:
We did not use the **ELM_PART_OVERRIDE_** because it produces compilation error
```
../src/lib/elementary/efl_ui_textbox.c:3603:40: error: ‘EFL_UI_TEXTBOX_PART_CLASS’ undeclared (first use in this function)
ELM_PART_OVERRIDE_PARTIAL(efl_ui_text, EFL_UI_TEXTBOX, Efl_Ui_Textbox_Data, _part_is_efl_ui_text_part)
```
Reviewers: woohyun, bu5hm4n
Reviewed By: woohyun
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8522
Differential Revision: https://phab.enlightenment.org/D11102
Summary:
this adds comprehensive events for the player interface which can be used
to provide details about the state of the playback
ref T8476
Depends on D11098
Reviewers: jsuya, bu5hm4n
Reviewed By: jsuya
Subscribers: jsuya, segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8476
Differential Revision: https://phab.enlightenment.org/D11080
efl.ui.textbox: replace hoversel with popup
**I think this may need some changes, please let me know what you think**
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11072
After stabilizing efl_ui_textblox, these properties should be
kept as @beta.
ref T8522
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11093
values for this needs to be rounded off the step in order to be expected
step-values and not just double garbage
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11006
this is something which was never ever working before. However, while
fixing the 24h mode, it also appeared that the theming was applied in
the wrong spot, which resulted in signals beeing called on a not yet
themed object, so the theming was also fixed. (Which is the theme_apply
change).
To sum up:
- The theme is now applied by efl_ui_layout_base
- the range is now correct for 24h mode
- There is a quite major problem with the theme, see T8546
- As a quick fix, am / pm button can be disabled.
ref T8546
Differential Revision: https://phab.enlightenment.org/D11004
support
Commits b3114e2484, e3a28ecd1e, and
eafed87ffd moved some previously public API functions to be
internal because they are not used outside of EFL. As such, we need to
include the ecore_wl2_internal.h header file here because those
functions are used inside Elementary.
efl.ui.textbox: clean up (remove unused vars and methods)
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11023
so sometimes widgets dont have smart data - some situtions happen...
but let's not segfault. instead we now see the usual eina log eerrs
and things march on... and no segv.
@fix
Summary:
when you keep a pressed cursor on the inc or dec button, you likely dont
want to have to wait 0.8s for one tick, so this is simply lowering this
time to 0.2.
Depends on D11000
Reviewers: zmike, cedric, segfaultxavi
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11001
Summary:
the spotlight manger fades in new content, and hides the old content.
With this commit the show content is stacked above the hide content,
which means, the user can already interact with the new content, before
the old one is hidden.
Reviewers: zmike, cedric, segfaultxavi
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10997
Summary:
keeping the final state here results in the fact that the map is not
getting reseted. Which is a problem, as the element would not be
displayed correctly after that.
Final state here means, that the last configuration of Efl.Gfx.Mapping will be kept, and it will *not* be resetted.
Reviewers: zmike, cedric, segfaultxavi
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10999
Summary:
There are usecases where items should not be unselectable by the user.
For example in the tab_bar. With this commit, a tab bar user cannot
unselect a item by hand anymore.
Depends on D10305
Reviewers: zmike, woohyun, segfaultxavi, cedric
Reviewed By: zmike, segfaultxavi, cedric
Subscribers: SanghyeonLee, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10306
simplify code, and reduce calls:
It is only required to set scroll mode in two cases:
- When creating scroller
- When changing multiline property
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10981
never the focused element. The focused element can be different from the
item. This fixes a error when item is not focusable, but content in the
item is.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10980
this event freeze will prevent submission of EFL_UI_TEXTBOX_EVENT_CHANGED on efl.ui.textbox object, when inserting text using the keyboard.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10979
Summary:
In elm_animation_view(legacy), play means forward and play_back backward.
So change the sign of the speed value for control.
Test Plan: N/A
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10995
When line numbers were disabled in the widget there was still
some remnant of the background colour of gutter in the widget.
This respects having the line numbers disabled visually.
Summary:
Since "View" is a reserved word for MVVM, change the class name appropriately.
Efl.Ui.Animation_View => Efl.Ui.Vg_Animation
ref T8476
Depends on D10931
Test Plan: elementary_test -> "Vector Graphcis Animation"
Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8476
Differential Revision: https://phab.enlightenment.org/D10939
With this commit you can move the focus from the textbox widget to the surrounding widgets, (as it is done in legacy).
ref T8538
ref T8522
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10987
out of the documentation of struct tm:
int tm_mday; /* Day. [1-31] */
shifting this range one up results in day 32 beeing selectable, but 1
not beeing selectable.
With this commit we could have again working CI.
Differential Revision: https://phab.enlightenment.org/D10992
Summary: this was a int ... cutting of the floating point digits. Now it works.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10977
Summary:
pulse_mode is now implicit with pulse, if you set the progressbar to
pulse, the state is internally adjusted in a way that the theme is put
into the correct state. Legacy is not impacted by this because of the
previous commit.
ref T8501
Depends on D10941
Reviewers: cedric, woohyun, zmike, segfaultxavi
Reviewed By: zmike, segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8501
Differential Revision: https://phab.enlightenment.org/D10942
Summary: This patch only changes some of legacy calls, with new ones
Reviewers: woohyun, zmike, bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8522
Differential Revision: https://phab.enlightenment.org/D10982
This patch will make the CollectionView remember at all time the last
focus object and the last item in the list.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10677
Summary:
If progress_value_set is called more than once, an error value occurs.
The intervention progress must use progress that
does not apply the previous intervention progress.
Test Plan:
meson_option.txt -> remove json in evas-loaders-disabler option
elementary_test -to "animation view"
Click Play -> Play back -> Play
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10907
As efl_gfx_image_expand specification,
it scales the image to cover the entire object area on one axis
while maintaining the aspect ratio though image may become larger than the object.
Thus, this option must work as one of fit_width / fit_height
by detertimining either way.
Previously, it was logically wrong.
@fix
the problem here is that when we are using the signals from the object,
then the edje object itself will receive press/unpress events before
any content that is swallowed into the edje object.
This means, that no clickable content, added to a item could be clicked
without selecting / unselecting the item. Which was a problem.
With this commit the theme is sending signals which are then passed to
the efl.input.clickable mixin, this way, the part is stacked below the
added content, which means, clickable content will not select / unselect
the item anymore.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10892
this new API returns the theme version specified in the loaded theme.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10944