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
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.
Summary:
There is no dnd test for format types except ELM_SEL_FORMAT_TARGETS.
This patch adds a test for other formats, so that we can test more about dnd.
Reviewers: JackDanielZ, seoz
CC: seoz
Differential Revision: https://phab.enlightenment.org/D617
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
Summary: Added example to show the last character of entered password
Test Plan: elementary_test <search scrolled entry>
Reviewers: singh.amitesh, seoz
CC: seoz
Differential Revision: https://phab.enlightenment.org/D610
This fixes the following build warning.
test_focus.c: In function ‘_focus_highlight_clip_disable_changed_cb’:
test_focus.c:682:90: warning: unused parameter ‘event_info’
[-Wunused-parameter]
- 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.
_list/genlist_item_focus_set --> _list/genlist_item_content_focus_set.
These internal functions set the focus to the item's content objects,
not the item itself. So the name was wrong and very confusing.
Summary:
Now if evas_object_show is called for naviframe, all item views are shown.
This may cause the previous item view is overlapped to the top item view.
To resolve this problem, fix smart_show of naviframe to show only top item view.
@fix
Reviewers: Hermet
CC: seoz
Differential Revision: https://phab.enlightenment.org/D594
Summary:
This patch fixes the issue of month wrapping due to summer time correction is some locales
by ignoring day light saving mode in mktime
Signed-off by: M.V.K Sumanth <sumanth.m@samsung.com>
@fix
Test Plan: Change the date for month were day light saving mode is applied and observe the wrapping.
Reviewers: seoz, Hermet, raster
Reviewed By: raster
CC: govi, raster
Differential Revision: https://phab.enlightenment.org/D590
@bugfix: Previous elm config messages did not echo if drm was
detected. This adds some (auto)detection, and some output to say if it
was found.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
In elm entry, cursor handlers are placed and moved incorrectly if we do selection from bottom to top.
Ex: In elementary_test -> Entry -> Right click -> choose Select -> do selection from bottom to top (or press Shift + <- keys to do selection).
Look at selection handlers: they are incorrectly placed.
Try to move selection handlers: They suddenly move to near each other.
Minor: Remove unused variable.
@fix
Reviewers: seoz
Differential Revision: https://phab.enlightenment.org/D583
This use the infrastructure of Edje to set the AUTHORS of the theme. It now
make sense to track who did contribute to the theme only. Maybe we could use
those information into Enlightenment About Theme dialog.
Summary:
Previously text colors were specfied in the form color: XXX XXX XXX AAA throughout all the edc files, eg color: 255 255 255 255 this made it imposible to write a script to change text colors with sed as it changed many other parts of the theme as well.
Some colors had been defined in fonts.edc and in some places these were used but not many. This change means that all non textblock font colors are defined in fonts.edc and the defined names are used throughout the entire code base. This means that sed only needs to be run on 1 file to change the text color or it is easy to do manually
textblock colors were not done for 2 reasons
1. They hadn't been done in the past so there was no standard for me to follow.
2. They are all specified in html notation eg #FFFFFF which means that they can be changed with sed without effecting the rest of the theme.
If a standard can be come up with for doing this and people think it is worthwhile i can probably fix them at a later date
Reviewers: raster, zmike
Reviewed By: raster
CC: seoz
Differential Revision: https://phab.enlightenment.org/D577
Conflicts:
data/themes/edc/battery.edc
data/themes/edc/xkbswitch.edc
Summary:
Emit "elm,state,visible" "elm" signal to edc file when first item is pushed.
Above signal can be used if an application wants to do something when the first view is shown on the screen.
@fix
Reviewers: Hermet, seoz, raster
CC: seoz, raster
Differential Revision: https://phab.enlightenment.org/D483
Summary:
The soon to be deleted item 'it' is removed from the list at line 356.
So the first item of the list can never be the same one with it,
which means else statement is unreachable.
Test Plan: None
Reviewers: raster, seoz, Hermet
Differential Revision: https://phab.enlightenment.org/D597
Summary:
The code was missing null check of sd->items list.
If the deleted item is the only item of the list,
sd->items becomes empty after removing it.
In that case, sd->selected_item should be set as NULL.
@fix
Fixes T988
Test Plan: execute diskselector_example_02 > click "Delete item" button 3 times
Reviewers: raster, seoz
Reviewed By: seoz
CC: seoz
Maniphest Tasks: T988
Differential Revision: https://phab.enlightenment.org/D595
- return EINA_TRUE when the event is processed. return EINA_FALSE
otherwise.
- use 'else if' statement without successive 'if' statement.
- removed unnecessary casting.
- marked on_hold flag to processed event.
- Reduced the if statement depth.
- Introduced new macro ELM_RECTS_POINT_OUT that checks if the point(xx,
yy) stays out of the rectangle(x, y, w, h) area.
Summary:
support color classes for runtime color changes.
It works like text classes and is also added in configuration files.
Reviewers: seoz, Hermet, cedric, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D541
@fix
Hover itself does not get key event. It should just forward the event to
the internal objects. So make it unfocusable.
Special thanks to Woohyun Jung.
Summary:
Problem: list theme (elm/list/base/default) is an alias of scroller
base theme (elm/scroller/base/default) in which focus_highlight is set to "on".
Solution: Now focus highlight in_theme is set by list item theme.
Test Plan: elementary_test->"List Focus"
Reviewers: seoz, woohyun
Reviewed By: seoz
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D572
Summary:
# Added code to handle the case of disabled items.
# Code refractoring of _item_focused_next().
Test Plan: elementary_test->"list focus"
Reviewers: seoz, woohyun
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D571
@feature
Summary:
# Added "item,focused" and "item,unfocused" smart callbacks.
# Added elm_object_focused_item_get() in elm_widget
# Added elm_object_item_focus_set and elm_object_item_focus_get() APIs for
# Added one argument in existing _focus_highlight_geometry_get(...,is_next)
This is required to find out previous and current widget item.
# Added a elm_win function _focus_highlight_start() which starts the focus
Test Plan: elementary_test->List Focus , List Horizontal Focus
Reviewers: seoz, woohyun
Reviewers Comments: SeoZ - there are some known bugs. we will actively
fix them in a near future.
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D532
@feature
Summary:
1. Added "item,focused" and "item,unfocused" callbacks for widget item since
VIEW(item) is a elm layout.
2. Added sd->box into focus chain to enable the focus movement on widget items.
Test Plan: elementary_test -> popup -> "popup-center-title + items + 3 buttons"
Reviewers: seoz, woohyun
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D563
Summary:
Magnifier is displayed incorrectly when mouse down on selection handler
Reproduce way: Right click on entry (eg Entry), choose Select, select some text, press left mouse
on selection handler (do not move the mouse), take a look at magnifier position.
Reason: Magnifier position is set to mouse down position in entry.
Fix: Check mouse down status and place correct position for magnifier.
Reviewers: seoz, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D573
Code should look compact, why use small fonts otherwise?
Reduce the gap between code lines (stored as separate <div>)
to 70%. This looks about right.
See rEFL0a97a74319256db53fb6e8704b77eb21f92e95a8
Yes, I know. Someone hates large fonts.
But the ones currently used are so SMALL!
Also, this will just revert back to what's defined in e.css,
because body and list font size aren't even consistent.
Also, display the page titles like titles: big fat blue letters.
See rEFL642f2ecca9350548c6f260edfcd7e2f58d2de662
If a param description is long and spans on multiple lines,
then the param name should be aligned to the first description
line. Otherwise the layout becomes confusing.
Align [in] and [out] vertically like params.
See rEFL0471c9a8353b4847bb2f00be5757868cb3195b7a
if the object is added twice to the one transit,
the obj_remove_cb would be called twice.
in this case it will try to access the freed obj_data and crashed up.
now it's fixed.
Watchwolf was removed as he was in there twice. For the newly added I hope
I did not add duplicates or missed someone. If you spot a problem please
go ahead and fix it.
Before
elm_tooltip_move_lock_set()
elm_tooltip_move_lock_get()
After
elm_tooltip_move_freeze_push()
elm_tooltip_move_freeze_pop()
elm_tooltip_move_freeze_get()
we're likely to use the freeze rather than lock among the entire apis.
it's already discussed in the mailing list.
Summary:
when style is set to be different one, spinner didn't update its min size.
So there was an issue that spinner has wrong position since it wasnt' check the updated size
Reviewers: Hermet, seoz
Reviewed By: seoz
CC: raster, cedric
Differential Revision: https://phab.enlightenment.org/D569
Summary:
Issue 1: If you drop text to elm_entry, text is inserted twice.
Reason: Drop callbacks are registered multiple times in elm_entry.
Resolve: Register only one drop callback at entry side.
Issue 2: Even thought entry is disabled, non-editable, you still can drop text, image file. (Example, run Entry Scrolled and drop text, image file to disabled or non-editable entries).
Reason: Drop callback are registered but not remove when entry is set to disabled, non-editable mode.
Resolve: Correct registering and removing drop callbacks in entry.
Reviewers: JackDanielZ, raster
Reviewed By: raster
CC: woohyun
Differential Revision: https://phab.enlightenment.org/D565
Add minimum comments for Eo API to make Eolian correctly
process methods and parameter directions
There are still exist not/half implemented functions, for which
I didn't add comments.
Summary:
When we start dragging, the type is always set to "text/uri-list" no matter the format type set by application.
This patch fixs this hard-coded type issue. It will set types corresponding to the format type set by application.
For example, if application set format as ELM_SEL_FORMAT_TEXT, it will set types UTF8_STRING, STRING, COMPOUND_TEXT, TEXT,
text/plain, text/plain;charset=utf-8.
Reviewers: JackDanielZ, raster
Reviewed By: raster
CC: woohyun, seoz
Differential Revision: https://phab.enlightenment.org/D546
Summary:
Fixes a bug when having a mouse_out event from elm objects that had a cursor set to them.
For example, Entry has a specific cursor set to it.
The bug is observable in Entry Test, and in any other test that has anchors (markup) in the entry widget.
Just take your mouse in an anchor, and out of it, to see that the entry now has the wrong cursor.
The old way of handling this asssumed that the triggering object had an elm-parent.
However, this is not the case for anchors.
Instead, it was agreed that the simplest way was to determine if there is any elm object,
with a cursor set to it, under the current mouse position.
If one is found, then use the cursor assigned to it.
Fixes T878.
Reviewers: tasn, raster
CC: raster, JackDanielZ
Maniphest Tasks: T878
Differential Revision: https://phab.enlightenment.org/D551
Summary:
elm_colorselector_palette_color_add() clears the palette if config_load is true.
It means that this API will add paletter color only for this colorselector object.
Fixes T786
Test Plan: Added elm_colorselector_palette.
Reviewers: seoz, raster
Maniphest Tasks: T786
Differential Revision: https://phab.enlightenment.org/D557
Summary:
Previously, the following error message is shown.
eina_inlist_remove() safety check failed: item does not appear to be part of an inlist!
Now, eina_inlist_remove() is removed from elm_naviframe_item_pop_to
because eina_inlist_remove() is called in _item_del_pre_hook.
Reviewers: seoz, raster
Reviewed By: raster
CC: Hermet
Differential Revision: https://phab.enlightenment.org/D553
Summary:
Previously, all views were focusable except during transition.
Now, only top view is focusable.
Reviewers: seoz
CC: Hermet
Differential Revision: https://phab.enlightenment.org/D554
Summary:
in current code, indicator is disabled only when mouse up event happens.
if the selected item is unselected through API before mouse up,
the indicator will remain active while no item is selected (highlighted).
Test Plan: None
Reviewers: Hermet, seoz, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D560
Summary:
when index box is cleared and refilled, selected item's status still remains as selected
but not highlighted. should send active signal to the selected item so that it is highlighted.
Test Plan: None
Reviewers: Hermet, seoz
Reviewed By: seoz
Differential Revision: https://phab.enlightenment.org/D559
Summary: since to control the rotation of application windows by WM, already added related feature in Ecore_Evas. Added related API for it.
Reviewers: raster, seoz
CC: gwanglim
Differential Revision: https://phab.enlightenment.org/D542
Added API:
void elm_label_slide_speed_set(Evas_Object *obj, double speed);
double elm_label_slide_speed_get(const Evas_Object *obj);
This work is based on the previous reverted commit by nirajkr, thanks!
I hope this will fullfill his requirement, please let me know of
any problems.
Summary:
Currently we do not set the speed of two label same
This patch fetch the information of the previous
label to set it to the next label to match the speed
of the previous label
Reviewers: seoz, raster
Reviewed By: raster
CC: singh.amitesh
Differential Revision: https://phab.enlightenment.org/D531
This test is full of TextBlock bugs, just to name a few:
- The window height is wrong, it seems to take the max height as
the win was less large, try resizing to min width to understand what I mean.
- the backing on the em tag is not working.
- the underline colors are wrong.
- popping the style should remove the double underline.
- push/pop on the stack seems not to work as expected: If you push twice
you should need 2 pop to return to the normal state.