Commit Graph

1523 Commits

Author SHA1 Message Date
Marcel Hollerbach 20a78af94f fix .eo file breaks 2017-04-20 14:38:59 +02:00
Marcel Hollerbach 800390bcb0 focus_tests: fix the test suite
this brings back the working testsuite and fixes a bug in the
submanager.
2017-04-20 14:38:59 +02:00
Marcel Hollerbach 3dfc546a2f efl_ui_focus_manager: the order contains nodes not focusables 2017-04-20 14:38:59 +02:00
Marcel Hollerbach fb6c37f16f elementary: introduce helper functions for the redirects 2017-04-20 14:38:59 +02:00
Marcel Hollerbach 74b4327746 update according to cedrics review comments 2017-04-20 14:38:58 +02:00
Marcel Hollerbach b056857093 focus: update object definition
Summary: This introduces a new focus system and the migration to this system.

Test Plan: run elementary_test

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D4511
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 716ec352d1 elm_widget: add unfocusable to debug informations 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 5c48607460 efl_ui_focus_manager: make setting a order easier 2017-04-20 14:38:58 +02:00
Marcel Hollerbach eb88bbe63d elm_box,grid,table: take the resize object as evas object 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 8c8570ba6a efl_ui_focus_manager: if there is no normal item then just do nothing 2017-04-20 14:38:58 +02:00
Marcel Hollerbach bd5bf5e719 efl_ui_flip: migrate to new focus system 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 996a502495 elm_grid: migrate to new focus system 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 23fd22836d efl_ui_focus_manager: there is the case that n can be NULL 2017-04-20 14:38:58 +02:00
Marcel Hollerbach a3c44fcf68 efl_ui_focus_manager_sub: do not update if parent is NULL
is is actually a dangerous case, and should NEVER happen
2017-04-20 14:38:58 +02:00
Marcel Hollerbach d481dd58ec efl_ui_frame: migrate to new focus system
when collapsed the subtree is unfocusable
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 7c35606d06 elm_table: migrate to new focus system 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 7994fa3f68 elm_interface_scrollable: fix bringing in of items 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 073c72acce elm_scroller: migrate to new focus system
the scrollable interface is doing most of the work, if we know that
something is already focused we just leave the action_move.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 9b64e7316a elm_widget: evalulate show flag and call focus on super 2017-04-20 14:38:58 +02:00
Marcel Hollerbach dfceeb78c3 elm_menu: mirgrate to the new focus
this just means the menu is registering a new manager, it is not really
doing anything, its just there so the children which are searching for
one are finiding one. Elm menu has not handled anything with keys in the
past and will later learn to do so.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 1ecf648dd8 elm_hover: migrate to new focus system
the hover will set itself as redirect once it is visible. And unset
itself once it is hidden.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach ef8aed0385 efl_ui_win: migrate to the new focus system
this means, focus requests are redirected to the new focus manager.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 44e40c7c5e elm_interface_scrollable: use the submanager to register the children
this adds the registered elements at the broder of the scrollable to the
parents manager. scroller and gengrid works for registering
2017-04-20 14:38:58 +02:00
Marcel Hollerbach c203087d3b elm_box: set the correct order 2017-04-20 14:38:58 +02:00
Marcel Hollerbach f09dd5e3df efl_ui_focus_manager: allow settings of subsets
those subsets will just be prepended.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 5b3fd27931 efl_ui_focus_manager: handle logical end correctly. 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 6245e5a579 efl_ui_focus_manager: fix error message 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 13982b2bd9 efl_ui_focus_manager: return the new candidate 2017-04-20 14:38:57 +02:00
Marcel Hollerbach a5c7006579 efl_ui_focus_manager: handle redirect objects in logical better 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 200ad8ab50 efl_ui_focus_manager: be more secure 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 924033e88a efl_ui_focus_manager: fix sub manager logical handling 2017-04-20 14:38:57 +02:00
Marcel Hollerbach a4616bb6fe efl_ui_focus_manager: better error messages 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 09824ec450 efl_ui_focus_manager_sub: focus the item in sub and main manager 2017-04-20 14:38:57 +02:00
Marcel Hollerbach d4bd5c9961 efl_ui_focus_manager: add log domain for focus movements 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 89cc2ca06a efl_ui_focus_manager: restructure node struct
a redirect can happen for logical OR normal
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0c1c2711f3 efl_ui_focus_manager: more debug information 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 6d1df04f24 efl_ui_focus_manager: do not depend on elm widget events 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 54145f488b efl_ui_focus_manager: unset redirect when focusing new item 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 1424875f0a efl_ui_focus_manager: make next and prev searching deadlock prove 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 8a216da3bb efl_ui_focus_manager: unset redirect when destroyed 2017-04-20 14:38:57 +02:00
Marcel Hollerbach be251b0496 efl_ui_focus_manager: allow flushing of one single node
this gives a massive performance boost
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0df0d9d358 efl_ui_focus_manager_sub: register the forwared itself 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0f2657983f efl_ui_focus_manager: handle redirect managers in a better way 2017-04-20 14:38:57 +02:00
Marcel Hollerbach b53f3edd15 elm_widget: update focus register work
now it trackes changes of the parent manager. And registers more
reliable.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 67a697fedd efl_ui_focus_manager: fix up tracking and returning of data
a logical parent should not be in the border elements. The child should
also be not deleted itself. If we do so correct deletion could fail.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 669db4841a efl_ui_focus_manager_sub: update to recenent changes 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 7eb1df349c efl_ui_focus_manager_sub: register children correctly 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 4932ec5f63 elm_widget: add logical parent to interface
and evaluate all values correctly and emit the correct events
2017-04-20 14:38:57 +02:00
Marcel Hollerbach e614c96466 elm_widget: make sure we dont have a destructed logical parent 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 6264eb64e4 efl_ui_focus_manager_sub: register the root as logical 2017-04-20 14:38:57 +02:00
Marcel Hollerbach f6aefb2d88 efl_ui_focus_manager: a logical item should never get focus. 2017-04-20 14:38:57 +02:00
Marcel Hollerbach a5868fc819 efl_ui_focus_manager: use data iterator not key iterator
this saves one call to node_get
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 37ce83cc04 elm_widget: enhance focus handling of the widget
widgets will now use there widget parent as logical parent.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 1f8e6dcb37 elm_widget: add debugging informations for a manager in a widget 2017-04-20 14:38:57 +02:00
Marcel Hollerbach f2248410b2 efl_ui_focus_manager: new api for adding a logical widget
a widget which is registered logically will not be used for right left
top or down relations.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 9aa7c63b2f efl_ui_win: make it a focus manager
Added a focusmanager with the window itself as the root.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 97265254e6 elm_widget: make it a efl_ui_focus_object
it will register based on it can_focus flag
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0eefeca64b efl_ui_focus_manager: add new api to receive child configuration 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 78e7891029 focus: fix compilation
it seems like eolian changed, so i need to import the eina_types
2017-04-20 14:38:57 +02:00
Marcel Hollerbach b75b5f4c05 managersub: remove the select_set call
this can be done directly be inheriting border_elements and cutting down
the set.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach ef3f302a65 focus: update documentation on all eo files
we should now have a complete documentation of those eo files
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 357715f091 focus: update object definition
the event is now a bit better, since you only need to subscribe to one
event instead of two, the new state is passed in the event.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 01f46ae205 efl_ui: introduce a focus manager and sub manager object
The Efl.Ui.Focus.Manager abstracts the creation of a localization graph
and a logical tree. The localization graph is used to find a object
right left up or down of a given object. The logical tree is used to
iterate throuw the containers which are used to build a ui.

Those managers can be used bound to some layer in the ui, so for
example the window is a layer, the content of a scroller is a layer.
With those layers, we can make sure that movements of a scroller for
example just means that this graph of objects in the scroller needs to
be recalculated, and not the complete ui.

The advantage of having this to layer bound datastructures is that you
can easily debug those graphs, since the complete layer of this
managerobject can be calculated completly.
2017-04-20 14:38:57 +02:00
Jean-Philippe Andre 331bf9f746 elm_image: Fix file_set when preload is disabled
If we disable preload, then the second file set on an elm_image
object would not trigger a deletion of the first image. As a
consequence, both images would be visible... really bad if there's
alpha or different dimensions!

Thanks Anand Kumar for the report!

@fix
2017-04-20 18:54:59 +09:00
Jeeyong Um c8ca766a49 elm.hoversel: highlight selected item when auto update is enabled
Summary:
When auto update is enabled, the label of the hoversel will be that of selected
item. This feature is usually used when changing state of something.
Highlighting item previous selected will show what is current state more
explicitly especailly hoversel has many items.

Test Plan: elementary_test -to hoversel

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4799

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-19 10:49:21 -07:00
se.osadchy abd71b2cfc elm_map: Fix elm_map_overlay_color_get
Summary:
Add all supports types for overlay color (such as in Doc.)
@fix

Reviewers: cedric, Hermet, raster, NikaWhite, jpeg

Reviewed By: jpeg

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D4800
2017-04-19 14:55:41 +09:00
Vyacheslav Reutskiy c4e7d611d6 elm_filselector: don't force the icon size
A icon in the files view, mode grid, should not apply size bigger then
swallow for it. This commit additional fix for
52ddf9331a
2017-04-18 11:32:52 +03:00
Carsten Haitzler 706c7f9e3b genlist - fix coverity complaint about null check
we checked for null and then just used a null return later inthe loop.
this fixes that. this should fix CID 1360955
2017-04-18 17:30:50 +09:00
Vyacheslav Reutskiy 52ddf9331a elm_fileselector: fix thumbnail size for other themes bisides default
Elm_fileselector has the hardcoded value for calculate the item size
with thumbail, this size was 16, it's looks like thumbnail size plus
labal text height, but hardcoded value haven't effect to scale. Other
problem with items without labels. As a result we have correct
thumbnail size only with default theme and with scale 1.0.

This commit made the item size accordingly to size what user set. It's
made more clearly this API behavior.

@fix
2017-04-18 10:04:07 +03:00
Vyacheslav Reutskiy 0ecf3c6906 fileselector: apply style for files view
By some reason style does not applyed to genlist/gengrid in
fileselector. Also fixed issue with applyed style for files view on
change mode.  Now this problem is fixed.

@fix
2017-04-18 10:04:07 +03:00
Jean-Philippe Andre acb9ae70fe eo/elm: Simplify box/grid EO API
After talking with @eunue I realised that the way I'd first
implemented the box/grid "pack" API was simply too complicated.
I had tried to make it possible to change the layout function
at runtime, like good old evas box, but since there are no function
pointers in EO the final design was really convoluted.

If someone really needs to change the layout of a box at runtime,
just create your own subclass, or unpack all items and repack them
in a new box.

Note: there are still some issues with the layout params & flow
2017-04-18 15:34:29 +09:00
Woochan Lee e85c92662b elm_calendar: Improve code quality.
Summary:
The values(259200, 86400) are hard to know the meaning.
And we don't have to call gmtime() in for loop.

Test Plan: elementary_test -> calendar

Reviewers: jpeg, Hermet, shilpasingh, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4717
2017-04-18 10:17:07 +09:00
Derek Foreman fddbf75fc9 Fix sed error that changed "video" to "videfl"
commit c662934be8 seems to have accidentally
renamed a few instances of _video_ to _videfl_, this hopefully changes
them all back.
2017-04-17 17:06:28 -05:00
Stefan Schmidt 9a15eeaced Revert "efl: terrible kludge so avoid termination crash on osx"
The only purpose of this commit was to allow efl 1.19 to be
released on macOS wothout crashing on termination. Time to revert
it and see that we can find a real fix for the next release.

This reverts commit cd5e755951.

ref T5245
2017-04-13 16:11:39 +02:00
Godly T.Alias 5cba6a5857 Genlist: Performance optimization for genlist in non-filter cases
Summary:
When _item_filtered_get is called, block and pan re-calculations
happen, When there is no filter applied, we can skip item filtering to
avoid some unwanted calculations

Reviewers: cedric, raster, SanghyeonLee

Reviewed By: raster

Subscribers: rajeshps, Princekrdubey, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4759
2017-04-13 16:40:29 +09:00
JinYong Park 86008fa411 notify: fix hide animation logic for popup
Summary:
When popup is timeout, notify call hide func, and send time out event to popup.
After popup receiving time out event, popup hide object again,
so hide animation doesn't show.
And notify hide function doesn't send hide signal to block events part,
(but dismiss function send it)
So add that signal.

Test Plan:
 1. elementary_test -to popup
 2. click first item, "popup+center+text"
 3. compare time out event before this patch and after.

@fix

Reviewers: herb, singh.amitesh, Hermet, cedric, raster, jpeg

Differential Revision: https://phab.enlightenment.org/D4780

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-12 14:25:53 -07:00
Jean-Philippe Andre 8ff2dffe7c evas/elm: Fix bad propagation of ON_HOLD flag
Test scenario:
  elementary_test -to "ExtScroller"

Try and modify a slider's value with the mouse wheel. Bad things
were happenning, as the flag ON_HOLD was not properly propagated
from the slider to the scroller. This is because the legacy
event_info structure inside the eo event info was not updated
with the new flag value.

By introducing a new EO only API, which is meant to remain
internal, we can use a single legacy info structure, fixing
this issue.

Note: In the future this API needs to be internal, not protected.

@fix
2017-04-12 18:43:15 +09:00
Jean-Philippe Andre a5e019b468 scroller: Fix issues with looping and paging
Prerequisites:
  Disable scroll animation (in elementary_config)

Test case:
  elementary_test -to Scroller

1. Scroll with the mouse wheel. Scrolling will not loop or anything.
2. Enable loop in Y, scroll to the top and to the bottom, verify
   that scrolling loops fine and shows the last and first page in
   full.
3. Enable page snapping, and repeat 2.

FIXME: Page snapping doesn't do much if you use thumbscroll or
       drag the scrollbars.

FIXME: In the test case, Y +/- 1 is useless as the scroller snaps
       to the pages even without snapping enabled.

@fix
2017-04-12 17:07:48 +09:00
Jean-Philippe Andre 0cd610af20 scroller: Fix freeze after dragging bars
The freeze property is a set() only but could internally
be reset to false, after dragging a vertical or horizontal slider.

Test scenario:
  elementary_test -to scroller

Click Freeze, test the mouse wheel (can't do anything), drag a
scroller side bar, test the mouse wheel again.

Before this patch, the scroller would scroll. After the patch, the
scroller remains fixed, respecting the value of freeze.

FIXME: It is possible that the proper fix would be to disable
       bars drag during freeze, but that is not the case currently.

NOTE: freeze, hold, movement_block, lock_x/y have very similar
      meanings. The doc really needs clarification here, and some
      property might be removed. Also, freeze and hold have no
      getter, only a setter. drag_lock_x/y is part of elm_widget,
      and not specific to scrollers.
2017-04-12 15:18:24 +09:00
Jean-Philippe Andre 59cf7c7ab7 scroller: Fix CRI if scroll animation is disabled
If the scroll animation is disabled, we ended up with an
immediate call from inside a post-event callback to modify
the canvas geometry which led to feeding events. Since
99d21f6d9c and 54e5841b2f it is basically forbidden
to modify the canvas or feed events from the post-event cb.
This is because feeding events from inside the post-event
callback can break the logical order of operations between
post-event cb and event cb.

Note: This also implements no-animation scrolling for page
scroll, in case scroll animation is disabled (unifying the
code did that).

Fixes T5289 (abort inside E)
2017-04-12 14:54:15 +09:00
Jean-Philippe Andre bc4f803d37 scroller: Fix wheel scroll with imbricated H+V scrollers
Test scenario:
 elementary_test -to "Scroller 2"

Use the mouse wheel to scroll inside the horizontal scroller
(the one with many "...Horizontal scrolling..." buttons). This
scroller should scroll horizontally. When reaching the end of
this scroller, the main vertical scroller should take over
and scroll vertically, but only after a 0.5s timeout has passed.

Before this patch, you could wait forever and scrolling inside
the horizontal scroller would never trigger a scroll in the main
vertical scroller, despite reaching the end point.

In 1.18 both the main and the horizontal scrollers scroll
simultaneously. The imbricated vertical scrollers seem to work
as designed, but not H inside V.

@fix
2017-04-12 14:32:33 +09:00
Carsten Haitzler 6e7c8e591b elementary - efl ui flip - fix map apply for page flip
this mirrors the fix in fd69113f6a by jp
into the elm flip widget too.

@fix
2017-04-11 09:56:22 +09:00
Carsten Haitzler 46bfd7ffb9 elm config - reload at runtime - fix env var overrides being lost
if you set config via environment variables then sa config
update/reload may end up overriding these again whenever it is updated
and thus may result in scaling or other things suddely changing

@fix
2017-04-10 11:05:56 +09:00
Andy Williams 314f2763c6 elm_code: trigger user change event on applying an undo/redo
@fix
2017-04-07 23:36:29 +01:00
Mike Blumenkrantz 442844441e elm_win: set wl window type during finalize
@fix
2017-04-07 16:06:41 -04:00
Cedric BAIL d2816c3879 elementary: fix test breakage.
It is perfectly valid to call this API with no pointer provided.
2017-04-07 11:38:10 -07:00
Andy Williams c5dce45a95 elm_code: Expose whether or not undo and redo can operate
A quick peek at the stack will allow us to inform users
of the widget if operations will apply.
2017-04-07 18:14:31 +01:00
Shinwoo Kim 7a2aeec9ce elementary: win - override atspi component get interface
The efl_ui_win overrides _elm_interface_atspi_component_extents_get to give
correct value if screen_coord is EINA_FALSE which means relative position.
The efl_ui_win has given its object geometry value + ecore evas geometry value.
The object geometry value was equal to the ecore evas geometry value, so the
relative position was not correct(twice of ecore evas geometry value).
2017-04-07 13:43:00 +09:00
Andy Williams b5761fc227 elm_code: Don't refresh if fonts did not change 2017-04-06 23:30:00 +01:00
Jeeyong Um e7319b84e4 elm.hoversel: adjust alignment correctly in mirror mode
Test Plan: elementary_test "hoversel"

Reviewers: cedric, jpeg

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D4751

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-06 15:20:49 -07:00
Andy Williams 595fc25f3f elm_code: fix copy/paste bug that slipped through 2017-04-06 23:14:03 +01:00
Bryce Harrington 9610d4aaa6 elm_code: Fix coverity issue divide by zero
Summary: @fix 1371128: DIVIDE_BY_ZERO

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: ajwillia.ms, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4771
2017-04-06 22:40:13 +01:00
Andy Williams e44c33f233 elm_code: Fix bug when deleting slection beyond start of document.
@fix
2017-04-06 22:16:27 +01:00
Jean-Philippe Andre 1d5b65ab85 access: Fix warning hiding a potential crash
See 5da4c96087
2017-04-06 18:14:40 +09:00
Carsten Haitzler c3372a5c7a fix evas canvas callbacks to use correct legacy callback function 2017-04-06 14:43:04 +09:00
Carsten Haitzler 987620390b elm - cache dump - disable this to fix jp's issues of proxies etc.
this will stop proxies, maps, and other filter object content from
being dropped whenever elm calls elm_cache_all_flush() to flush all
caches.

@fix
2017-04-06 14:31:19 +09:00
Andy Williams ddb189bb1f elm_code: Fix crashes with backspace on OpenBSD
@fix
2017-04-05 23:59:23 +01:00
Andy Williams 650606ab90 elm_code: better safety around widget edge cases
Fixes crashes when dragging selection out of widget.
@fix
2017-04-05 22:40:43 +01:00
Shinwoo Kim 5da4c96087 elementary: access calls "access,activated" smart callback
The "access,activated" smart callback is called when "Activate the selected item"
gesture occurs.
Application could do the activation action using elm_access_action_cb_set.
But we recommend not to use elm_access_action_cb_set for this purpose on atspi
environment. And this would be usual widget behavior as elm_button does.
2017-04-05 19:58:46 +09:00
Marcel Hollerbach 87a25fd353 combobox: fix 0px height on first click
the height of a item is 0 because the item is not realized, so if no
item is realized we are waiting until one is realized, until then we
just take 1px as a height, so at minimum one item needs to be realized.

If there is a realized item (or we are getting the event that there is
one) we are just calling _table_resize again, and are getting the size
for real.
2017-04-01 10:41:35 +02:00
Marcel Hollerbach 9661ab7052 combobox: fix layer setting for the hover
in cases where a ui is using layers other objects could overlap the
hover object. Which is wrong, the genlist should stay above the rest of
the content, in any case.
2017-04-01 10:41:35 +02:00
Marcel Hollerbach 4ef3f6366f combobox: Fix combobox for the case the parent is not the window
if the parent is not a window the elm hover is created for the parent of
the combobox, which is a problem because the hover will not expand to
its full size of the window, and will stay in the size of the parent.

Adding the top widget instead of the parent widget fixes that.
2017-04-01 10:41:35 +02:00
Andy Williams b40b1052b5 elm_code: fix backspace newline in BSD 2017-03-31 21:53:14 +01:00
Jean Guyomarc'h cd5e755951 efl: terrible kludge so avoid termination crash on osx
Currently, elementary programs crash on termination on macOS (seems
Sierra-specific). This is very nasty, looks like deep memory corruption...
Without valgrind (or like) support on Sierra, it is difficult to
pinpoint the origin of the problem.

Due to the imminient release, and after discussion with @stefan, this
kludge will allow the release to happen.

This commit MUST be reverted just after the release, so we don't
blindfold ourselves!

Ref T5245
2017-03-31 14:11:01 +02:00
Jaeun Choi e2d1da14b8 elm_flipselector: delete ecore job in group del function
ecore_job_del was missing in a4d2c51d14
2017-03-31 14:17:12 +09:00
Jaeun Choi a4d2c51d14 elm_flipselector: fixed flipselector item deletion process
flipselector item destructor had a severe drawback and this patch fixes it.
when deleting multiple items at once, the view needs to be updated only once.
however, the destructor updated the view on deletion of
every single item and it caused a severe performance issue.
the worst case happened when deleting a flipselector object -
with 10000 items, it took 10 seconds to finish deletion.

this patch has two points:
1. if a flipselector object is on deletion, item destructor doesn't update the view
2. otherwise, view update is handled in one job for multiple item deletion
2017-03-31 13:30:53 +09:00
Andy Williams 6fb1782576 elm_code: Fix newline crash on BSD
@fix
2017-03-30 23:20:22 +01:00
Jean-Philippe Andre c234422357 win: Mark unstable APIs as @beta (stack API)
We have a tag for unstable API, use it. It'll be visible in the
doc and force users to add the macro before being able to compile
code.

This amends d8dd685966.
2017-03-29 09:51:28 +09:00
Carsten Haitzler d8dd685966 window stacks - make these unstable bta api for now
until settled, make these as beta for now.
2017-03-28 13:51:39 +09:00
Amitesh Singh ecd89e0591 gengrid: fix the crash in _elm_gengrid_item_edge_check
_elm_gengrid_item_edge_check can have eo_it as NULL if none of widget item
is focused. This could happen if item_focus is not enabled on items.

test case: elm test -> gengrid 2 (enable only "focus hightligt set") and move focus.

@fix

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-03-26 20:48:02 +05:30
Umesh Tanwar dd627324f9 Gengrid: Bring the item into view scope before swapping.
Summary:
The gengrid item should be into view scope while reordering the items.

@fix
Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>

Test Plan: elmementary_test -> gengrid 2 -> horizontal mode + reordering

Reviewers: singh.amitesh, cedric

Subscribers: cedric, atulfokk, jpeg

Differential Revision: https://phab.enlightenment.org/D4740

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-03-26 20:26:15 +05:30
Andy Williams d15faf08fe elm_code: fix CID 1368489
@fix
2017-03-25 12:59:13 +00:00
Andy Williams 2c0b850f57 elm_code: fix keyboard selection forward
@fix
2017-03-21 22:36:53 +00:00
se.osadchy a63ce8c2e2 elm_map: Fix work of elm_map_overlay_icon_set if icon is NULL.
Summary:
Delete check on NULL for icon object due to incorrect work. Function must delete
icon in map overlay (according to documentation) if we set NULL, but with this check -
nothing happening and after elm_map_overlay_icon_get we have not NULL returned value.
@fix

Reviewers: cedric, Hermet, raster, jpeg

Reviewed By: cedric

Subscribers: artem.popov

Differential Revision: https://phab.enlightenment.org/D4720
2017-03-21 11:13:15 -07:00
Jean-Philippe Andre 76b5749ea0 genlist: Fix another issue with insert sorted
Fixes T5274

@fix
2017-03-20 22:25:32 +09:00
Andy Williams f6434c0e0d elm_code: Update and demo status messages inline 2017-03-17 10:07:04 +00:00
Shinwoo Kim 85a27be447 elementary: enhance atspi accessible documentation 2017-03-17 16:53:23 +09:00
Vyacheslav Reutskiy 6723c3b1c3 gengrid: avoid call select callback twice in mode ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
If multi select mode is ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL and
user code try unselect a item and select another part which not
realized select callback calls twice in this case. For avoid this no
needs focus newly selected item.

@fix
2017-03-17 09:10:13 +02:00
Chris Michael 23eb88709b elementary: Fix minor typo in efl_ui_win.eo
Small patch to fix a minor typo in the "noblank" property of
efl_ui_win.eo

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-03-14 10:51:54 -04:00
Jean-Philippe Andre 83619af10a genlist: Fix a leak
Thanks @herdsman
2017-03-14 23:07:34 +09:00
Jean-Philippe Andre fbe72f6e4b genlist: Fix some more decorate mode issues
The item, after having been unswallowed from its decorate
item, becomes unclipped and unparented. The parent was well
reset, but the clip wasn't.

Test case:
  elementary_test -to "Genlist Decorate Item Mode"

I'm sure some bugs are still lurking. Genlist is so lovely.

Fixes T1551
2017-03-14 14:04:39 +09:00
Jean-Philippe Andre 635b4ad8f3 genlist: Make sure only one item is decorated
In "Genlist Decorate Item Mode" after decorating a few items
(rotate or slide, doesn't matter), only one item or none should
be decorated. Scrolling up and down the genlist should work just
fine. This fixes massive render issues and inconsistent states
of the items in this test case.

"rotate" mode is still going nuts.

Ref T1551
2017-03-14 11:04:16 +09:00
Jean-Philippe Andre ab735ada77 genlist: Make logic more readable 2017-03-14 11:04:16 +09:00
Jean-Philippe Andre f1974b7b1c genlist: Fix invalid call to stack above/below
Test process:
  elementary_test -to "Genlist Decorate Item Mode"

Slide any item to the right, observe error logs.

Ref T1551
2017-03-14 11:04:16 +09:00
Cedric Bail f06600fc29 elementary: refactor code to avoid duplication in elm_code_widget. 2017-03-12 15:36:17 -07:00
Andy Williams 54e6f3f012 elm_code: Don't leak rows when we resize down
Thanks Cedric :)
@fix
2017-03-12 13:35:41 +00:00
Cedric Bail 343d2e0d87 elementary: force elm_code line fill on object resize.
This fix elementary_test use of elm_code where the object needed
to get clicked to have their content displayed. The reason was that
the line where appended while the object size was 0 and once it was
resized the line where not displayed.
2017-03-11 16:55:05 -08:00
Andy Williams 53c9a06c2d elm_code: Fix position of cursor in selection
Make sure cursor is always at the left of our selection
@fix
2017-03-10 14:27:17 +00:00
Umesh Tanwar d4dd0b20df Gengrid: Correct double comparision.
Summary:
 Use the more accurate EINA_DBL_EQ for double comparision.

@fix

Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>

Reviewers: singh.amitesh, cedric, jpeg, raster

Reviewed By: singh.amitesh

Subscribers: atulfokk, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4706

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-03-10 12:00:42 +05:30
Jean-Philippe Andre 6c62ae3e6e Revert "Genlist: Calculate the min size of content before item realize"
This reverts commit 60566ca34d.

This broke the layout in "Genlist Full Widget"
2017-03-10 15:20:22 +09:00
Jeeyong Um 60566ca34d Genlist: Calculate the min size of content before item realize
Summary:
Genlist item doesn't change its size when its content size is changed,
but its size is determined in realization.
Therefore, deferred calculations for content should be performed immediately
before swallowing it by genlist item.

Test Plan: make and run attached sample

Reviewers: cedric, SanghyeonLee, jpeg

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D4705
2017-03-10 14:59:48 +09:00
Jean-Philippe Andre fc40d3d559 genlist: Fix invalid state of reused content
If an item is marked as disabled it should be re-enabled
before being put in the reusable contents cache. Otherwise
a following use of this object may result in a disabled
item being used, making the UI effectively disfunctional.

Also modify the test case to show and test this behaviour.

Add an efl_isa() to protect calls to elm_widget APIs.

Fixes T5236

@fix
2017-03-10 11:22:13 +09:00
Cedric BAIL 93b63b48e8 elementary: avoid crash during shutdown due to Ecore_Event queue. 2017-03-09 16:17:58 -08:00
Taehyub Kim 425a04beb3 popup: hides the popup when hide effect is finished
Summary:
When popup hides and shows fast, sometimes popup is not shown
because of the difference visible value between popup and notify
(case: popup visible state: 1, popup_notify visible state: 0)
To sync this value I added the visible set code in elc_popup.c

@fix

Test Plan:
1. run elementary_text -to popup
2. shows the hide popup
3. hides popup using the hide button
4. repeat 2,3 step
5. popup will be shown well

Reviewers: jpeg, cedric, Hermet, raster

Subscribers: Blackmole, woohyun

Differential Revision: https://phab.enlightenment.org/D4710
2017-03-09 17:39:39 +09:00
JEONGHYUN YUN 3147066865 multibuttonentry : fix box indicated item correctly in item_insert_before and item_insert_after
Summary:
If user added item with item_insert_before and item_insert_after, item was not displayed.
For this reason, fixed box indicated item correctly from reference->button to VIEW(reference).
Additionally, remove the unused variable button in _Multibuttonentry_Item struct.

Reviewers: woohyun, CHAN, cedric, jpeg

Reviewed By: CHAN

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4708
2017-03-09 16:11:34 +09:00
Youngbok Shin a7b501d947 naviframe: keep unfocusable state of item before finishing item push/pop
If item pop was started without focus at a naviframe object
and the naviframe object got focus before finising item pop,
the naviframe object could give focus to its first object of prev item.
It could ruin focus orders and failed to restore previous focused
object in the item.
To keep consistency of focus policy, same logic will be applied to
item push scenario.
@fix

Change-Id: Ia74bdce3620bd59622ef32a0cedf5fbd84815400
2017-03-08 17:26:59 +09:00
Cedric Bail 500401364d elementary: fix tests build. 2017-03-06 17:03:19 -08:00
Andy Williams c19d3b402a elm_code: Fix missing syntax for .eo files
This was accidentally removed in the transition from edi.
using text/x-eolian which is not well reported by the FS yet.
@fix
2017-03-04 15:42:33 +00:00
Jiwon Kim e6a1e456cb genlist: Remove weird behavior about item_show, bring_in
Summary:
When if item_show / bring_in is proceeded as 'deferred_show'
sequence, Scrollto_Type does not be checked perfectly.
As a result,
ELM_GENLIST_ITEM_SCROLLTO_NONE and any other integer values
are worked such as ELM_GENLIST_ITEM_SCROLLTO_BRING_IN.

As doxygen of Elm_Genlist_Item_Scrollto_Type,
ELM_GENLIST_ITEM_SCROLLTO_NONE and other incorrect number
should not work.

Fixes T4854

@fix

Reviewers: SanghyeonLee, woohyun, jpeg

Reviewed By: jpeg

Subscribers: id213sin, conr2d, cedric

Maniphest Tasks: T4854

Differential Revision: https://phab.enlightenment.org/D4684
2017-03-02 16:43:47 +09:00
Derek Foreman 7359f0be6e elm_cnp: allocate space for null terminator in _wl_targets_converter
strcat needs room for a string terminator.
2017-02-28 17:23:03 -06:00
Chris Michael e725c0db95 elementary: Don't update opaque/input regions if not visible
Small patch to reduce calls to setting opaque/input regions in
wayland. Basically, if the window is not shown then there is no point
in updating these regions until such time that the window is actually
visible and the regions will get committed.

ref T5226

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 11:29:24 -05:00
Andy Williams dc08c57411 elm_code: Hide the cursor when it is off screen
This resolves cursor artifacts that could be seen @fix
2017-02-27 20:51:40 +00:00
Chris Michael 0a9542e223 elementary: Fix issue of trying to init ecore_wl2 if DISPLAY is set
Small patch to fix an issue that Derek brought up ... that is
basically, if you try:

WAYLAND_DEBUG=1 WAYLAND_DISPLAY=wayland-0 terminology while inside an
X11 environment, then elm_config would try to initialize ecore_wl2
even when running under X11.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-27 12:35:58 -05:00
Chris Michael fd77ff0d92 elementary: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-27 11:33:57 -05:00
Chris Michael 59bf5476ee elementary: Don't set pointer object theme on start
As we are already resetting the pointer object theme when we make a
call to set the cursor, don't set it on window creation. This should
address the issue of animators getting created on window creation.

ref T5209

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-27 11:33:49 -05:00
Minkyu Kang a2dd9fc99d elementary tooltip: adjust arrow if tooltip was moved
Summary:
If orientation is TOP, BOTTOM, LEFT and RIGHT and
tooltip was moved due to located out of screen,
adjust location of arrow so that can indicate right position.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>

Test Plan: elementary_test -to tooltip4

Reviewers: cedric, Hermet, jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4554
2017-02-27 20:13:06 +09:00
Jean-Philippe Andre 726994d175 genlist: Final fix for odd/even styles issue
The key was to emit & process the signal to the edje objects
(item views) at the same time as we move them, ie. from the
loop in _item_block_position().

Also the proper counting must be used at all times. Hidden
items should not be counted.

Tree effect may still have issues but otherwise there is no
more blinking, double odd or even rows, etc... It all looks
good (as long as there is no tree effect!).

Fixes T3086

@fix
2017-02-27 16:26:41 +09:00
Jean-Philippe Andre 3574eb8c07 genlist: Fix fileselector crazy behaviour
When using the fileselector in tree view mode (ie. expandable),
expanding any folder with a lot of files in it would cause the
genlist view to jump somewhere to the bottom. This is because
the mechanism preventing the view from moving was assuming that
all "prepend" operations meant prepending before the selected
item. This is not the case in case of expansion like in the
fileselector.

@fix
2017-02-27 16:26:41 +09:00
Jean-Philippe Andre 380759a89e genlist: Fix rare jump in prepend insert
If an item is selected, and another item is insert before
the selected item, then we try to lock the genlist view (pan)
around the selected item (if it's visible). Unfortunately,
every 16 inserts cause a jump by one line in the scroller.
That's because the scroll math assumes the block position is
known, but since it's a new block it wasn't known.

This patch fixes this issue by precalculating the block position.

Test scenario:
 elementary_test -to "Genlist Tree, Insert Relative"

Select an item, clikck 50 times on "+ before".
The view should not jump.

This does not fix fileselector's craziness.

@fix
2017-02-27 16:26:32 +09:00
Jean-Philippe Andre bb38083287 genlist: (Mostly) fix item index odd/even styles
This fixes the internal item order index.

Note that groups don't reset the odd/even styles. The
original code wasn't very clear on the intent (setting
to 0 in one case, not increasing the counter in another,
but that was not consistent all over the place). I believe
resetting the odd/even styles at a group boundary would
look great, but this might be for another patch :)

This amends part of another commit, but keeps its feature:
 b40a6eb85bf44a genlist: implement list position signals.

See T3086

PS: I've discovered more odd/even issues with the
    fileselector in particular. Still working on it...

@fix
2017-02-27 09:26:41 +09:00
Jean-Philippe Andre 519b782ff2 Revert "elm_genlist: when appending items to the parent, prepend to the parent"
This reverts commit 43d82e567a.

I don't understand this commit. It broke the logical order of
items, as the internal list wouldn't match the order on screen.
Other places in the code didn't seem to make this assumption
that parents come after their children. And for sure my recent
fixes require the parent to come before.

This commit was one of the many reasons why odd/even styles
look often wrong.

See T3086
2017-02-27 09:26:41 +09:00
Jean-Philippe Andre 254ff7926b genlist: Remove macro GL_IT()
It was used to hide "it->item"... but was used less than it->item
itself. Explicit code here is not longer, and just as readable.
This macro I think was harmful to readability.

Simple sed, no real change at all.
2017-02-27 09:26:41 +09:00
Chris Michael 2537cd2cf7 elementary: Fix compilation for SDL
Not sure how long this has been broken, but the variable name changed
in this routine to "is_gl_accel"..."is_hw_accel" is no longer used, so
change variable name here to fix compilation with SDL.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-23 12:39:02 -05:00
Jean-Philippe Andre bc31a47fd9 elm: Restore ABI compatibility (elm_pan_gravity)
elm_pan_gravity_{set,get} are functions that were generated as
legacy APIs (in other words EAPI), but were never actually exposed
to applications as they were protected behind EFL_EO_API_SUPPORT
(see elm_interfaces.h).

This patch restores the ABI compatibility with elementary 1.18.
2017-02-23 15:43:56 +09:00
Jean-Philippe Andre 6245639b9c genlist: Simplify code (remove one argument)
Parameter "qadd" is always true when calling _item_process_post(),
so simplify the code by removing it.
2017-02-22 17:05:34 +09:00
Jean-Philippe Andre 3f41cdf59b genlist: Fix more tree issues (expanded state)
This fixes a lot of cases where a genlist node (of any type)
with children may have appeared in the invalid expanded or
contracted state.

Before this patch, the test case "Genlist tree, Relative insert"
looked like below (all items are programmatically added):

> A
  > 1
  > 2
> B
  > 3
  > 4

The problem above is that A and B have visible children but
still believe they are in contracted state. This patch ensures
that A and B will be marked as expanded, but will do so without
firing an "expanded" signal and definitely without the
"expand,request" signal.

After this patch, the test case will look like this:

v A
  > 1
  > 2
v B
  > 3
  > 4

Which is more correct. Note that this test case does not handle
any expand/contract signal.

NOTE: This is a behaviour break!
2017-02-22 17:05:34 +09:00
Jean-Philippe Andre aa5414f95d genlist: Fix insert after with a tree
This fixes a case where inserting item "C" after item "B" in this
tree would go wrong:

A
B
- 1
- 2

Before this patch, 1 and 2 lose their parent:

A
B
C
- 1
- 2

After this patch, 1 and 2 retain their parent:

A
B
- 1
- 2
C

Insert before worked by luck, no need to fix it.
Note that this patch may require the next one to actually
work (ensuring expanded state flag).

NOTE: This is a behaviour break!
2017-02-22 17:05:08 +09:00
Jean-Philippe Andre fe6bdf30cd genlist: Fix sorted_insert with tree
This fixes the test case "Genlist Tree, Insert Sorted".
This is a pretty ugly patch... but the genlist code is already
pretty ugly, as it keeps a flat inlist of items (sd->items)
as well as a tree structure in parallel.

Before this patch, the following configuration led to issues:

 1
 3
 - A
 - B

Adding item "2" led to a crash. Adding item 4 led to this:

 1
 3
 4
 - A
 - B

Items A and B lost their parent "3". Subsequent sorted inserts
would lead to insane bahaviour, where for instance "8" would
appear before "3".

This patch fixes all sorted inserts, at the cost of performance
(an optimized code path is avoided). Subsequent patches will
increase the robustness of the tree structure.

NOTE: This is a behaviour break!

Fixes T4850
2017-02-22 14:46:28 +09:00
Minkyu Kang e62d78d594 elementary gengrid: fix for working item reorder mode correctly
Summary:
Change the item indexing to start 1 after reordering animation.
Change the logic of edge checking to get the row or col correctly.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>

Test Plan:
elementary_test -to gengrid2
append 6 items
enable the reorder mode
check reordering is working properly (4 to 1)

@fix

Reviewers: singh.amitesh, cedric

Subscribers: jehun.lim, jpeg

Differential Revision: https://phab.enlightenment.org/D4676
2017-02-21 15:18:11 +05:30
Jean-Philippe Andre 629acbc545 dayselector: Fix DaySelector widget
An invalid strcmp() led to always reject the swallowed
widgets, which were Elm.Check instead of Elm_Check.
Use efl_isa() instead.

Fixes T5034
2017-02-21 18:15:22 +09:00
Jean-Philippe Andre aac07ca6c1 elm: Make clock widget more resilient to invalid config
I was in a situation where my elm_config had the proper version
but did not contain a proper module name for the clock widget.
This resulted in not being able to create any field object in
the clock widget... in other words it made for a very useless
clock :)

Ideally the config should be updated at this point. I'm not
sure how to proceed exactly, though :(
2017-02-21 16:18:15 +09:00
Wonki Kim 80e3c643d8 interface_scrollable: Improve gravity_set api to support pan changing
Summary:
When you set gravity 1 on scroller, scroller sticks to the bottom
even content is changed.
however, scroller don't work like above, if size of pan is changed.

this commit uses pan_pos_max rather than w/h of content_info
because pan_pos_max is related with both content_size and pan size.

gravity_set will work properly even if both size of content and pan are
changed simultaneously.

Test Plan:
1. Select 'scroll3' in the elementary_test
2. Append enough items so that scroll bar appears (about 30 items)
3. Go to the bottom and Set gravity 1.0
4. Check that scroller sticks to the bottom once you append another item
   (it works)
5. Check that scroller sticks to to bottom once you resize window(pan)
   (it doesn't work without this patch)

Reviewers: eagleeye, jpeg, cedric, woohyun, z-wony, herdsman

Differential Revision: https://phab.enlightenment.org/D4665
2017-02-20 11:38:02 +09:00
Andy Williams e0e2dc92f5 elm_code: Another Coverity fix, better this time.
@fix CID1371322
2017-02-19 14:15:29 +00:00
Carsten Haitzler 4bd96d29d3 elm code - fix warning about sign comparisons 2017-02-19 15:48:41 +09:00
Andy Williams 2c1aeef3d6 elm_code: Fix Coverity issues.
@fix CID1356612 CID1368335 CID1368489 CID1371123 CID1371124 CID1371126 CID1371128
2017-02-18 21:41:53 +00:00
Carsten Haitzler b8af191a20 fix entry selection by having proper cfg update and def fields
this should fix T5183
2017-02-17 17:21:20 +09:00
Jean-Philippe Andre af0d850a9d gengrid: Remove duplicated smart callbacks
WRN... evas_smart.c:219 evas_smart_cb_descriptions_fix() duplicated
  smart callback description with name 'item,focused' and type ''
2017-02-16 22:05:58 +09:00
Jean-Philippe Andre 1166f753fb widget: Reduce WRN to DBG for on_focus_region message
Many widgets don't implement this function, and this case is
perfectly well handled by the caller. No need to WRN here.
2017-02-16 22:00:19 +09:00
Jean-Philippe Andre 063c3529a5 win: Avoid magic check failed in ecore with inline win
Fixes T4663
2017-02-16 21:45:12 +09:00
Jean-Philippe Andre c09b921e34 win: Avoid malloc in icon_object_set
Also support both Evas.Image and EO Efl.Canvas.Image classes.
Add a test case in elm_test (under "Icon").

I'm not so happy about this patch... it shows that the API
barrier between legacy and EO implemented for images may not
be such a great idea after all :(
2017-02-16 21:05:32 +09:00
Jean-Philippe Andre 8226fb2e87 win: Fix window icons with object set
Fixes T4981
2017-02-16 20:05:04 +09:00
Jean-Philippe Andre abcd918946 fileselector: Add missing call to group_del
Remove unused refcount thingy and enforce call to smart del.

Fixes T4598
2017-02-15 20:11:22 +09:00
Jean-Philippe Andre d689afccae group: Track calls to group_del
After a long search I found that fileselector was not calling
super.group_del on deletion, leading to the use of dangling pointers.
So let's verify that group_del is properly called.

See T4598
2017-02-15 20:11:22 +09:00
Amitesh Singh b66dd0635f genlist: remove uncessary _item_cache_zero call
_item_cache_zero() is already getting called in _mirrored_set

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-02-15 16:00:15 +05:30
Vyacheslav Reutskiy c321e152a9 elm_genlist_item: update docs for 'next_get' 2017-02-15 10:03:09 +02:00
Jean-Philippe Andre a568d26f72 evas & elm: Fix invalid uses of efl_data_ref(obj, NULL)
The data class should be specified for debug purposes.
Also, this fixes invalid uses inside the smart object
implementation where it assumed that the smart data was part
of the eo data. It may not (legacy objects).
2017-02-15 15:35:38 +09:00
Jean-Philippe Andre c23ae314a4 elm_widget: Fix order of operations (isa before data_get)
This fixes some of the occurences of the following error message
when using eo_debug:

ERR<23101>:eo /home/jpeg/e/core/efl/src/lib/eo/eo.c:1955
  efl_data_scope_get() Tried getting data of class 'Elm.Widget'
  from object of class 'Edje.Object', but the former is not a
  direct inheritance of the latter.

If we're going to call efl_isa, then let's at least do it before
efl_data_scope_get.
2017-02-15 13:38:19 +09:00
Woochan Lee 2bc44b055e elc_multibuttonentry: input panel should be shown whenever mbe is clicked.
Summary:
When mbe got focus the input panel will be shown.
Otherwise, input panel will be hidden.

If the mbe still got focus then input panel hide by user action.
there is no way to reactivate the input panel in case.

Reviewers: woohyun, jpeg, cedric, Hermet

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4661
2017-02-15 13:06:49 +09:00
Youngbok Shin a6fff5bc1e Edje calc: Fix textblock size calculation logic
Summary:
In singleline textblock, using "text.min: 1 0" and min, max width,
Edje allows to use expandable text with ellipsis. It shows ellipsis
when only text's width reach the max width.
But, Edje couldn't support same feature on multiline textblock.
Edje dose not use max height or text.max properly if ellipsis is enabled.
This feature is very useful to make a layout with dynamically aligned text.
@fix

Reviewers: cedric, tasn, woohyun, raster, herdsman

Subscribers: z-wony, eagleeye, jpeg

Differential Revision: https://phab.enlightenment.org/D3595
2017-02-14 16:17:02 +09:00
Woochan Lee a503296f73 elm_index: Skip box auto fill when index size is invalid.
Summary:
_index_box_auto_fill will be called when user calling elm_index_level_go(), elm_index_omit_enabled_set().

item size re-calculated and each item style reset even index size is invalid.
It can make performance issue during index creation time.

Test Plan:
elementary_test
index sample

Reviewers: taxi2se, jpeg, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4653
2017-02-13 20:21:52 +09:00
Jean-Philippe Andre 358f2898c5 win: Make ELM_ACCEL work with msaa, depth & stencil
This makes the env var override and the elementary config
global override on accel preference work for not only "gl"
but also advanced configs such as "gl:msaa_high:depth:stencil"
2017-02-13 19:54:29 +09:00
Carsten Haitzler f1693ee3e2 elm code - silence possibly uninitialied compiler warnings
every time i build efl i see all these warnigns spew by about elm_code
and possibly uninited vars being used. yes - they're filled in via ptr
ref bya  func but gcc definitely seems to think they MIGHT not be
filled in in some cases... and either way tyhe cost of setting to 0 is
minimal and less noise is better so we see real warnings more
easily... :)
2017-02-11 10:39:42 +09:00
Andy Williams 4596d795aa elm_code: Fix syntax crash on trailing newline in multiline macro
@fix
2017-02-10 20:16:31 +00:00
Carsten Haitzler 0356b1eb5e vpath usage - simplify to bare minimum to make gustavo happy
since these are only local path resolves, the do and wait are
technically not needed. also remove any other tmp strings
and use the vpath string resolving feature to avoid
printfs/strjoins/cats etc. etc. as well.

also remember to remove old name string from evas shm code - it worked
for me. i guess i was lucky and it happened to be NULL thus free was
fine.
2017-02-10 19:27:15 +09:00
Derek Foreman 2800038ee2 Revert "vpath usage - simplify to bare minimum to make gustavo happy"
This reverts commit 2037474dc0.

This causes the wayland_shm engine to seg fault immediately at
startup when attempting to create shm buffers.

Please make sure when committing changes to the wayland_shm engine to
test on intel, exynos, and at least one platform without dmabuf
capabilities - or using the EVAS_WAYLAND_SHM_DISABLE_DMABUF env var
to disable dmabuf on intel or exynos.

Anyone without the time or hardware to fully test changes to wayland_shm
can submit a patch to phabricator and assign it to me so I can fully
test it before landing.
2017-02-09 09:17:38 -06:00
Stefan Schmidt 9635ad1225 docs: elm: document new efl UI image factory class 2017-02-09 14:47:21 +01:00
Carsten Haitzler 2037474dc0 vpath usage - simplify to bare minimum to make gustavo happy
since these are only local path resolves, the do and wait are
technically not needed. also remove any other tmp strings and use the
vpath string resolving feature to avoid printfs/strjoins/cats etc.
etc. as well.
2017-02-09 22:06:16 +09:00
Carsten Haitzler d345b899b2 elm config - handle setuid apps correctly and dont create junk dirs in .
this fixes a bug where elm_cofnig would firstly use
~/.config/elementary which isnt what we have used before and so would
break older config. also it'd create junk if it was setuid. fix this.

@fix
2017-02-09 18:38:28 +09:00
Amitesh Singh a90c3ffe80 elm widget item: add guide about when to use item_signal_emit
genlist/gengrid now uses cache for view objects of items and
re-associate edje objects to different obj items whenever needed.
problem here is if app user changes the state of view object
(by sending edje signal, elm_object_item_signal_emit()) and
forget to reset it in unrealized, the old edje object state will link to other
object item, so its application user responsibility to reset
the edje state to normal in "unrealized" callback.

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-02-09 13:32:47 +05:30
Carsten Haitzler 2cdc63024d elm config - forbid bakcslash in profile name too
/ already is forbidden but \ might be valid on windows, so forbid it
too.
2017-02-08 21:19:39 +09:00
Carsten Haitzler 944ce7ef41 elm config - handle profile name of ".." as its obviously invalid
this forbids .., as a profile name in addition to the existing "stip /
from profile name".
2017-02-08 21:19:39 +09:00
Amitesh Singh 03cf41c02d elm code: check return value of elm_layout_theme_set
fixes CID 1366922
2017-02-08 09:54:42 +05:30
Jiwon Kim 4279fe8405 elementary: set mirrored mode in a group_add()
Summary:
When a scroller just added and theme not changed,
scrollable interface's 'mirrored' property is always default.

elm_config_mirrored_set(EINA_TRUE) -> elm_scroller_add(),
 : No mirrored mode
elm_scroller_add() -> elm_config_mirrored_set(EINA_TRUE),
 : Mirrored mode

@fix

Test Plan:
1-1. elementary_test scroller
1-2. Turn on UI-Mirroring

2-1. elementary_test
2-2. Turn on UI-Mirroring
2-3. Click 'scroller' button

(Check scroller test's 'prev page' and 'next page' buttons)

Reviewers: cedric, woohyun, akanad

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4564

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 15:14:54 -08:00
Wonki Kim 990afa25c3 elm_scroller: keep contents layout rel even if rtl is set
Summary:
Once rtl mode is set, elm_layout reverses its x-axis.
however, scroller uses elm_layout to contain both original content and
proxy image of it when loop mode is set.

In this situation, elm_layout should not reverse its x-axis when It is
used for container of proxy to support loop mode of scroller.

This commit will not apply rtl mode to contents layout (mirrored set)

Test Plan:
* Check that there is a proxy image over right edge of original content.

1. Run elementary_test
2. Open scroller
3. Switch UI_mirrored mode on
4. Test (Control with keyboard / mouse wheel control looks bad on rtl mod)
   a. go to the right edge with keyboard
   b. get over the edge

Reviewers: woohyun, z-wony, jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D4568

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 15:14:54 -08:00
Minkyu Kang 669d95252a elm_genlist: do not check scroll if show_item is NULL
Summary:
If show_item is NULL then does not need to check scroll.
But, sometimes show_item is NULL but check_scroll is true.
It was wrong and can makes a crash.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>

Reviewers: cedric, Hermet, SanghyeonLee, raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4569

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 15:14:54 -08:00
Jee-Yong Um ab68723b60 elm.entry: add configuration for the default value of select_allow
Summary:
Small devices (like smart watch) can disallow entry selection by default.
This patch enables to control this behavior with elementary configuration.

Reviewers: cedric, jpeg

Subscribers: id213sin, woohyun

Differential Revision: https://phab.enlightenment.org/D4615

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 14:17:47 -08:00
se.osadchy 56d31f30b7 elm gesture layer: add check for negative input tap start timeout.
Summary:
Add set 0 as start timeout if negative input value.
@fix

Reviewers: cedric, Hermet, raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4625

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 13:37:14 -08:00
YeongJong Lee 5bb2f5b7b4 efl_ui_image: fix wrong define
Reviewers: jypark, jpeg, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D4626

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 13:36:42 -08:00
YeongJong Lee 62803f9164 efl_ui_flip: fix wrong define
Reviewers: jpeg, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D4627

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 13:36:19 -08:00
Sungtaek Hong f4d5d57e17 elm_panel: set scrollable panel unfocusable when closed.
Summary:
 - When scrollable panel is closed by elm_panel_hidden_set(),
   elm_panel_toggle() APIs, it shows animation with
   scroller bringin effect.

 - During this animation, panel is still focusable, and may
   stop closing when content gets focused.

 - scrollable panel is now set unfocusable when closed by
   APIs above, and set focusable when opened after bringin
   animation.

Test Plan:
 1) Set panel scrollable and opened.
 2) Set another object focused and deleted it
    when panel is closing.
 3) Observe panel is closed.

Reviewers: cedric, jpeg, woohyun

Subscribers: conr2d, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4641

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-07 13:31:06 -08:00