Summary: This patch fixed build warnings in calendar, colorselector and diskselector.
Test Plan: make
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D685
Summary:
problem:
1) elementary_test -> entry -> close entry window
2) type mismatch warning is shown on console as below
ERR<19427>:eo lib/eo/eo.c:342 _eo_dov_internal() in elm_win.eo.c:2067: Can't execute function Elm_Win:ELM_OBJ_WIN_SUB_ID_XWINDOW_GET (op 0x167) for class 'Elm_Entry'. Aborting.
solution:
check top object type before invoke elm_win_xwindow_get()/elm_wl_window_get().
if it's not a window, find window id by using ecore_evas APIs.
Fixes T1141
Test Plan: elementary_test -> entry -> close entry window -> check console
Reviewers: raster, seoz, uartie
Reviewed By: raster
CC: seoz
Maniphest Tasks: T1141
Differential Revision: https://phab.enlightenment.org/D684
to fix a window position bug, window had to track actual geometry and
not alwasy be at 0,0. but this means hover, that is getting geometry
of the win object sometimes to figure out hover coverage area, and
thus now x, y are not 0, 0 anymore...
run in drm.
@feature: This adds an ELM_ENGINE=drm option so that elementary apps
can be run 'standalone' inside drm without any window managers,
compositors, etc
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
apply key binding to 4 widgets
this revision is only for reviewing
I'll send 4 seperate patches after review is done.
Test Plan: None
Reviewers: Hermet, seoz, raster
Differential Revision: https://phab.enlightenment.org/D678
Summary:
When window is rotated, the drag position is not updated.
It makes dnd cannot find out correct dropable objects.
This patch updates the drag position when window is rotated, so that dnd can find correct dropable objects.
@fix
P/S: This patch is originated from JackDanielZ (Daniel Zaoui). I update it to conform with lastest code.
Reviewers: JackDanielZ, raster
Reviewed By: JackDanielZ
CC: woohyun
Differential Revision: https://phab.enlightenment.org/D680
As the comment in the code explains, when ctxpopup is shown, it's giving
focus to the inner list, which immediately decides to select the first
of its items, calling, in the process, its selection callback. This has
the very unfortunate, annoying and uselessly broken effect of making the
popup never showing up, and instead triggering the first action in it.
Since this behavior of "select first item on focus" seems to be the path
taken in other places, I'm letting the people that know what they want
to do about that figure out how to fix it properly.
We are never going to check on foundflag here because we return
right after setting it. Clear the code up a bit by not setting it
at all.
Found by Clang scan-build
When focus highlight animation is enabled, focus highlight can be
resized only by animator inside edje. So, if there is no animation
by some reasons, focus highlight just keeps its original.
@fix
Summary:
Issue: longpress timer callback if it gets called after widget deletion, crash happens.
Solution: delete the long press timer in smart del function.
Signed-off by: Kumar Navneet (k.navneet@samsung.com)
Signed-off by: Shilpa Singh (shilpa.singh@samsung.com)
Test Plan: When we tap inc/dec fast and delete the widget immediately, crash might happen.
Reviewers: raster, seoz, Hermet
Reviewed By: Hermet
CC: govi, rajeshps
Differential Revision: https://phab.enlightenment.org/D669
@fix
This reverts commit f8d46bfca2a9285b45ec76062cd85b69dc86a7db.
don't push any change except bug fix in window merge step 2
this patch will be pushed again.
Summary:
This patch makes func of Elm_Action struct return a Eina_Bool value.
The function had a return type of void,
so could not check if the function succeeds or fails.
Test Plan: None
Reviewers: Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D666
this now has elm themes have a version number. we start at 110 (just
matches efl/elm 1.10 that this will be released in) and this means
theme files that do not claim a recent enough version (or claim no
version at all) will not load/be used. default should/would always
provide this so you always will fall back.
Summary:
If item loop feature is enabled, item is moved infinitely.
1. add new widget api - item_loop_enabled
2. add smart event using new config - elm_list.c
3. add demo - test_list.c/list_focus
Reviewers: seoz, woohyun, raster, jaehwan, Hermet
CC: singh.amitesh, c
Differential Revision: https://phab.enlightenment.org/D619
Summary:
It is implementation of focus_direction method for gengrid widget.
We need it in our project. We must service focus by
directions and we want to use gengrid widget. Additionally we must
support changing focus by keyboard (TV remote).
Unfortunately gengrid hasn't default implementation to present its
sub-objects as candidates for focus direction.
Our solution can search for focusable sub-objects (from realized items)
and change then focused and last selected variables in gengrid. If this
candidate wins then object will receive focus.
Reviewers: cedric, raster
CC: raster, seoz
Differential Revision: https://phab.enlightenment.org/D449
Summary:
Also
- corrected the code for getting the toolbar item from the list.
- added a test for it.
Test Plan: elementary_test -> "Toolbar Focus"
Reviewers: seoz
CC: seoz
Differential Revision: https://phab.enlightenment.org/D653
Summary: After eolian integration component interface declaration was moved to separate ".eo" file. However its implemetation was not. This patch adds new "elm_interface_atspi_compoment.c" with interface implementation.
Reviewers: raster, seoz, JackDanielZ
Reviewed By: JackDanielZ
Differential Revision: https://phab.enlightenment.org/D648
codes.
- Added a check for focus highlight enable status before calling focus
signal to edje.
- Used obj instead of WIDGET(it) because that is used many times.
On smart_on_focus, genlist calls elm_object_item_focus_set. That API
internally calls _elm_widget_focus_highlight_start() but we need to call
this function once again because of the weird focus behavior.
Condition: enable focus highlight and focus highlight animation.
The first _elm_widget_focus_highlight_start() triggers
_elm_win_focus_highlight_simple_setup, and second call triggers
_elm_win_focus_highlight_anim_setup. But the first call does not show
the focus highlight object properly.
Reproduction scenario:
1. elementary_test -> genlist focus
2. click an item
3. scroll the genlist and move the focused item away from the viewport.
4. move the mouse pointer to another window
5. move the mouse pointer to the genlist window back again.
6. focus highlight object is now shown correctly.
By the way, this bug will be hidden when the focus highlight never
scrolls away. I will add this feature soon.
This patch is a gengrid version of genlist patch cc827fef6.
Now, gengrid does not autoscroll to last focused/selected item when the gengrid
is focused. It tries to find the nearest visible item instead of the
last focused/selected item.
This patch is a list version of genlist patch cc827fef6.
Now, list does not autoscroll to last focused/selected item when the list
is focused. It tries to find the nearest visible item instead of the
last focused/selected item.
event.
When you use mouse(touch) that triggers mouse up event, the
focus/selection movement is done by mouse up callback, so don't need to
handle on_focus event when mouse(touch) is used.
You can reproduce the bug by the following step.
1. launch elementary_test -> list focus, genlist focus, gengrid focus
2. focus an item (by touch, by key)
3. move focus to left button (by touch, by key)
4. click an another item (by touch)
5. previously focused item will be unfocused again even it was unfocused
at step #3/
Special thanks to Amitesh for the report.
Focus is moved by mouse click by default. This patch makes moving focus
by mouse_in optionally by configuration and API. Widget item focus
movement is not applied yet. Need to do that as well.
- configuration: "focus_move_policy"
- API: elm_config_focus_move_policy_set/get
- enum
ELM_FOCUS_MOVE_POLICY_CLICK
ELM_FOCUS_MOVE_POLICY_IN
@feature
This commit is a gengrid version of 7d43205a0.
Now it works so much better than before.
- Fixed the separate behavior between selected item and focused item.
- Fixed wrong focus set when gengrid is focused first time by mouse.
- Fixed wrong scroll movement when the focus highlight is disabled.
- Item selection sets that item focused. So when an item is selected, do
not need to set the focus again.
Now it works so much better than before.
- Fixed the separate behavior between selected item and focused item.
- Fixed wrong focus set when genlist is focused first time by mouse.
- Fixed wrong scroll movement when the focus highlight is disabled.
- Item selection sets that item focused. So when an item is selected, do
not need to set the focus again.
- Fixed wrong call for _elm_genlist_item_content_focus_set on deleted
item.
Item selection also sets the focus automatically so do not need to set
focus twice. This code needs to be changed later again when the
selection by key arrow becomes optional.
of highlighted_item.
highlighted_item will be NULL after the first click and it is not
useful. To avoid first item focus -> first item unfocus -> clicked
item focus on the first focus to list widget, this patch is needed.
Thanks for the report Ceolin.
Summary:
Currently there is a overlap issue in naviframe in case of multiple push.
This issue will occur if the naviframe edc implements push,defered for
the item transition. The issue occurs becoz of cur,push,deffered is not being
called to the current and intermediate items during multiple item push.
To fix the above issue pass the data as current item that needs to be
out of the aviframe during creating the animator job.
@fix
Reviewers: Jaehyun, seoz, Hermet
Reviewed By: Hermet
CC: raster
Differential Revision: https://phab.enlightenment.org/D645
Summary: Since explanations of tooltip's APIs are scattered in header or source code, these needs to be cleared up.
Reviewers: seoz, Hermet, woohyun, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D644
Summary:
Selection handlers' position are not updated when entry is scrolled.
You can check on elementary_test -> Entry 3 (or Entry 4 which is scrollable) -> Select some text -> Scroll entry and see.
This patch is submitted to fix this bug. It update selection handlers' position when entry is scrolled and hide them if needed.
@fix
Reviewers: raster
Differential Revision: https://phab.enlightenment.org/D640
Summary:
This patch adds a field "no_string" in key binding data structure.
It is necessary for checking "string" field in evas key down event.
Test Plan: None
Reviewers: Hermet, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D641
CID 1193237
Before Eolian, a Eina_List ** was used and checking ret value was
mandatory. Now that we have a normal Eina_List *, we don't need to check
that anymore.
When focus is changed, focus highlight animation should be started
from the original position of focus highlight object. Not from the
previous focused object's position.
Summary:
Type matching for drag and drop targets does not consider drop target objects' types.
For example, we have drag object which provides image type and drop target object which only accepts text type.
For current code, in _x11_dnd_drop function, we only check savedtypes.types with _x11_atoms.
As result, we allows the image to be dropped into text. You can refer to the test in D617.
This path fixes this issue by matching drag object's type with drop targets' types to find suitable one.
@fix
Reviewers: raster, JackDanielZ, seoz, woohyun
Differential Revision: https://phab.enlightenment.org/D628
Now, genlist does not autoscroll to last focused/selected item when the genlist
is focused. It tries to find the nearest visible item instead of the
last focused/selected item.
If the type returned by evas_object_type_get is "", no object will be
created. There is no reason why unref would be invoked.
It removes all the bad prints in accessibility tests about obj_id NULL.
@fix
Summary:
Currenlty loading a style that is not present in the system hits the worst case path in elm_theme as it searches through all hirarchy before
reporting that the style is not there. if those styles requested frequently it will be a overhead as it will goes through all the theme files again.
To avoid that I have added a cache which will keep track of the styles whose loading were not sucessfull so that for future request we can simply check the
cache before looking into the hirarchy of theme files.
Reviewers: seoz, raster
Reviewed By: raster
CC: raster
Differential Revision: https://phab.enlightenment.org/D601
Due to Eolian auto-generation, legacy parameters are directly
transferred to Eo functions without conversion.
In this case, is_next was Eina_Bool in legacy and Eina_Bool * in Eo.
The logic code was expecting a pointer but was receiving a Eina_Bool.
The fix consists in giving the logic code the Eina_Bool instead of the
pointer.
@fix
On a list that have not received focus yet a mouse down gives the focus
for the list (that gives the focus for the first item) and the mouse
up the item is selected and receive the focus.
The problem: if the list is scrolled the focus given for the
first item makes the list scroll to the top and not for the item
selected by the user.
If the list is deleted/recteated the _elm_list_item_focused/unfocused() is
called and the sd pointer is null.
This unbreak all my apps that use elm_list
This deferred recalc job is considered for wrap mode.
if the wrap mode is disabled, this job should be discarded.
since the wrap mode is enabled in default.
the job would be performed even the wrap mode was changed later.
@fix.
There was code to silence errors. Removing that exposed a lot of errors.
I fixed them as well. In general, elm_widget functions should only be called
on elm_widgets...
More of commit 5ac398b156e8fb0aa44c6cfe8a2b113eb7229fbf
There was code to silence errors. Removing that exposed a lot of errors.
I fixed them as well. In general, elm_widget functions should only be called
on elm_widgets...
@fix.
With the introduction of the patch 3628a8c4ea2485ee7ee5a81cfd4e0f0fe62b10d6,
it is possible to highlight focused Elm_List and Elm_Genlistenlist items.
However, this feature does not work correctly if one wants to create a custom
highlight theme for Elm_List items.
The whole problem was happening, because the function
_elm_widget_item_highlight_in_theme() was being called in a incorrect
location. This function must be called at _items_fix(), because
there the Elm_List already set the item theme and then it's possible
to check if the one wants a custom highlight or not.
Summary:
Added item_push_helper function, so that both item_push as well as item_promote
will reuse the same functionality.
Reviewers: seoz, Hermet, Jaehyun
Differential Revision: https://phab.enlightenment.org/D627
compatibility.
- "elm.drag_button,mouse,up" -> "elm,action,up,drag_button"
- "elm.drag_button,mouse,down" -> "elm,action,down,drag_button"
- "elm.drag_button,mouse,move" -> "elm,action,move,drag_button"
This is not the target of backport.
@fix
Summary:
The name of the signal in edc (elm,right,mouse,down) was
different from c (elm.right,mouse,down). After changed
the signal name, mouse event is working as expected.
Test Plan: elementary_test -to actionslider (click right left & center by mouse)
Reviewers: seoz, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D618
- Changed wrong name alpha_bg to event_block_rect.
- Added more comments to the smart data variable.
- Changed wrong function name _tray_alpha_bg_create to
_event_block_rect_update.
Added one more internal variable to reduce unnecessary pointer
redirection too much.
Elm_Genlist_Smart_Data *sd is used many times in those functions but it
was always redirected from psd->wsd. I just cut down the step and made
the code more readable and consistent with other lines of code.
psd->wsd --> sd
focus highlight is clipped by the clipper of focus target object.
But many of the times, this clipping looks weird so I made this
configurable.
This fixes T1056 but as this fix was done by adding a new feature, this
patch would not be backported.
@feature
Summary:
Implemented the following function
1. _item_unfocused
2. _item_focused
3. _item_focus_up
4. _item_focus_down
5. _item_focus_left : Currently this function return EINA_FALSE. It means focus will move out of genlist to the another left widget
6. _item_focus_right : Currently this function return EINA_FALSE. It means focus will move out of genlist to the right widget
7. _item_focus_set_hook
8. _item_focus_get_hook
9. _elm_genlist_focus_highlight_geometry_get
10. _elm_genlist_focused_item_get
11. Changes in the smart_event, smart_on_focus, pan_smart_calculate, mouse up callback.
Currently selected/focus logic are both present in the smart_event function and its
will be separate out.
Reviewers: seoz, woohyun
CC: singh.amitesh
Differential Revision: https://phab.enlightenment.org/D558
Conflicts:
src/lib/elm_genlist.c
this isn't a feature or a bug fix - it's a code logic improvement that
also uses an ELM_DISPLAY environment variablew to choose a specific
engine list, and still uses ELM_ENGINE and preferred engine. this
makes it easy to add new api to prefer accel or not etc.