Summary:
Change requested by TAsn. Previuosly AT-SPI headers were kept private
and included directly into elementary source code. From now on,
AT-SPI headers can be included from Elementary.h public header, however
will be marked as beta APIs.
Commit includes following changes:
* include all atspi headers into new elm_interfaces.h header.
* marking all at-spi interfaces methods/properties as @protected.
* wrap all common headers with EFL_BETA_API_SUPPORT.
* make some common APIs visible in lib, by adding EAPI attribute
(if someone decides to use beta APIs).
Test Plan: out-off tree build with gcc, g++
Reviewers: tasn
Reviewed By: tasn
Subscribers: seoz, q66, kuuko
Maniphest Tasks: T1721
Differential Revision: https://phab.enlightenment.org/D1528
eo_add()'s counterpart is eo_del, not eo_unref. Regardless of that, some
objects were being double-deleted which spew out some eo errors. These
things should now be fixed.
bc6b6aa457 is the relevant EFL commit.
Summary:
If gengrid select mode is not ELM_OBJECT_SELECT_MODE_ALWAYS, ELM_OBJECT_SELECT_MODE_ALWAYS mode for
elm_genlist_item_select_mode was broken. In the item select routine, item mode(it->mode) was not checked.
So, I added the check routine there.
@fix
Test Plan: I revised the elementary_test code and tested with that.
Reviewers: raster, seoz
Reviewed By: seoz
Subscribers: SanghyeonLee, bluezery
Differential Revision: https://phab.enlightenment.org/D1372
Summary:
elm_widget calls _item_del_pre_hook of each widget and widget can
decide item deletion by return type. But gengrid and popup widget implemented
those _item_del_pre_hook function as a void type.
So this commit fixs the return types to Eina_Bool and changes gengrid widget to return EINA_FALSE when
the item wants to be deleted later.
And when the item wants to be deleted directly, it returns EINA_TRUE.
@fix
Test Plan: test in demo.
Reviewers: seoz, raster, bluezery
Subscribers: Hermet, jaehwan
Differential Revision: https://phab.enlightenment.org/D872
this was yet another thing broken by the mostly-unreviewed and untested widget item focus feature. it's still not completely fixed, since the reorder modes are broken, but at least it works for the general case again
@fix
@fix
To calc the position in a table you need to make the modulo of the col/row size, not the modulo on the x/y value
This unbreak the elm_gengrid_item_pos_get() function that was reporting wrong values
Summary:
Main purpose of exposing widget actions and keyboard shortcuts
is to allow accessibility clients to implement alternative methods
of GUI navigation.
Reviewers: z.kosinski
Reviewed By: z.kosinski
Subscribers: seoz
Differential Revision: https://phab.enlightenment.org/D1227
better - why?
1. no reliance on fnmatrch headers - have special enums for this so
fnmatch is an internal detail (casefole may not exist)
2. don't leak strduped strings - free them when done
3. have the same code for genlist and grid (dup for now until an
interface makes it the same search interface)
4. improve docs
5. get right @since version
6. use label get func in item class - providing a func won't work when
multiple items of multiple classes exist in the list
Summary: This function allows user to search for item in Gengrid.
Test Plan: elementary_test -to "Gengrid Item Search By Text"
Reviewers: seoz, singh.amitesh, Hermet, raster
Differential Revision: https://phab.enlightenment.org/D1178
Summary: First item of widget should be focused when focus comes to the widget for first time.
Test Plan:
elementary_test -to "Genlist Focus"
elementary_test -to "Gengrid Focus"
elementary_test -to "List Focus"
elementary_test -to "toolbar Focus"
Reviewers: seoz
Differential Revision: https://phab.enlightenment.org/D1135
Summary:
- Added Elm_Gengrid_Reorder_Type enum
- Added API elm_gengrid_reorder_type_set()
- Implemented the normal reorder type animation
- The old reorder type is changed to ELM_GENGRID_REORDER_TYPE_SWAP.
- ELM_GENGRID_REORDER_TYPE_NORMAL is the default reorder type.
Test Plan:
1. elementary_test->"Gengrid Focus"
2. Enable "Reorder Mode Enable"
3. Move the items by keys
@feature
Reviewers: raster, seoz
CC: seoz, chinmaya061, aryarockstar
Differential Revision: https://phab.enlightenment.org/D813
Summary:
The bug was there when reorder mode and sd->horizontal mode is enabled but item_loop_enable
is not set, then also the loop was occuring with right key event.
Test Plan: elementary_test -to "gengrid 2"
Reviewers: raster, seoz, eagleeye, SanghyeonLee
CC: seoz
Differential Revision: https://phab.enlightenment.org/D1121
Summary:
If item loop is enabled, the item moves infinitely in
horizontal manner (from right to left and from left to
right).
Need to implement:
-for reorder mode and horizontal mode.
@feature
DEPENDs On D841
Test Plan: elementary_test -to gengrid2
Reviewers: seoz, eagleeye, SanghyeonLee, raster
CC: seoz, raster
Differential Revision: https://phab.enlightenment.org/D842
Conflicts:
src/lib/elm_gengrid.c
Summary:
Added fixes for:
1.Normal mode: ELM_FOCUS_DOWN and ELM_FOCUS_UP
2.Horizontal mode: ELM_FOCUS_DOWN and ELM_FOCUS_UP
(i)
1|2|3
4|5|6
7|8|9
_elm_gengrid_item_edge_check for ELM_FOCUS_DOWN returns EINA_TRUE for item no.6.
It should not. Fixed this.
(ii)
1|2|3
4|5|6
7
_elm_gengrid_item_edge_check returns EINA_FALSE for ELM_FOCUS_DOWN
for item no. 5 and 6 but EINA_TRUE for item no. 7.
It should return EINA_TRUE for item no. 5 and 6 instead.
Fixed this.
(iii)
1|2|3
4|
_elm_gengrid_item_edge_check returned EINA_FALSE for ELM_FOCUS_UP
for item no. 3. Fixed this.
(iv)
1|4|7
2|5|
3|6|
Horizontal Mode: _elm_gengrid_item_edge_check returned EINA_FALSE
for ELM_FOCUS_DOWN for item no. 7. Fixed this.
(v)
1|4|7
2|5|
3|6|
Horizontal Mode: _elm_gengrid_item_edge_check returned EINA_FALSE
for ELM_FOCUS_UP for item no. 1. Fixed this.
Test Plan: elementary_test -to gengrid2
Reviewers: seoz, raster
CC: singh.amitesh, raster
Differential Revision: https://phab.enlightenment.org/D841
Conflicts:
src/lib/elm_gengrid.c
Reset the last_focused_item on _item_focus_set_hook.
This fixes the issue which sets the focus to the wrong item when the
focus is set by an API.
Reproduction step:
elementary_test -> genlist focus -> click an item (not the 2nd item) -> click "Focus 2nd
Item after 1.5 seconds" button.
Focus is not moved to the 2nd item.
@fix
Summary:
When gengrid item is reordered or deleted, gengrid didn't update item's position.
This Patch update item's position when item is placed. if middle of item deleted,
every item after the deleted one, will re-postion on _item_place function, so they
will be update there position well.
Test Plan:
modify test_gengrid grid_sel fuction to print there position. so when item selected,
they print there position and it works fine both horizontal and vertical.
Reviewers: bluezery, seoz, raster
Reviewed By: raster
CC: Hermet, chinmaya061
Differential Revision: https://phab.enlightenment.org/D855
Summary:
Fix to skip the item which is disabled and select the next item to the
disabled item
@fix
Reviewers: seoz, raster
CC: seoz, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D700
As widget and widget item can have different in_theme value (since
30cada369), we need to update in_theme value whenever the widget or
widget item get the focus.
Applied this logic to genlist, gengrid, toolbar first.
List focus is not working well at the moment.
This fixes small focus highlight on the left top corner of genlist
when the genlist scroller is clicked before the genlist is focused.
Special thanks to zmike for the report.
elm_config_focus_auto_scroll_bring_in_enabled_get/set()
->
elm_config_focus_autoscroll_mode_get/set()
The main reason is that bring_in_enabled_get/set() APIs are too restricted
and thus not flexible. I got more requirements for the focus autoscrolling
such as none, wholely visible not just bring_in and show. So it is correct
to add mode_set/get() APIs for the focus auto scrolling.
Thanks god, we've found this before the release :)
@feature
This reverts commit 377179bdaf84aa1a86621cdfa64ed43613ab9d45.
The main claim of https://phab.enlightenment.org/T1205 was fixed in
the previous commit 30cada369. This code will be modifed again in the
next commit due to the api change during development life cycle.
Note: do not blindly revert this commit if you have any problem with
widget item focus. This commit is not related to any fundamental cause
of the issues. If you have a problem, please contact me first.
seojuyung2@gmail.com or SeoZ on IRC.
Thanks.
This was introduced during 1.10 development phase but this changed the
default focus behavior and got a lot of complaints. (especially from
discomfitor)
So I would like to comment this out now and make it optional on 1.11
by keeping the default behavior.
Summary: Genlist/gengrid object geometry was used before this patch but using the pan object geometry is more correct. This can be reproduced when the size of "elm.swallow.content" part is smaller then the size of scroller object, focus animtaion on items is jerky.
Reviewers: raster, seoz, singh.amitesh
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D818
This reverts commit b8549f3e83a8592145a50085182583adead2c74e.
this build system is bad and whoever did the eo integration should not feel pleased with themselves.
this.is.BROOOOOOOOOOOOOOOKEEEEEEEEEEEEEEEEEEENNNNNNNNNNNNNNNNNNNNNNNNNNNNN.
SERIOUSLY.
you cannot go scrolling all over the place in every widget that has a scroller just because the widget gets focus. what user wants that? no user anywhere, under any circumstances, ever, in all of history.
if you dare to put this back in, I will continue to remove it for the rest of eternity until it never, ever scrolls in any unwanted case. the focused item doesn't have to always be in the viewport, and should never be moved into the viewport [[[[[[[ except to maintain an already-existing position inside the viewport ]]]]]]]
too much of my time wasted on this stupid "feature" which should have been MUCH more thoroughly tested and reviewed before it was merged.
T1205 STILL NOT FIXED
Summary:
Earlier pos was getting used for the item coordinates. To support other Ecore_Pos_Map variations, frame variable should be used.
@fix
Test Plan:
elementary_test-> "Gengrid Focus". Enable reorder mode and use keys to move
the focused item.
Reviewers: raster, seoz
Reviewed By: seoz
CC: seoz
Differential Revision: https://phab.enlightenment.org/D811
Summary:
The basic idea is from Abhinandan Aryadipta and I implemented this in
upstream.
Special thanks to JackDanielZ for eolian madness.
@feature
Reviewers: JackDanielZ
Differential Revision: https://phab.enlightenment.org/D803