This change will hide the cursor once there is an actual change, and
there is a difference between the selection cursors. If there is no
difference, then it is better to show the cursor again.
Summary:
Spinner on scroller case.
Scroll should be freeze when spinner button in long press state.
If not, the scolling will be started after delete longpress timer.
Like a other widgets, scroll not allowing is correct action for this.
@fix
Reviewers: jaehwan, Hermet, eagleeye, cedric
Differential Revision: https://phab.enlightenment.org/D3334
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Application set language using elm_language_set and when elm_language_set is called
language should be set to edje as well
@fix
Test Plan:
Call elm_language_set and check language should be set to
edje as well.
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3365
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Patch fixes issue when widgets could be orphaned in accessibility tree
due to overloaded accessible_children_get methods in widgets returning
Elm_Object_Items. Widgets like genlist, gengrid, list and toolbar returned
only items as its accessibility children so if some widget was attached
directly to those widgets (like ctxpopup/popup) it become orphaned
in accessibility tree.
Type API provides possibility to skip/ignore widgets in accessiblity
tree. It make sense to ignore object if it do not provide any valuable contextual
information for disabled users. Skipped objects are usually container objects
and are ommited in parent-child relationship.
@feature
The test_colorclass function (and prototype) were incorrect in that
they did not have the proper function parameters defined. This lead to
a warning when building elementary tests.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
In Elm_Cnp, a markup data preparer was missing, which resulted
in _x11_notify_handler_targets not requesting
"application/x-elementary-markup" (requested "UTF8_STRING" instead) when
trying to paste markup text from one entry to another (or itself).
Also, there was a missing handling in the selection data callback for
ELM_SEL_FORMAT_MARKUP data format.
This fixes issues like not being able to paste "item" formats to the
entry widget.
@fix
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.
We had it correct for most declarations and this series fixes it for
the rest.
Thanks for the sparse semantic parser for pointing this out.
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.
We had it correct for most declarations and this series fixes it for
the rest.
Thanks for the sparse semantic parser for pointing this out.
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.
We had it correct for most declarations and this series fixes it for
the rest.
Thanks for the sparse semantic parser for pointing this out.
Summary:
The function evas_object_resize(win, 480, 800) was being called after evas_object_show(popup)
so size calculations of popup were going wrong(height was 0).
It should be called before creating popup as win is parent of popup,
This fix needs to be done only here as in other cases window is already present before creating popup
but here both are being created for exmaple purposes.
Signed-off-by: Aditya Raj <aditya1.raj@samsung.com>
Reviewers: singh.amitesh, raster
Subscribers: jpeg, tanwar.umesh07, sachin.dev
Differential Revision: https://phab.enlightenment.org/D3360
previously, mousing out of an icon during the pulse animation would
instantly stop the animation. this looks strange and is quite noticeable
when mousing through a bar
Summary:
If the entry is a single line, rather than return the cursor height,
it is better to return the height of the object.
Reviewers: herdsman, tasn
Differential Revision: https://phab.enlightenment.org/D3169
Summary:
When _elm_theme_set() failed to set given style, it sets style
as "default".
However, setting style to "default" can be unintended behavior,
so developer should have the chance to get to know fallback.
Reviewers: cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3352
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
This is for support dynamically field sequence changing case
for example
User sets datetime format as "%d/%b/%y" first.
Then change the format dynamically in runtime to "%I:%M %p"
Previous format datetime items still there.
It breaks view(object dulicated on same geometry)
@fix
Test Plan:
Run datetime sample.
Add changed callback.
Change format in changed callback function.
Check the bug state.
Reviewers: jaehwan, id213sin, Hermet, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3340
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
To prevent pasted markup text in entry.
User want tags removed text when paste text into entry.
@fix
Reviewers: jaehwan, Hermet, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3333
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
There is no need ellipsis, space as well before "%d".
The "%d" will show the actual invisible item count.
@fix
Reviewers: jaehwan, Hermet, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3332
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This feature has been added long time ago but it never worked before.
I delayed the parent object hide call when hide signal is present
in theme.
Test:
1. elementary_test -to notify
2. Click Left and wait for timer to expire
3. Click Left and click "close" button on notify. Now hide animation
happens when notify hides.
@fix
Unprotect methods which are ment to be a part of public API.
This methods were initially unprotected, however it looks like
during eo refactoring @protect tags were added by mistake.
@fix
Summary:
If item is unselected in a selected function,
selected function will be called once more from _elm_gengrid_elm_widget_on_focus.
It is happened when elm_gengrid object has no focus and one of item is selected by mouse up event.
To fix this issue, we need to set focus to item and keep the address of selected item before calling selected function.
@fix
Test Plan:
1. Install & Run efbb (Escape From Booty Bay: https://git.enlightenment.org/games/efbb.git/)
2. Select a level in the main menu. (It is using elm_gengrid).
3. See duplicated target images.
Reviewers: cedric, SanghyeonLee
Reviewed By: SanghyeonLee
Differential Revision: https://phab.enlightenment.org/D3323
Summary:
Keep cursor at inserted position after dnd.
For good user experience, after dnd users expect
the cursor should be at the last inserted position.
@feature
Test Plan: NA
Reviewers: thiepha, herdsman, cedric, tasn
Subscribers: shilpasingh
Differential Revision: https://phab.enlightenment.org/D3267
Eina module errors are printed on the screen when the library is not
installed in the system and Clouseau debug is enabled.
The module pointer is not NULL checked, leading to an error message when trying
to load this NULL module.
@fix
Summary:
1. If the sd->items list is empty any time and container_get is used on filter iterator, it will lead to crash. Solution is to not rely on sd->items and maintain a pointer to container when iterator is created.
2. There was a typo while filter feature was added earlier. Fixed it
@fix
Test Plan: NA
Reviewers: SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: rajeshps, shilpasingh
Differential Revision: https://phab.enlightenment.org/D3319
Summary:
When spinner activated with entry, user can input any characters in entry.
It degrades the usability.
Add filter for only can input numbers and "." for case of decimal point existing.
I will add entry filter for limit size as well after this commit.
This spinner features may help for app developer and users too.
@feature
Test Plan:
Run elementary_test
Test various spinner format for check this.
Reviewers: Hermet, cedric
Subscribers: id213sin, shilpasingh
Differential Revision: https://phab.enlightenment.org/D3299
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When an Elm_Segment_Control object is created, the constructor calls
the smart_add() behind the scenes. It then calls _update_list() which
calls _position_items(), with the sd->obj unset (because it was set
after calling super constructors). This led to a CRI() (and therefore
to a backtrace) on the creation of each Elm_Segment_Control.
@fix
Test Plan: elementary_test
Reviewers: stefan_schmidt, cedric, raster
Differential Revision: https://phab.enlightenment.org/D3276
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Avoid code duplication
Two dismissal signals at two different places
created some confusion and also code is duplicated.
Also removed some extra space.
Test Plan: NA
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3269
Summary: elm_genlist_first_item_get(), elm_genlist_last_item_get(), elm_genlist_item_prev_get(), elm_genlist_item_next_get() should return the next filtered item if filter is applied on the genlist.
Test Plan: test_genlist.c => Genlist Filter demo updated
Reviewers: shilpasingh, cedric, SanghyeonLee
Subscribers: divyesh, rajeshps
Differential Revision: https://phab.enlightenment.org/D3263
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
An application starts before the indicator has. In this case,
the application should try to connect again with the indicator.
Test Plan:
1. Start an application without the indicator service.
2. Start the indicator service.
Reviewers: raster, Hermet, woohyun, jaehwan, cedric
Subscribers: seoz
Differential Revision: https://phab.enlightenment.org/D3258
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
1. When subtitle is set using actual part name "elm.text.subtitle",
subtitle,show signal is not sent issue fix.
2. Remove unnecessary checks, maintain code readability.
@fix
Test Plan:
Set text using edc part name elm.text.subtitle
Reviewers: Hermet, cedric
Reviewed By: cedric
Subscribers: shashank0990
Differential Revision: https://phab.enlightenment.org/D2988
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The box_clear, box_fill internal functions called when almost every internal chage happend.
(resize, theme apply, item append, item delete etc...)
Then those APIs delete/create item's edje object for all of the items.
It's very not good action for performance.
So, i changed this just edje object box unpack/pack instead of delete/create.
@fix
Test Plan:
Working test on elementary_test
and Call all of the index APIs for check this change.
Reviewers: Hermet, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3268
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
It is an legacy of old code. When the view object of item was edje,
I think there was no meaningless parent-child relationship changes.
But, now, the view object is elm_layout and if we add object in proper order,
we don't need to make an useless parent-child realationship in any moments.
Test Plan: None
Reviewers: woohyun, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3254
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The icon is already sub object of VIEW(item) by content_set.
We don't need to make icon as a sub object of obj again.
It was used when VIEW(item) is Edje object.
Test Plan: None
Reviewers: Hermet, eagleeye, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3249
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Issue: When accessibility is set, individual color item's RGBA values are read
instead of actual color names.
Solution: Read color names by matching the color RGBA from the array.
Test Plan:
enable accessibility
run elementary test
select colorselector demo
click on individual color palette items
Reviewers: cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3240
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
There are several lines to get edje_object_data from elm_hover
or elm_hoversel like edje_object_data_get(elm_layout_edje_get(obj), "key");
These codes can be replaced with elm_layout_data_get(obj, "key");
Reviewers: Hermet, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3193
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When the window is in background, for associated conformant, indicator must not update the plug information.
To fix this issue, On window goes to background, the associated plug handled by confromant is deleted.
Test Plan:
On any device (like handset) which should have indicator support, this scenario can be reproduce. I tested on a handset
with gdb attach to running process having window and confromant with indicator support.
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: rajeshps, govi
Differential Revision: https://phab.enlightenment.org/D3177
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When calendar widget is already created and if we change language,
weekdays do not get translated because weekday string is statically
stored only during create.
Update the weekdays again when object is changed.
@fix
Test Plan:
1.Create and show calendar widget
2.Change the language
Weekdays do not get translated
Reviewers: Hermet, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3149
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Currently hoversel creates the item view when user clicks on hoversel,
So it will cause a delay for the hover to come depending on number
of items as the items in hover have to be created. If item creation
is done during item_add that delay can be avoided and pressed effect also
will become smooth (item_add will be taking more time with this change, but
it happens only once). If applications prefer memory usage more than execution
time, then applications can do item_add in hoversel clicked callback.
Test Plan: elementary_test
Reviewers: raster, Hermet, conr2d, prince.dubey, shilpasingh, cedric
Reviewed By: cedric
Subscribers: rajeshps, poornima.srinivasan
Differential Revision: https://phab.enlightenment.org/D3058
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Although elm_win is only created and evas_object_show with elm_win is not called,
evas_rendering works sometimes.
This rendering is not necessary. Because on one is shown and just back buffer is allocated.
This patch is the prohibiting auto-rendering, if elm_win is shown by calling evas_object_show()
It is effective for power consumption and reducing memory.
@fix
Test Plan:
1. elementary_test : checking all menus's working
2. modifed bg_example_02 : updated elm_bg's color by animator without evas_object_show(elm_win)
Reviewers: jpeg, jypark, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D3282
Summary:
Eo complained about an invalid type 'Edje_Object' passed to
elm_widget_sub_object_add(). It is the segment control itself
that should be the subject of the call to this function.
@fix
Test Plan: elementary_test: no more Eo errors
Reviewers: cedric, stefan_schmidt
Differential Revision: https://phab.enlightenment.org/D3277
Summary:
The region position passed to region_show and region_bring_in used to be
relative to the object position, not the scroller.
This fixes T1686.
@fix
Reviewers: seoz
Maniphest Tasks: T1686
Differential Revision: https://phab.enlightenment.org/D3168
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When _elm_interface_scrollable_page_bring_in is called, page is not changed yet.
So "page,changed" smart callback is unnecessary.
Sometimes "page,changed" smart callback is called twice.
Because "drag,stop" and "anim,stop"is called it.
So I add updating current page code.
Test Plan:
elementary_test -> scroller
1. using wheel.
2. using "prev page" and "next page".
3. draging sceen
Reviewers: Hermet, singh.amitesh, cedric, raster, jaehwan, seoz
Differential Revision: https://phab.enlightenment.org/D3260
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
There was all the necessary code, except that the default
theme did not implement properly the signal & required data.
There is still a problem though, as the "timeout" smart callback
will be called at the start of the animation, so it's not possible
for an app to hide() or del() at this point (that would get
rid of the animation). But there's no other callback after
the animation ends.
elementary_test -to Notify > "Bottom" illustrates this issue.
Removed #include for elementary_config.h if HAVE_CONFIG_H is
defined. Which causes errors with external projects. Instead,
defined the necessary macros to use the Eo API.
Summary:
Previously child_can_focus flag could be only updated when
child is deleted from object's subobject list. This patch
additionally updates child_can_focus flag when focusability
is changed with elm_widget_focus_can_set function.
Patch solves child_can_focus issue in similar situations:
elm_icon_add(layout);
elm_object_content_set(layout, icon);
elm_widget_child_can_focus_get(layout); // returns EINA_TRUE
icon = elm_icon_add(win);
elm_object_content_set(layout, icon);
elm_widget_child_can_focus_get(layout); // returns EINA_FALSE
@fix
Reviewers: cedric, stefan_schmidt
Subscribers: seoz
Differential Revision: https://phab.enlightenment.org/D3237
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When user called "elm_multibuttonetnry_editable_set()" API as false.
the internal entry will be unpacked from box.
Then called that API as true again.
the internal entry just show without box packed.
Also, editable set API should not work in MBE shrink mode.
Test Plan:
Alternately Call elm_multibuttonentry_ediable_set API as true, false.
Then check the internal entry state.
Reviewers: Hermet, cedric
Differential Revision: https://phab.enlightenment.org/D3134
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The select function set in item_append does not get called on item selection issue fix.
As per documentation, the function has to get called.
@fix
Test Plan: elementary_test is updated with the demo
Reviewers: navnbeet, Hermet, CHAN, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3158
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Hoversel scrollability can be considered as default behavior of hoversel.
These APIs are not necessary any more.
Reviewers: cedric, DaveMDS
Subscribers: DaveMDS, cedric
Differential Revision: https://phab.enlightenment.org/D3241
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
At-spi clients assume that object:state-changed:focused event is emitted
on application start. By the time atspi_bridge will establish
connection on at-spi bus all focused events are already emitted.
To fix this we reemit "focused" event in bridge connection callback.
This fixes a bug when Orca screen reader do not read first element after
application launch.
@fix
Summary:
In D2063, "max_size" data item is added to limit the number of items
to show at a time when hoversel is expanded.
However, it limits the number of items too few, so makes scrollable
function useless.
This patch removes limitation of hoversel size with pixels,
but if it needs, developers can set the limitation yet.
(By theme customization)
Test Plan:
elementary_test "hoversel"
click the second hoversel
Reviewers: DaveMDS, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3223
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The Internal box can has a lot of label for child when user set text many times.
Fix this wrong implement. It has to get only one label for child.
@fix
Test Plan:
Call elm_object_text_set() many times for MBE.
Check the label got a wrong geometry.
Reviewers: Hermet, cedric
Differential Revision: https://phab.enlightenment.org/D3133
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The timestamp has 0 value when n_long_tap_start callback called.
Then timestamp is same on each n_long_tap_move callback functions.
For fix this bug, update timestamp before called state_set function.
Also update timestamp in every timeout.
Test Plan:
Run test_gesture_layer2.c
Print timestamp in every n_long_tap_XXX callback.
Reviewers: tasn, cedric
Differential Revision: https://phab.enlightenment.org/D3144
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
elm_hoversel_scroll_enabled_set/get() API were changed to
elm_hoversel_scrollable_set/get().
However, the name of member of Elm_Hovsersel_Data related to those API
are not changed.
It can confuse developers later, so change it same to the name defined
in elm_hoversel.eo file.
Reviewers: Hermet, cedric
Differential Revision: https://phab.enlightenment.org/D3140
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
For various angles 90, 180, 270, the calculation of dnd window position
is not proper causing window to be placed wrongly while dragging.
Signed-Off By: Kumar Navneet <k.navneet@samsung.com>
@fix
Test Plan:
Longpress and drag and drop in entry by placing device at various angles
90, 180 and 270.
Reviewers: woohyun, cedric, thiepha
Reviewed By: thiepha
Subscribers: navnbeet
Differential Revision: https://phab.enlightenment.org/D3188
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
I missed this one yesterday. Also change it to use floating point values
instead of casting which does not make much sense for hard-coded values.
CID: 1327343
When dividing with an int we would loose the fractional part. Better cast to
a double to make clear we want double precision here.
CID: 1327343, 1327344
for release we need to test performance - esp of evas and eo in real life usage
and scroling is just such one. this adds a simple automated scrolling
test to genlist test (hit the button or ELM_TEST_AUTOBOUNCE=1
elementary_test -to genlist) so you can get consistent input and benchmark info
This change is the simplest I could do, but I think it would be better
to move _item_theme_hook inside _item_new. This is a further attempt
to fix T2777.
Summary:
Currently path is strdup() when getting real path, but it is not freed
in some cases.
@fix
Reviewers: seoz, Hermet, woohyun, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3194
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Currently, longpressed event can be called when map is
scrolled, zoomed or rotated. This might cause unintentional
result, because mouse need to be down at lease once to
execute scroll, zoom, or rotate, and longpressed event will start
when those events takes long enough time.
Reviewers: seoz, Hermet, woohyun, cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D3195
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
libatspi implementation allows to call methods on objects which
are not added to client cache with "AddAccessible" at-spi signal.
Bridge should allow to perform such calls by updating its internal
cache as soons as it returns a reference to the dbus object to client.
Elementary is not using much the calculate callback from Evas. This
create all sort of problem where it transform O(n) algorithm. Like
sizing a toolbar for next frame to O(n^n) by actually sizing the
toolbar every time an object is inserted.
T2777
_sizing_eval is very costly on toolbar as it recalc all edje part and sends
signal to all of them. _item_theme_hook was already calling _sizing_eval
doubling the cost of adding new item.
various fixes have occurred over the years to improve proxy rendering.
as a result, this theme, which is apparently the only other user of proxy
edje parts besides deskmirror, was broken.
@fix
Summary: clang reports SIG_BLOCK_CLICKED and SIG_TIMEOUT as being
unused variables, so remove
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>