Summary: Load a map theme with a style to support customized style
@fix
Reviewers: Hermet
Reviewed By: Hermet
CC: seoz
Differential Revision: https://phab.enlightenment.org/D845
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.
Fixing this issue is not trivial and will bring another issues like crashing.
So it is better to fix this in a development phase by refactoring list.
To fix this issue, the following are needed:
1. it->walking concept should be adopted instead of using just sd->walking.
sd->walking was introduced in beb418d6
2. elm_widget_item_del() should be called instead of the combination of
_elm_list_item_free() + elm_widget_item_free()
This was introduced in f343011d
This fixes variable initialize problems related to focus. This can be
reproduced when you enable focus highlight/animation and reuse
elm_list by clearing it.
This problem occurred because list item del pre is never been called.
This bug will be addressed in a next commit.
Unified the local variable name to ret if the ret is a return value of
another content_unset calls.
- Evas_Object *int_ret --> Evas_Object *ret
- Evas_Object *int_content --> Evas_Object *ret
- Evas_Object *content --> Evas_Object *ret
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
Summary: Name of that function is not proper in my opinion. Please consider that revision.
Reviewers: raster, seoz, bluezery, stanluk, jaehwan, kimcinoo
Reviewed By: seoz
Differential Revision: https://phab.enlightenment.org/D827
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 sending data used # character, it is not compatible with other apps, so we should change it.
Change sending data to use newline character to be compatible with other apps, able to correctly drag to other apps like EFM, chrome, ...
Reviewers: JackDanielZ, seoz, raster, woohyun
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D751
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
Summary:
This is based on bb1e8afd.
@feature
Test Plan: elementary_test->"Gengrid Focus"
Reviewers: seoz, raster
CC: seoz
Differential Revision: https://phab.enlightenment.org/D702
Summary: This was missed in 43eb52e159.
Test Plan:
elementary_test->"Gengrid Focus" and enable "reorder mode" by clicking "redorder mode enable" checkbox.
Move the items by direction keys.
Reviewers: raster, seoz
Reviewed By: seoz
CC: seoz
Differential Revision: https://phab.enlightenment.org/D801
elm_gengrid.c: In function '_item_move_cb':
elm_gengrid.c:2084:19: warning: declaration of 'y1' shadows a global
declaration [-Wshadow]
elm_gengrid.c: In function '_swap_items':
elm_gengrid.c:2136:19: warning: declaration of 'y1' shadows a global
declaration [-Wshadow]
I don't know why this was added, but it breaks the ability to set focus on any widgets at all under some circumstances. it also is nonsensical since you should never need to set focus while selecting because:
* you are selecting with the mouse button, thereby having previously triggered focus from the mouse click
* you are selecting using api, in which case there's a config option to allow retaining selection which is also conceptually broken by this behavior
@fix
since we're not changing broken default behavior in edje_cc, all newly-compiled .edj files with min: 1 X are now possibly (almost definitely) broken. update text descriptions in other themes as necessary
Summary:
Moved the construction of selection handles to _update_selection_handler in order to
reduce the cost of construction of elm_entry little bit.
Reviewers: thiepha, Hermet, seoz, raster
CC: seoz, raster
Differential Revision: https://phab.enlightenment.org/D756
Summary:
Previously, previous view was just shown by evas_object_show and hidden by evas_object_hide.
Now, "elm,state,visible" and "elm,state,invisible" signals are emitted to enable application to do in edc what they want when each view is shown/hidden.
Reviewers: Hermet
CC: raster
Differential Revision: https://phab.enlightenment.org/D785
Summary:
- Added two APIs elm_gengrid_reorder_mode_start/stop
- Add two smart callbacks
- "item,reorder,anim,start" - This is called when a gengrid item movement
has just started by keys in reorder mode.
- "item,reorder,anim,stop" - This is called when a gengrid item movement just
stopped in reorder mode.
@feature
Test Plan: elementary_test->Gengrid Focus
Reviewers: raster, seoz, SanghyeonLee
CC: seoz
Differential Revision: https://phab.enlightenment.org/D723
First on_focus call should consider focus highlight enable status and
do the different job according to that.
This can be tested in "genlist 7" and "genlist focus" examples in
elementary_test.
The needed header was not packaged and thus made distcheck fail. I put
it into the unstable headers because I'm not sure if they are considered
stable yet. If this is the case please let us know so we can move it over.
elm_win_screen_size_get() is broken for this use case since the tooltip actually needs the full xinerama screen geometry, which is the geometry of the root window and NOT the current screen
@fix
Summary:
If window is rotated, the drag window position is incorrect.
In drag start, the drag window is placed in incorrect position if main window is rotated.
Fix: Update drag window according to window rotation.
@fix
Reviewers: JackDanielZ, raster
Reviewed By: raster
CC: woohyun, seoz
Differential Revision: https://phab.enlightenment.org/D746
Summary:
boundary check of _elm_scroll_wanted_coordinates_update() is wrong.
boundary was checked with assumption that 0, 0 is top, left
however, 0, 0 could be different according to usages, in case of gengrid, 0, 0 was center left not top left)
Do not assume the min/max value, but use pan min/max value for boundary check
Fixes T1092
Test Plan: elementary_test -> grid -> uncheck multi select mode -> select first item -> click bring in -> resize window
Reviewers: raster, woohyun, seoz, zmike
CC: seoz
Maniphest Tasks: T1092
Differential Revision: https://phab.enlightenment.org/D720
Summary:
after I drag by using scrollbar, if I resize window, the scroller position was moved to coordication before dragging.
invoke _elm_scroll_wanted_coordinates_update() after position setting in _elm_scroll_scroll_bar_read_and_update();
@fix
Test Plan: elementary_test -> drag scroller to center -> resize window -> scroller shouldn't go back to top
Reviewers: raster, woohyun, seoz
CC: seoz, Hermet
Differential Revision: https://phab.enlightenment.org/D722
Summary:
Allow to create ATSPI aware objects only by attaching Atspi interface to
Eo object. Apply protected rule to all methods, properties which should
not be available to app developer. Remove public atspi header from Elementary.h.
Make Elm_Widget inherit from Atspi interfaces, Elm_Win inherits additional
Atspi_Window interface.
Unified file names - all atspi related objects/interfaces can be found under
elm_atspi_*
and elm_interface_atspi_*.
Test Plan:
build&install, out-off tree example compilation with gcc and g++,
Orca screen reader tests on Ubuntu 12.04.
Reviewers: raster, seoz, tasn, JackDanielZ
Differential Revision: https://phab.enlightenment.org/D718
Summary:
Issue: As entire scroller edje co-ordinates was being taken instead of the actual viewport value,
if in scroller edje more parts are added apart from just "elm.swallow.content", then the viewport value
set will be wrong. hence the selection handlers will not hide when they have to hide.
solution: Instead of taking scroller edje's geometry, get the actual viewport values.
To get viewport x,y a new scrollable interface is also added.
signed-off by: Shilpa Singh <shilpa.singh@samsung.com>
@fix
Test Plan: Selection handlers have to hide correctly when the text is scrolled in a scrolled entry, if the scroller edc of entry has more parts added other than elm.swallow.content, then when we scroll the selection handlers are not hidden correctly.
Reviewers: jaehwan, woohyun, seoz, Hermet, raster
CC: govi, rajeshps, thiepha
Differential Revision: https://phab.enlightenment.org/D674
Summary:
This patch adds multibuttonentry key binding info into config files.
Multibuttonentry has some issues in event handling so not suitable for key binding yet.
So, added key binding info first to upgrade config version.
Test Plan: None
Reviewers: Hermet, raster
Differential Revision: https://phab.enlightenment.org/D767
Summary:
This patch removes unnecessary codes.
There is no need to check key value in case of key up event,
since any other key down event except direction keys will cancel sliding.
Instead, hide popup if the popup is visible at that point.
Test Plan: None
Reviewers: Hermet, raster
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D760
Summary:
Every elementary widget's action is triggered by key down event except multibuttonentry.
There's no reason why focus move and deletion should happen on key up in multibuttonentry.
This patch modifies _layout_key_up_cb into _layout_key_down_cb.
Test Plan: None
Reviewers: raster, Hermet, seoz, jpeg
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D755
Summary: Crash occured when config was reloaded and hash data become invalid.
Reviewers: raster, seoz, Hermet
Differential Revision: https://phab.enlightenment.org/D750
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Summary:
The original code was missing
- null check of sd->box
- event_flag value set
for previous and next focus move.
@fix
Test Plan: None
Reviewers: raster, seoz, Hermet
Differential Revision: https://phab.enlightenment.org/D753
Summary:
when multiple key down is coming while increase/decrease the spinner values,
the speed acceleration will be reset by the new key down.
Instead, it stops the increase/decrease the spinner values behavior.
@fix
Test Plan: None
Reviewers: Hermet, raster
CC: seoz
Differential Revision: https://phab.enlightenment.org/D749
Summary:
This patch unifies two functions with different name and same functionality:
_val_inc_stop and _val_dec_stop into _spin_stop.
Test Plan: None
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D748
we can prevent to handle the widget events from the widget infra,
if the object is disabled.
conceptually, disabled object should not be interacted to user input(key, mouse)
Summary: This patch makes key binding support multiple and inverse modifier set.
Test Plan: None
Reviewers: raster, Hermet
Differential Revision: https://phab.enlightenment.org/D717
- Added 'unselected' callback to reveal multiselect bug.
- Passed 'gengrid' directly instead of passing 'api' structure and using it indirectly.
- Added more box to make the GUI cleaner.
- Removed unnecessary comments and added more important comment.
There are some missing implementations whith elm_web implements
but elm_web2 didn't yet.
This patch just added dummy implementations to fix build break.
Summary: No need to check ev->string if use ev->key instead of ev->keyname.
Test Plan: None
Reviewers: raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D714
With Eo2 you can return values directly without the need to use a pointer
(use the C return).
For example:
eo_do(obj, elm_object_text_get(&text));
becomes:
eo_do(obj, text = elm_object_text_get());
@feature
Summary:
Currently, when drag starts, drag window is not skipped. It makes ecore_x cannot find dropable window in some cases.
Issue: Dropable window is not found if we drop inside the initialized area of drag window.
(Example: in Dnd Types of elementary test, try to start dragging at right edge of left label and drop to left edge of right label. The drop is failed).
Reason: Ecore_x considers drag window when it tries to find dropable window at specific position. Therefore, it cannot find dropable window.
Resolve: Skip drag window.
@fix
Reviewers: raster, JackDanielZ, seoz
CC: woohyun, seoz
Differential Revision: https://phab.enlightenment.org/D710
Summary:
In win.edc add blocker for its content and programs for it. Add
Eina_Bool blocked and was_enabled to _Elm_Menu_Item for correctly blocking
and unblocking of main_menu. They used for saving state which was before modal
win was apeared. Add callbacks and private functions in menu.c for blocking and
unblocking menu. Add integer modal_count to Elm_Win_Smart_Data for creating
enum of modal wins. Add changes in win.c for blocking content, in_focus callback
and menu while modal win is exist.
Reviewers: cedric, seoz, raster
Reviewed By: raster
CC: reutskiy.v.v, raster
Differential Revision: https://phab.enlightenment.org/D607
- Added internal function _elm_list_elm_widget_event_direction.
- Simplified cascaded if statements.
- Note: focus_on_selection feature is still broken.
- Moved a check for direction at the start of the function based on the
horizontal mode configuration.
- Removed unnecessary focus set to edje object. In this case, that item
will get the focus automatically by elm widget item focus
infrastructure.
But this focus_on_selection feature is still broken. I need to fix them
more.
Summary:
problem:
1. open window socket
2. open window plug
3. close window socket
4. open window socket
5. SEGV
there was invalid timer deletion due to dangling pointer.
@fix
Test Plan: elementary_test -> open window socket -> open window plug -> close window socket -> open window socket ->SEGV
Reviewers: raster, seoz
Reviewed By: raster
CC: seoz
Differential Revision: https://phab.enlightenment.org/D699
Summary:
1. Name of sources from external module was not free'd. (there was type mismatch between external module and internal impl.)
2. after eina_module_list_free(), eina_array_free() was not invoked.
3. alloc'd but not free'd
@fix
Test Plan: valgrind
Reviewers: raster, cedric, seoz, bluezery, woohyun
CC: seoz
Differential Revision: https://phab.enlightenment.org/D661
Summary:
Fixed the focus animation in horizontal mode. Earlier focus was moving
out of the view port in horizontal mode
@fix
Reviewers: seoz, raster
CC: seoz, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D693
Summary:
The url variable used for ecore_file_download_full api was not being freed when the api failed
@fix
Test Plan: elementary_test->map
Reviewers: seoz, daniel, raster
Reviewed By: raster
CC: govi
Differential Revision: https://phab.enlightenment.org/D692
Summary: Avoid un-necessary focus animation call if the source and target have same co-ordinate
Reviewers: seoz, woohyun, raster
CC: seoz, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D679
Summary:
In case we register two or more of same drop callbacks for one object, when that object is deleted, segmentation fault happens.
Test case: Register only same callbacks more than two times for one object. Delete that object (manual or auto). Segmentation fault happens.
Reason: When object is deleted, we remove all drop callbacks registered with the object. The _all_drops_targets_cbs_del and elm_drop_target_del are used to do that and they operates on the same cbs_list. If elm_drop_target_del remove the current and the next callbacks in cbs_list, the segmentation fault will happen at _all_drops_targets_cbs_del.
Fix: Check and use updated cbs_list.
@fix
Reviewers: JackDanielZ, raster, seoz
Reviewed By: JackDanielZ
CC: woohyun
Differential Revision: https://phab.enlightenment.org/D691
Summary:
Earlier, Focus can only move out of gengrid from first or last item.
Now, Focus can move out of gengrid if focus is on edge items.
@feature
Test Plan: elementary_test->Gengrid Focus
Reviewers: raster, seoz
CC: seoz, nirajkr
Differential Revision: https://phab.enlightenment.org/D682
legacy set to null was used for every function to not generate a legacy
API. legacy_prefix set to null indicates no legacy has to be generated
for all the class.
this adds a hand1 sample cursor theme/image so the theme can find
cursors, (more should be added later), and now actually makes the elm
cursor handling properly set the cursor and update the hotx/y as
needed by tracking the hot swallow object. this relies on a fix in efl
as well.
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.
Added a more complex glview example to the elementary test.
- the gears lighting matches the original glx gears example.
- Added a background image to show that Glview works well with existing
ELM winsets.
- Added 5 gears and buttons to increase/decrease gear teeth
Thanks to Adrien Nader to pointing this out.
In the longer term we need to re-factor some parts of the elm build system to
better reflect a build under mingw to avoid spreading @EVIL_LIBS@ and such
everywhere. But for now this is a good fix
@fix
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:
Sub components(fields, disable clippers) were shown even if datetime object has no size (0, 0).
To resolve the problem, I made a global clipper,
@fix
Test Plan:
1. create datetime object.
2. evas_object_show without size.
--> datetime object shouldn't be shown
Reviewers: raster, seoz, woohyun, Hermet
CC: seoz
Differential Revision: https://phab.enlightenment.org/D655
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
- Added focus highlight enable/disable option.
- Added a button to set the focus to 2nd item after 1.5 seconds.
- Added a button to select the 2nd item after 1.5 seconds.
- Removed unnecessary frame and lable for the test.
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.
Added two buttons.
1. focus 3rd list item by elm_object_item_focus_set() API after 1.5 seconds.
2. select 3rd list item by elm_list_item_selected_set() API after 1.5 seconds.
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
- Use elm_genlist_item_class_new/free.
- Use elm_app_data_dir_get() instead of predefined PACKAGE_DATA_DIR.
- Created more internal function for the readability.
- Added comments for panels.
- Moved codes around for a better readability.
- Removed unnecessary code.
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