Summary:
This function allows user to search for item in Genlist.
It takes four search parameters:
1. pointer to function to get text of the item. It could be the same with item's
get_text function. This parameter is added to let user use the specific search key
and to avoid problems with setting item's text, that is not constant.
2. pointer to the item from which search should start.
3. search pattern.
4. fnmatch() flags.
To check it's usage the new test is added to the elementary_test (Genlist Item Search By Text)
Reviewers: cedric, seoz, raster
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D566
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:
On focus_on_selection set, the focus set on genlist item of type ELM_GENLIST_ITEM_TREE rather than
on item content objects.
Test Plan: elementary_test -to "genlist focus"
Reviewers: seoz, eagleeye, SanghyeonLee, raster
Reviewed By: raster
CC: seoz
Differential Revision: https://phab.enlightenment.org/D899
Summary:
If focus is set on item content object, it's treated as a
different object which results the focus deadlock. So, every
time whenever focus sets on item content object, we need to
unset and set the focus on genlist object. Thanks to Seoz for
the idea.
Test Plan: elementary_test -to "genlist focus"
Reviewers: seoz, SanghyeonLee, eagleeye
CC: seoz
Differential Revision: https://phab.enlightenment.org/D891
Summary:
Selection handlers' visibility should be updated when entry is hidden or shown
When entry has selection and hidden, the selection handlers should be hidden also.
This fix T1175.
@fix
Reviewers: seoz, woohyun, raster
Reviewed By: raster
Maniphest Tasks: T1175
Differential Revision: https://phab.enlightenment.org/D877
Summary:
Previously in colorclasses.edc border_frame dialog_base along with other base elements were defined to the default font color "White". This means if you change the default font color there are many unrelated side effects.
To fix this issue i have added a new Color define in colorclasses.edc to be used with window related items as opposed to text related items.
Reviewers: raster
CC: seoz, stefan_schmidt
Maniphest Tasks: T1269
Differential Revision: https://phab.enlightenment.org/D879
Summary:
This feature (Clicking on "Enter" key) was previously implemented by using "activate" signal of entry (the one for entering name of the file),
so it was looking like "ok" button was clicked by pushing "Enter" key on the keyboard.
This little feature was added in commit 4d761f3a63270c88fa516764d9288f8bf0ff4a11.
Later the huge feature that adds key binding was implemented (commit 820f3dc907250c0c08ed8431b50567e58d6dab5c for ex).
It allows to bind widgets with keys (certain function calls when certain keys is pressed on keyboard).
This feature also adds same functionality to fileselecter, doing the same as previous (with "activate" signal) one.
Because of that it was looks like "ok" button was clicked twice.
This commit fixes this behavior and removes old and outdated method of "ok" button clicking processing.
@fix
Reviewers: cedric, seoz, raster
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D864
Summary:
Fix to calculator map size not to be smaller than viewport size when zoom mode is either fit or fill.
Previously, map size could be either smaller or larger than viewport.
@fix
Reviewers: Hermet, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D861
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: This is an optimization over parent set to hoversel object.
Reviewers: seoz, raster
CC: seoz
Differential Revision: https://phab.enlightenment.org/D853
Summary:
Earlier focus was moving to top item from bottom item on LEFT key and to bottom item on RIGHT Key
in case of vertical hoversel.
@fix
Test Plan: elementary_test -to "Hoversel Focus"
Reviewers: raster, seoz
Reviewed By: seoz
CC: seoz, chinmaya061
Differential Revision: https://phab.enlightenment.org/D858
Summary:
Even if a entry is not editable, user can select text in the entry.
When the entry has selection, we have to support "copy" option.
@fix
Test Plan:
Precondition: Apply D852 patch for fixing a bug in elementary_test
1. elementary_test -to entry7
2. Select some text in the non-editable entry.
3. Press mouse right button.
Note: You can test it in Desktop profile.
Reviewers: tasn, woohyun, seoz
Differential Revision: https://phab.enlightenment.org/D848
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
Since SHADOW adds one pixel padding, the whole object size
was calculated with one extra pixel. Let's add it back
to keep the overall visual balance of buttons.
A few other widgets might visually change after the edje
padding fix:
- Check (looks better)
- Naviframe (smaller height)
- E date widget
- ...
But I did not see anything "weird" that needs fixing.
See EFL 5bf1f0c9187525cf40782b26d7fa49d2676f91bb:
edje_calc: Don't add padding twice to text objects
Text objects declared in Edje will see their padding added twice,
as the Evas_Object_Text itself contains the padding already.
This WILL break some EDC files. It's a bug nonetheless.
Summary:
Show and bring in a region which has the given latitude and longitude after zooming
@fix
Reviewers: Hermet
CC: seoz
Differential Revision: https://phab.enlightenment.org/D851
Summary:
Layout's sub_object_del function calls sizing_eval even if layout's smart_del
function has already been called (Due to widget_smart_del impl).
This patch adds 'destructed_is' flag to Elm_Layout_Smart_Data and prevents unneeded
sizing_eval calls when object is already destructed.
Patch also fixes SIGSEGV in layout derived entry widget caused by calling
sizing_eval after entry_smart_del destructor.
Added entry test to avoid regression for SIGSEGV bug.
Test Plan: run tests/elm_test_entry
Reviewers: raster, seoz, tasn, cedric
Differential Revision: https://phab.enlightenment.org/D823
Summary:
elm_entry_context_menu_disabled_set API is called to wrong entry.
It should be called to "en2" that added for testing the API.
@fix
Test Plan: 1. elementary -to entry7
Reviewers: woohyun, seoz, tasn
Reviewed By: seoz
CC: herdsman
Differential Revision: https://phab.enlightenment.org/D852
Summary:
Calculating the coordinate of the object to retain the focus with in view port.
Earlier focus was moving out of view port.
Test Plan:
elementary_test-> "Focus 3". Enable the Focus Auto scroll bring in and use
keys to move focused item.
Reviewers: raster, seoz, singh.amitesh, nirajkr
Differential Revision: https://phab.enlightenment.org/D822
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