Internal hacks should not affect user facing API. This commit adds a new
API to do the internal hack. This is still bad, but it's much less than
what was there before.
This fixes the main issue introduced by commit:
63a5cdf0f8516c16a62233da0c2af0e10a13264b
During deletion of a window, widgets considered as droppable targets
have to remove their DnD callbacks. To achieve this, elm_drop_target_del
is called from the DEL callback (destructor). This function has to
determine if X11 or Wayland is used. Since the parent is already unknown
at this stage, only checking the engine name can give this
information.
On a regular window, the engine name is related to the target display.
The problem happens when an inline window is used. The engine is a
buffer and no information is given regarding the target display.
The patch fixes it by checking the nature of the Ecore Evas parents. It
supports nested windows (inline inside inline... inside XWin).
@fix
Summary:
palette_box had stretched height exceeding its items size.
Now it will have proper height fitting to own items.
Reviewers: Hermet, Jaehyun, raster
Reviewed By: raster
Subscribers: raster, Hermet
Differential Revision: https://phab.enlightenment.org/D1840
Summary:
When first page is last page, elm_scroller_last_page_get need to return 0.
But if pagesize is bigger then current content height or width, value will be returned -1.
So fix this cases to return 0.
Test Plan: If set elm_scroller_page_set bigger then current content size, then issue is occurred.
Reviewers: seoz, jaehwan, raster
Reviewed By: raster
Subscribers: eagleeye
Differential Revision: https://phab.enlightenment.org/D1860
@fix
The elm image orient_set api looks like it is a state, and it is
documented to SET the orietnation, but the code actually DOEs that
orientation when you set it. so docs and api name didnt match
functionality at all. this was bad an an oversight. you didn't notice
until you set orientation multiple times to an image. this fixes the
implementation to be as documented - a state that is applied and
remains that way until set to something else. setting to the same
orientation has no efect as with color, size, etc. etc. in evas.
you could look on this as an api break, but then either the docs
change AND api name changes to match the code, or code changes to
match the docs. we don't keep bug compatibility in efl and in this
case i'm making the call to break the behavior of a function as it
was broken already with respect to name and docs.
This reverts commit 1879cc39258c63c24f0abcff56558b1f1b60167a.
Hermet, please check this commit it makes Fileselector crash,
looks like you inverted the values: 1 should be EINA_TRUE.
I recommend you to use Exactness to run all the tests automatically.
this is a giant hack to provide widget parenting in e. do not use this function, do not use this type, do not even read the related documentation.
@feature
Summary:
On some systems (e.g. OS X), both Apple's windows manager and X11 can cohabit,
therefore we need to check for the DISPLAY environment variable only when ELM_DISPLAY
is not specified.
Reviewers: cedric, devilhorns, seoz, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D1721
delete genlist item directly.
instead, remove the bunch of code that was related to lazy deletion.
we can success, if we clean up the resources and callback calls properly.
here i only found item focus callback that (may) required the lazy deletion.
Summary: When gengrid reordering by thumb scroll, some items disapear on screan.
Test Plan:
1. Enabled thumb scroll in elm config
2. Launch gengrid test in elementary_test
3. Check reorder mode enabled
4. Try to move reordering item to upon or lower area by thumb scrolling,
items disapear.
Reviewers: seoz, raster
Reviewed By: raster
Subscribers: bluezery
Differential Revision: https://phab.enlightenment.org/D1852
Summary: Use strncpm, not strcmp to support styles starting with vertical
Test Plan: Define spinner style which has 'vertcial' as a prefix
Reviewers: raster, cedric, seoz, woohyun, jaehwan, Hermet, jpeg
Subscribers: seoz
Differential Revision: https://phab.enlightenment.org/D1839
Summary:
When elm_object_disabled_set API is called on any widget, All the
subobjects of the widget also has to be disabled issue fix.
@fix
Test Plan:
Call the API elm_object_disabled_set on any container widget like box,
layout etc:-, fix can be tested with test_box.c and test_layout.c test
codes.
Reviewers: Hermet, seoz, raster
Subscribers: govi, rajeshps
Differential Revision: https://phab.enlightenment.org/D1778
Summary:
There was a problem that image is stretched over its size
when elm_image_fill_outside_set() is applied.
This patch fixed that.
@fix
Reviewers: Hermet
Subscribers: Hermet
Differential Revision: https://phab.enlightenment.org/D1854
Summary:
fileselector: redirect keystrokes to the searchbar
Keystrokes like a-z A-Z 0-9 are redirected to the searchbar, so you dont
need to click arround to search files in the fileselector.
The search icon is from ApB (Apostolos B.), thx for that! :)
@feature Improved the searchbar
Reviewers: raster, seoz
Subscribers: ryuan.choi, cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1237
Conflicts:
src/lib/elc_fileselector.c
Summary:
this function is called at least twice: in _smart_add and every time _theme_apply is called.
so we need either correctly free sd->cb_data or reuse it
@fix
Reviewers: seoz, cedric, raster, Hermet
Subscribers: reutskiy.v.v
Projects: #elementary
Differential Revision: https://phab.enlightenment.org/D1841
Summary:
Cause : When part name is NULL, edje_object_part_text_escaped_set is not called.
Measure : Add code for each conditions.
@fix
Reviewers: Hermet
Subscribers: Hermet
Differential Revision: https://phab.enlightenment.org/D1847
Summary:
The idle enterer added even after deleted sd for diskselector.
it makes crash.
@fix
Test Plan:
1. Run elementary_test
2. Execution diskselector.
3. Close diskselector sample window.
4. Crash occured.
Reviewers: Hermet, seoz, Jaehyun
Differential Revision: https://phab.enlightenment.org/D1843
Summary: Since we end up calling free on the event->data parameter
after a drop is completed, we should actually be allocating a string
for this data (to be free'd later). This also fixes an issue where the
event length was not being set.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This function is expecting Eina_Bool as the return value, not
ints so let's use EINA_FALSE here.
NB: this just fixes a copy/paste issue
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: In order for ecore_wl to start a drag, we need to send the
parent window of the object being dragged. Previous code was not
getting the parent window properly.
NB: This patch also fixes an issue where the data being sent to the
drop callback was being incorrectly sent.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Because not all item block have "max_items_per_block" number of items in it's block.
So the calculation is not correct when items are added & removed in each block.
Anyhow, we need more efficient way for this API because genlist uses inlinst.
Fixes bad drag&drop into entry widgets, since the drop callback
assumed that the dropped text ends with a NULL character.
How to reproduce:
1. Open 'elementary_test -to Entry'
2. Open some application (e.g. Firefox)
3. Select some (preferably short) text, and drag&drop it to the entry
widget. This sometimes pastes additional corrupted text (better try
with a 1-3 characters text).
@fix
This new @feature is just a convenient way to create dialogs, It
mimic the elm_win_util_standard_add() function but crete a
standard dialog, with background and the parent set.
WinDialog test changed to use the new function.
Previous logic was too much stick to special case for *tizen*
let decide item styles in theme as possible.
This might break reorder group item ui, but it won't be critical.
because tizen ui only depeneded on the scenario and they don't use them anymore.
This will be much better for multiple scenario in the future.
Summary:
Fixed to make colorselector have proper min size
when colorselector is in ELM_COLORSELECTOR_PICKER mode
@fix
Reviewers: Hermet
Subscribers: Hermet
Differential Revision: https://phab.enlightenment.org/D1832
Too much in this case is a fixed 4px. As fingers do not have a right button I think
that taking into account finger size is not needed here.
Also someone argued about the signal name is not really correct...
should I change it to somethig like: clicked,secondary ?
Summary:
After applying clipping patch about image on outside,
the width or height of the image be decreased
if x or y of an image is less than zero.
The way to calculate width/height has changed.
This fixes a side effect added in 2839881f37ea85b3469d8fd37cfaa4f9d67458fa
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D1810
Summary:
Fix layout broken in ELM_COLORSELECTOR_ALL mode
due to missing part for layout sizing evaluation
@fix
Reviewers: Hermet
Subscribers: Hermet
Differential Revision: https://phab.enlightenment.org/D1802
Summary:
When colorselector widget is added, there are two align set command on palette_box part,
but that for picker part is omitted.
Apply elm_box_align_set function to picker part correctly.
@fix
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: Hermet
Differential Revision: https://phab.enlightenment.org/D1790
Summary:
When resizes an image
if "fill_inside" and "aspect_fixed" in Elm_Image_Data struct are "TRUE",
extra width or height go outside of the object area.
The width or height on outside will be clipped.
@fix
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D1794
Summary:
Pass Elm_Object_Item *item instead of Elm_Widget_Item_Data *item as
*event_info in item->del_func to let *event_info be used.
@fix
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D1788
Summary:
As mentioned in TODO replaced expressions in if statement with macros in elm_macros.
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: seoz, raster
Reviewed By: raster
Subscribers: raster
Differential Revision: https://phab.enlightenment.org/D1424
Summary:
Originally, key "Left" is mapped elm_gengrid_item_prev_get. But when gengrid is mirrored, key "Left" should remap elm_gengrid_item_next_get.
So I add more condition for checking mirroring.
1. reverse Left and Right key event
2. fix _elm_gengrid_item_edge_check logic
3. fix _item_show_region logic
Test Plan: elementary_test -> gengrid
Reviewers: SanghyeonLee
Subscribers: seoz
Differential Revision: https://phab.enlightenment.org/D1381
Conflicts:
src/lib/elm_gengrid.c
Summary:
Naviframe: modify elm_naviframe_item_pop_to api's document guide more specific to avoid confusion.
the elm_naviframe_item_pop_to api does not pop all items from the top to the target item.
It destory the items between the top and the target item, after that pop and destory the top item.
so, the descriptions of elm_naviframe_item_pop_to() is modified to avoid cunfusion like above.
Reviewers: Hermet, woohyun, seoz
Subscribers: seoz
Differential Revision: https://phab.enlightenment.org/D1780
Summary:
If item_loop is not enabled, the focus highlight should move to nearest visible object
with key events.
Test Plan: elementary_test -to "gengrid 2"
Reviewers: seoz, raster
Subscribers: sachin.dev, seoz
Differential Revision: https://phab.enlightenment.org/D1261
Once the window alpha is on, it would not go back to non-alpha window
automatically.
- non-alpha theme -> alpha theme: switch to alpha window
- alpha theme -> non-alpha theme: stay in alpha window
@feature
A leave callback is invoked on the drop target of the previous DnD
operation, leading to inconsistency for applications.
The state of the dropable target was not resetted during drop.
This patch fixes that.
DISPLAY environment variable may set regardless of Elementary/EFL.
Mostly user has no way to switch their intent engine such as "buffer"
Guarantee work application engine with their intended engine first.
@fix
Summary:
Summary: after popup layout refactoring, the popup object cant get evas event.
when popup using notify object block layout object will be covered with edje object.
it breaks evas smart member relationship.
Test Plan:
Test Plan:
1. added popup object.
2. key down event callback add for popup object.
3. run the elementary_test.
4. input some key on popup and check whether the registered function is executed or not.
Reviewers: eunue, Hermet, seoz
Differential Revision: https://phab.enlightenment.org/D1706
this fixes a longstanding race condition where tooltip windowss could exist with a shape rectangle due to race conditions between applying window properties (eg. alpha) and reapplying the input rect
- This is a first clean up of 65240b5327e5ab1eb8f77835b4729444fe1f02df
- Fix wrong version for since tag.
- Fix indentation and remove trailing whitespaces.
- Make the code more readable.
- Remove a unused variable.
Summary:
encoded URI is pasted in terminology on dnd with file which has blank in name
ex. Test Blank.avi -> Test%20Blank.avi
Therefore, decode it when we extract file uris from uri list by using efreet.
by the way, copy and paste code likely needs refactoring..
Reviewers: raster, cedric
Subscribers: billiob, seoz
Differential Revision: https://phab.enlightenment.org/D1384
Summary:
elm_config_slider_indicator_visible_mode_set
elm_config_slider_indicator_visible_mode_get
The patch will enable the slider's indicator to get
visible always
visible on focus
visible never
visible on slider value change
Reviewers: raster, seoz
Subscribers: sachin.dev
Differential Revision: https://phab.enlightenment.org/D1558
Allow changing value of actionslider with keyboard. Make actionslider
focusable widget.
@feature
Conflicts:
config/default/base.src.in
config/mobile/base.src.in
config/standard/base.src.in
Summary: after popup layout refactoring, the popup object cant get evas event.
Test Plan:
1. added popup object.
2. key down event callback add for popup object.
3. run the elementary_test.
4. input some key on popup and check whether the registered function is executed or not.
Reviewers: seoz, eunue, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D1688
The items of an item is a list of Elm_Object_Item and not of Elm_Gen_Item.
Sorry @zmike ;-)
Fixes T1859
Another fix has been added in this commit, related to relative items.
elm_genlist_item_subitems_get has to return a list of Elm_Object_Item.
Because of the porting of the genlist item to Eo, this function returns
a list of Elm_Gen_Item.
Thanks to zmike and seoz for catching this.
Fixes T1859
Summary:
Using of dbus menu causes a weird exception that looks
like this (for example in function elm_win_main_menu_get(Evas_Object *win)):
> EINA: Data at address 0x0 is invalid. Replacing with zero page.
> mmap: Operation not permitted
> ERR<22270>:eina_mmap lib/eina/eina_mmap.c:110 _eina_mmap_safe_sigbus()
> Failed to mmap() /dev/zero in place of page. SIGBUS!!!
> Aborted (core dumped)
This issue appears because there is a lot of places where Elm_Object_Item is
used, but it should be Elm_Menu_Item_Data.
This issue could be reproduced with elementary_test:
1. run elementary test with dbus enabled.
2. find "Systray Item" button and click on it.
3. get SIGSEV in your console.
@fix
Reviewers: cedric, raster, seoz, Hermet
Reviewed By: Hermet
Subscribers: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1681
Summary:
Application do not change step size because only interface API is existed.
@feature
Test Plan: elementary_test -> scroller -> change step size
Reviewers: seoz, Hermet
Differential Revision: https://phab.enlightenment.org/D1677
Summary:
size_hint_align was used instead of evas_box's internal value for aligning
of internal items. Because of that layout functions of elm_box and evas_box
were incompatable
Fixed elm_box, els_box layout and widgets that used this behaviour.
@fix
Test Plan:
Run "elementary_test". All buttons should be left-aligned
"elm_box_align_set(tbx2, 0.0, 0.5);" (test.c:332)
Reviewers: cedric, Hermet, stefan_schmidt, seoz
Reviewed By: seoz
Subscribers: shilpasingh, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1512
This change is not simple because Elementary has not been built from the
first day to work with Eo. Code had to be adapted to fit the new design.
The del_pre that have not been replaced yet can return FALSE and
prevent deletion. For these classes, code modification has to be deeper
and will be done later.
Because of widget item design, it is hard to make it fit to Eo as it
should be:
- _eo_del_cb should have the callback pointer as data but pre_notify
function forces its storage into the item data because we need to be
able to call the cb before del is really triggered.
- only one cb is supported for an item, meaning replacing it would mean
we have to save the function pointer inside the item, delete the
callback with the previous function as data and then add the new
callback. Instead of it, we just add our own wrapper as Eo callback that
will invoke the function pointer stored in the item data.
Summary:
In some cases, elm_label doesn't calculate its min size if it is not resized from outside.
It is happened when only elm_label used with elm_label_line_wrap_set API.
The following APIs can change min size of the widget, so we can't skip the sizing_eval func.
elm_label_line_wrap_set
elm_label_line_width_set
elm_object_text_set -> _elm_label_elm_layout_text_set will be called.
@fix
Test Plan:
I put a change to test_notify.c for test.
elementary_test notify
-> click "top" button. -> You can't see elm_label without the patch.
Reviewers: woohyun, tasn, seoz
Reviewed By: seoz
Subscribers: herdsman
Differential Revision: https://phab.enlightenment.org/D1652
Summary:
Issue: elm_box_align_set APIs not working well
Solution: hint_set should not be called instead evas box align APIs
have to be used
@fix
Test Plan:
elementary test demo first page, though align is set as 0.0
0.5 it always shows as 0.5
Reviewers: Hermet, raster, seoz
Subscribers: rajeshps, govi
Differential Revision: https://phab.enlightenment.org/D1622
Summary:
Changing of styles for widget items isn't realized yet. This fix should
be presented to avoid segfaults when elm_object_item_style_set/get is calling
@fix
Reviewers: seoz, raster, cedric, Hermet
Reviewed By: Hermet
Subscribers: bluezery
Differential Revision: https://phab.enlightenment.org/D1595
Summary:
Because the "elm.swallow.event" part is used for internal needs of Panel widget
setting up or unsetting content of this part can break the behavior of this widget.
Due to the fact that this part is invisible and does not have any use cases for user
it seems acceptable to forbid changing of its content.
@fix
Reviewers: cedric, seoz, raster, Hermet
Reviewed By: Hermet
Subscribers: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1587
We do trigger an edje theme open during the first stage of quicklaunch as part of
config init apparently. So we better init or we will endup with some really bad
memory corruption.
Summary:
User application may call some fileselector APIs to configure fileselector instance.
And some of them may call _populate but only last request is needed.
However, T1663 raises that last request might be rejected with expansion option and
multiple requests of _populate.
It's because expansion mode do not allow next _populate until previous one is finished.
So, this patch fixes it via scheduling _populate instead of calling _populate() directly in APIs.
@fix
Maniphest Tasks: T1663
Several APIs are marked as not documented simply because the doxygen
documentation mentions a parameter named "foo" while the spelling in the
prototype is something like "fooh". An example correction is
- * @param fsize Finger size
+ * @param sz Finger size
Nothing very complicated and there are also a couple typo fixes I noticed
while going over the files.
In some cases, like having a drop target inside an inwin (looks like it
can be other containers too) can cause an infinite loop (as described in
the report). The reason for that is that while the drop target was added
when there was an X window available, the X window ws now gone, so the
non X path was being called which didn't have the code to remove the
item from the list being iterated. Yes, definition of spaghetti and
false assumptions.
Elm dnd/cnp need a massive overhaul, they are disgusting.
See the ticket for more information on the issue.
Fixes T1702