Summary:
After item looping, Gengrid item was getting selected.
So, checked for item_select_on_focus_disable flag and
accordingly set focus state or selected state of Gengrid item.
@fix
Signed-off-by: Yeshwanth Reddivari <r.yeshwanth@samsung.com>
Reviewers: raster, Hermet, singh.amitesh, SanghyeonLee
Subscribers: sachin.dev
Differential Revision: https://phab.enlightenment.org/D2937
In the widget code, focus origin is added. It can know
the focus movement is originated by which action.
The widgets can choose the item focus moves to last focused item
or geometrically nearby item by focus origin.
In gengrid, focus moves to last focused item if focus origin is
ELM_FOCUS_REVERT. It moves to nearby item if focus origin is from
ELM_FOCUS_UP to ELM_FOCUS_LEFT.
TODO: widgets have items should add the direction feature if it
want the focus to move to nearby item.
@feature
When the focus is move to the object in scroller, it is scrolled
to show the focus region as a widget.
If the focus region want to be shown as an item,
set the mode ELM_FOCUS_REGION_SHOW_ITEM.
If then, it will be scrolled as an item.
TODO: Widgets have items are added on_focus_region function.
@feature
This commit is related to 4d553d2bcf2157053433994ca3facb56bd670da9.
It doesn't work if item_select_on_focus_disable is 1.
So _item_focus_down is changed like _item_single_select_down.
@fix
Summary:
do not return yet in case of edge items if looping
is disabled. try to select/focus last item.
Signed-off-by: Jyotiprakash Sahoo <jp.sahoo@samsung.com>
@fix
Test Plan: elementary_test -> Gengrid 2
Reviewers: raster, singh.amitesh, cedric, SanghyeonLee
Reviewed By: SanghyeonLee
Differential Revision: https://phab.enlightenment.org/D2865
Summary:
elm_list, elm_genlist widgets are handle focus highlight
relying on only elm_widget_focus_highlight_enabled_get() API.
The API is not considered about auto focus highlight feature.
So, we need to check a flag for auto focus from _elm_config.
It resolves T2555.
@fix
Test Plan: elementary_test -> List Focus or Genlist Focus
Reviewers: raster, cedric, SanghyeonLee, singh.amitesh
Reviewed By: SanghyeonLee, singh.amitesh
Maniphest Tasks: T2555
Differential Revision: https://phab.enlightenment.org/D2914
Summary: Issue: Gengrid item comes over group item on click.
Test Plan:
Run elementary test.
Open GenGrid Group. Click on any item which slightly overlap with group item.
Item comes over group item.
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: rajeshps, govi, poornima.srinivasan, shilpasingh
Differential Revision: https://phab.enlightenment.org/D2589
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
elm_gengrid_item_update perform item_unrealize/item_realize/item_place itself.
But when gengrid items are added and not calculated yet,
caller want to get item's index after execute elm_gengrid_item_update,
return value is wrong because item_place update it's position in not-updated item's x and y.
to prevent this,
if item position is already updated,
do not updates position in item place.
additionally,
I fixed gengrid item prepend wrong posiiton update.
gengrid item position start from 1 not 0, so item_position_update also must be started from 1.
@fix
Test Plan:
To test this scenario,
need to fix src/bin/test_gengrid.c first.
1. add below codes in bottom of _after_bt_clicked(line 703).
```
Elm_Object_Item *it = elm_gengrid_item_next_get(id->item);
printf("before update efl item[%p], index [%d]\n",id->item,elm_gengrid_item_index_get(it));
elm_gengrid_item_update(it);
printf("after update efl item[%p], index [%d]\n",id->item,elm_gengrid_item_index_get(it));
```
2. execute elementary_test and go to gengrid2 test.
3. add 3 items and select 2nd item then add new item by insert after.
4. you can see index is changed wrong value after item_update executed.
after add fallback code in item_update,
index is returned same value even after item_update execusion.
Reviewers: raster, Hermet, seoz, jaehwan
Subscribers: anand.km, eagleeye, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D2616
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Elementary widgets have different behavior of using the mouse, they need to be unified.
- swipe : without checking on hold, just checking drag state.
- longpress : after longpress, _item_unhighlight(), _item_unselect() are called.
- select : when the mouse pointer leaves item area, _item_unhighlight(), _item_unselect() are called.
First, apply this commit https://phab.enlightenment.org/D2550
Test Plan: elementary_test -> list
Reviewers: seoz, Hermet, CHAN, woohyun, kimcinoo, jaehwan, SanghyeonLee, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D2622
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
item_unselect check it->select status, so when item highlighted but not selected,
item highlight is remaining even after unselect_cb is called.
And item_select and item_highlight are separated, but item_unselect and item_unhighlight are mixed.
so divide them, too.
This patch will solve upon problem.
Reviewers: seoz, woohyun, Hermet, CHAN, raster, SanghyeonLee, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D2653
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
gengrid realize/unrealize items each smart calculation if their posiiton is updated.
This concept will be occurred useless view object creation and deletion.
So instead of delete items in unrealize function, push item cache into cache list,
and pop item cache from cache list in realize function to reuse item view object
more efficiently.
the cache concept is already implemented in genlist widget and this patch is improved
item cache of genlist cache.
@feature
```
NOTICE: This patch is written under the D2561 Patch which add elm_gengrid_item_fields_update.
So it must submitted after D2561.
```
Test Plan:
I've tested below three cases,
1. tested ith this patch in elementary_test and checked all gengrid features are working properly.
2. tested with changing CACHE_MAX to another value which is set 40 in default
and checked all gengrid features are working properly.
3. tested with set it->item->nocache true, and checked cache is never generated
and checked all gengrid features are working properly.
Reviewers: raster, Hermet, seoz, jaehwan, singh.amitesh
Subscribers: eagleeye, singh.amitesh, Jaehyun
Differential Revision: https://phab.enlightenment.org/D2641
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
gengrid focus state recovering in item_realize is duplicated.
remove unnecessary lines.
you can find same signal emit codes under line 1018.
Test Plan: test elemetary test gengrid focus highight show correctly after code merged.
Reviewers: raster, Hermet, seoz, jaehwan, cedric
Reviewed By: cedric
Subscribers: singh.amitesh, eagleeye
Differential Revision: https://phab.enlightenment.org/D2656
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Below bugs are exist in gengrid widget when use horizontal mode and mirrored set.
1. Gengrid item is placed wrong position when mirrored set.
Current calulation for mirroring in _item_place only consider pan object positions.
if widget is mirrored, item should be placed opposited position so object x position must be
consider in mirroring calculation also.
2. Gengrid scroll(pan) minimum size is returned wrong value when mirroed set.
As the result of 1's calculation present oposite position of items, so align also reversed when mirrored.
but current gengrid didn't change align x so minimum size is return wrong value
and scroller expanded wrong direction.
@fix
Test Plan:
1. run elementary_test and set mirroring On
2. run Gengrid2 in elementary_test
3. see how items are placed by push append button repeatly.
4. see scroller shows correct position and items.
5. change usr/bin/test_gengrid.c to set another align value on gengrid and test again.
Reviewers: raster, seoz, Hermet, jaehwan
Subscribers: Jaehyun, anand.km, eagleeye, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D2553
Summary:
Updated gengrid to move item selection in 'vertical' mode to the last
item, when currently selected item is not in the last row. As per the
original behaviour, on moving down from such an item, it takes the
focus out of the gengrid widget. Now it is updated to go to the last
item (in last row), and then on further pressing down, focus comes
out of gengrid.
This is something similar to what happens in other UI systems like in
Ubuntu and Windows, when pressing down on (n-1)th row, the last item
in the nth row gets focused.
Signed-off-by: Vaibhav Gupta <g.vaibhav1@samsung.com>
Reviewers: Hermet, SanghyeonLee, raster
Reviewed By: raster
Subscribers: sachin.dev, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D2418
when insert a new item before/after an item, the relative item should not be NULL.
this patch fixes naviframe, gengrid, genlist, list, and toolbar.
@fix
elm_interface_atspi_widget object was previously used to implement
atspi features on top of elm_widget object. However such inheritance
obfuscates a design, so atspi features implementation was moved directly
into elm_widget code.
This commit is related to 260cdd6150d567fcee8d1afaf690e4b90cd16a2b.
When unrealized item is focused, edje object is not exist,
so genlist cannot read the focus highlight information from edje object.
Therefore, when the item is realized, check the item is focused or not and
need to update focus highlight.
Summary:
When unrealized item is focused, edje object is not exist,
so genlist cannot read the focus highlight information from edje object.
Therefore, when the item is realized, check the item is focused or not and
need to update focus highlight.
@fix
Test Plan: change edc for supporting focus highlight in edc, and set focus on unrealized items.
Reviewers: raster, seoz, jaehwan
Differential Revision: https://phab.enlightenment.org/D2128
Summary:
When an item is realized, select/disable/expand signal emission to the view object of an item was handled correctly,but there are no updating code for focus state.
@fix
Test Plan: tested by editing genlist/genlist item edc to react on elm,state,focused and move scroll signals to unrealized/realized item again.
Reviewers: raster, seoz
Reviewed By: seoz
Subscribers: eunue
Differential Revision: https://phab.enlightenment.org/D2024
there was no way to select an item with key input on ELM_ITEM_SELECT_ON_FOCUS_DISABLE mode.
this patch enables select and multi select with enter/space key input.
@fix
Summary:
Eina_List from elm_gengrid_realized_items_get must be freed by caller,
but elm_gengrid_realized_items_update doesn't free Eina_List.
So memory leak is happens.
@fix
Test Plan: Call elm_gengrid_realized_items_update repeatly and check memory share increase.
Reviewers: raster, seoz
Differential Revision: https://phab.enlightenment.org/D1903
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:
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:
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