The object parameter in datacb must be the selection request object,
not the selection owner object.
This patch corrects that.
Test case: open two windows with entry, copy text from one entry in
first window, paste to entry in other window.
@fix
There is code in elm_cnp.c which is used to paste data to entry widget only.
This can cause error if widget is not entry.
This patch removes that code in elm_cnp.c and adds datacb to entry
to insert content to entry.
@fix
Summary:
It could make crash when strdup() is failed.
CID - 329115
@fix
Reviewers: raster, thiepha, woohyun, Hermet
Differential Revision: https://phab.enlightenment.org/D2673
Summary:
It could be failed to allocate memory for Anim_Icon.
CID - 337351
@fix
Reviewers: raster, thiepha, woohyun, Hermet
Differential Revision: https://phab.enlightenment.org/D2672
someone.. somewhere along the way.. likely a long time ago.. broke
compress mode. likely the addition of the ellipsis value as an
ellipsis position or something related to that broke compatibility,
as this used to work. be that as it may... finding out just where is
virtually impossible, so fix it the simpler way - add elipsis values
Summary:
change the 'sid->loop_v' condition to '!sid->loop_v' to delete momentum animator
when the vertical scroller reached the end of the content
@fix
Reviewers: raster, Hermet, woohyun
Subscribers: CHAN
Differential Revision: https://phab.enlightenment.org/D2609
Summary:
When context,open signal is sent from elm_entry before showing context
menu, dynamic addition of context menu items to entry becomes easier.
@feature
Test Plan:
Run elementary_test
Launch Entry Scrolled test
Right Click on Multiline Markup entry
Reviewers: tasn
Reviewed By: tasn
Subscribers: subodh6129, poornima.srinivasan
Differential Revision: https://phab.enlightenment.org/D2580
New focus move policy, ELM_FOCUS_MOVE_POLICY_KEY_ONLY, is added.
If you set this policy as base focus move policy, objects cannot steal
focus by using mouse click or mouse in. Only keyboard input (such as Left,
Right, Up, Down, ...) can make focus be moved.
Additaionally, an object can have its own focus move policy by using
elm_object_focus_move_policy_set API.
@feature
This reverts commit 8278dff6a742c391f7c04c3de1033574d818dbb6.
This is not good for scenarios and will break the compatibility.
Thanks to David for reporting.
Summary:
Below bugs are exist in gengrid widget when use horizontal mode and mirrored set.
1. Gengrid item is placed wrong position when mirrored set.
Current calulation for mirroring in _item_place only consider pan object positions.
if widget is mirrored, item should be placed opposited position so object x position must be
consider in mirroring calculation also.
2. Gengrid scroll(pan) minimum size is returned wrong value when mirroed set.
As the result of 1's calculation present oposite position of items, so align also reversed when mirrored.
but current gengrid didn't change align x so minimum size is return wrong value
and scroller expanded wrong direction.
@fix
Test Plan:
1. run elementary_test and set mirroring On
2. run Gengrid2 in elementary_test
3. see how items are placed by push append button repeatly.
4. see scroller shows correct position and items.
5. change usr/bin/test_gengrid.c to set another align value on gengrid and test again.
Reviewers: raster, seoz, Hermet, jaehwan
Subscribers: Jaehyun, anand.km, eagleeye, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D2553
Summary:
There is a code to compare value is changed.
1256: if (sd->val == val) return;
Even value changed the value changed callback didn't called before.
Reviewers: woohyun, shilpasingh, Hermet
Reviewed By: shilpasingh, Hermet
Differential Revision: https://phab.enlightenment.org/D2560
this delays norender and throttle handling to allow for quick
show/hide etc. changes an app may make so to not jump state so often.
this also fixes an issue wqhere config may change leaving all windows
in norender mode.
Summary:
test_glview.c: In function ‘_print_gl_log’:
test_glview.c:347:10: warning: declaration of ‘log’ shadows a global declaration [-Wshadow]
Reviewers: JackDanielZ
Differential Revision: https://phab.enlightenment.org/D2577
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
the paper with earmarked corner and dir in it just doesn't stand out.
too plain and so you can't tell dirs from other files easily at all.
replace with a more normal foler icon that now stands out.
Summary:
When environment variable ELM_ITEM_SELECT_ON_FOCUS_DISABLE is set
_item_focused_next() function doesn't support for ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY mode.
Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>
@fix
Reviewers: raster, Hermet
Subscribers: singh.amitesh, sachin.dev
Differential Revision: https://phab.enlightenment.org/D2464
Summary:
Fileselector button fails to run in inwin mode.
It is caused by incorrect window parent finding.
This patch corrects the window parent finding.
@fix
Test Plan:
run FileSelector Button, toggle Inwin mode option to on,
eo gives error and nothing is shown.
Reviewers: Hermet, seoz
Reviewed By: seoz
Differential Revision: https://phab.enlightenment.org/D2552
Summary:
Updated gengrid to move item selection in 'vertical' mode to the last
item, when currently selected item is not in the last row. As per the
original behaviour, on moving down from such an item, it takes the
focus out of the gengrid widget. Now it is updated to go to the last
item (in last row), and then on further pressing down, focus comes
out of gengrid.
This is something similar to what happens in other UI systems like in
Ubuntu and Windows, when pressing down on (n-1)th row, the last item
in the nth row gets focused.
Signed-off-by: Vaibhav Gupta <g.vaibhav1@samsung.com>
Reviewers: Hermet, SanghyeonLee, raster
Reviewed By: raster
Subscribers: sachin.dev, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D2418
@fix elm_object_cursor_set() to work also when used with the mouse pointer
yet inside the widget, otherwise you need to mouseout/mousein to actually see
the new setted cursor.
Please give a short review on this one, maybe there is a simpler way to check
if the pointer is inside the widget...
Also added a button in the cursor test for this use case
Summary:
When content is resized, scrollbar's position is not updated.
Add bar position update after bar size is changed.
This is sample for resizing issue.
Test Plan: elementary_test -> scroller3
Reviewers: jaehwan, woohyun, seoz, raster, Hermet
Reviewed By: Hermet
Subscribers: raster
Differential Revision: https://phab.enlightenment.org/D2291
Summary:
For instance, ecore_evas sets initial withdrawn state EINA_FALSE if elm_engine is "buffer".
Therefore, the initial withdrawn state is derived from ecore_evas property.
@fix
Reviewers: raster, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D2435
Summary:
When entry is resized, selection handlers are not updated,
it causes selection handlers to be placed in wrong position.
This patch fixes it.
@fix
Reviewers: woohyun, seoz, herdsman, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D2487
Summary:
Issue: Too many widgets get created during smart add itself, even if
not necessary, adding to the launch time.
Solution:
Create widgets based on mode, check for modes in generic functions
like smart theme, focus etc:-
Test Plan: elementary_test can be used to test colorselector demo.
Reviewers: cedric, raster, Hermet
Subscribers: rajeshps, govi, poornima.srinivasan
Differential Revision: https://phab.enlightenment.org/D2532
Summary: The "closed_height" is not using in code.
Reviewers: raster, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D2535
Summary:
check theme of tooltip label by
$clouseau elementary_test -to "tooltip"
tooltipi label theme was elm/label/base/default but we want theme
"elm/label/base/tooltip/default" to be set instead.
@fix
Test Plan: $clouseau elementary_test -to "tooltip"
Reviewers: raster, Hermet
Subscribers: seoz, sachin.dev
Differential Revision: https://phab.enlightenment.org/D2509
Summary:
This uses new Evas Callback type EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE
to listen to view port size changes.
Reviewers: Hermet, cedric, raster
Reviewed By: raster
Subscribers: SanghyeonLee, seoz
Differential Revision: https://phab.enlightenment.org/D2527
Summary:
elm_object_item_del_cb_set() can set delete callback that is called on item deletion.
Del_cb, Evas_Smart_Cb, has void pointer for item data as its first parameter.
However, getting item data is broken.
@fix
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: Hermet
Differential Revision: https://phab.enlightenment.org/D2524
When closing the application, the delete function given by the user in
the Item Class was called twice. During the clear process, the function
was called for every built item and then during the item destruction.
This patch fixes this behaviour by calling the user function only during
the item destruction.
Another fix has been added. It zero'es the built list pointer inside the
item. Without this fix, the item points to a list node that is already
freed and can lead during widget deletion to an invalid access inside
the list.
@fix T2394
Move enums from elm_scroller_common.h to elm_scroller.eo in order to make them
more accessible for bindings. Delete elm_scroller_common.h.
Moved the include for elm_scroller.eo.legacy.h to the top of elm_scroller_legacy.h
to allow the use of the generated types in the function declarations.
Summary:
For now, if apply image mask to smart obejct, masking does not work except to implement in edc file.
@feature
Reviewers: Jaehyun_Cho, Jaehyun, jpeg, raster, cedric, Hermet
Subscribers: raster, jpeg, cedric
Projects: #elementary
Differential Revision: https://phab.enlightenment.org/D2055
Summary:
elm_object_style_set(obj, "XXXX"); should return FALSE if XXXX style does not exist.
Although it does set default style if "XXXX" style does not exist.
@fix
Reviewers: raster, Hermet
Subscribers: seoz, sachin.dev
Differential Revision: https://phab.enlightenment.org/D2511
Summary:
When popup has a content which is larger than window size, popup is to be larger than window.
so, scroller is added into popup content area.
Test Plan:
1. Making "elementary_test - popup" window smaller than popup content size.
2. Excute "popup-center-title + genlist content + 1 button" in "elementary_test popup"
After applying this patch.
3. popup content shows with scroller.
Reviewers: Hermet, seoz, woohyun, raster
Subscribers: raster
Differential Revision: https://phab.enlightenment.org/D2216
Summary:
Currently elm_notify doesn't allow to set or get text if
user's style contain some text parts and he need to set text into them.
Reviewers: cedric, seoz
Subscribers: raster, stefan_schmidt, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1333
AT-SPI2 specification states that active window can have only one widget
with FOCUSED state. This differs from elementary design which assumes
that whole elementary widget tree branch is focused.
Patch assumes that if a widget have no focusable children and can have
focus it can be marked as FOCUSABLE on atspi bus.
Move enums from elm_win_common.h to elm_win.eo in order to make them
more accessible for bindings.
Moved the include for elm_win.eo.legacy.h to the top of elm_win_legacy.h
to allow the use of the generated types in the function declarations.
This commit adds the Eolian class elm_win_standard.
It is basically a derivation from elm_win that creates a default background.
The intent is to replace the legacy functions elm_win_util_standard_add and
elm_win_util_dialog_add by functions accessible via Eo API functions such as
eo_add and eo_do.
To fully replace an elm_win_util_standard_add call, use:
eo_add(ELM_WIN_STANDARD_CLASS, NULL,
elm_obj_win_name_set("example"),
elm_obj_win_type_set(ELM_WIN_BASIC),
elm_obj_win_title_set("Example"));
Removed the constructing method elm_obj_win_constructor.
Now "name" and "type" are properties that must be set at creation, like this:
eo_add(ELM_WIN_CLASS, NULL,
elm_obj_win_name_set("example"),
elm_obj_win_type_set(ELM_WIN_BASIC));
Also, the "title" property can be set at creation now.
Summary:
There could be a demand for providing subtle different item styles
according to the existence of icon or text swallowed in genlist item.
For example, if icon exists, genlist item shows icon, or show rectangle
where icon should be placed.
One style can have various form with this signal.
Reviewers: Hermet
Subscribers: Hermet
Differential Revision: https://phab.enlightenment.org/D2348
This commit also updated one of the elementary test to show
the new one of doing it.
This lets users of the API just add a callback and automatically
get animation ticks. It's done per window, because update rate
may be different for different windows (think different screens).
Summary:
Some newly implemented attributes are not present in several classes and
interfaces.
This patch:
- Adds some attributes (like @nullable, @optional, own, free) to several .eo files.
- Changes some eina types names to the equivalent eolian name (like "Eina_Bool" to "bool")
- Adds the element type of lists and iterators.
Reviewers: felipealmeida, tasn
Reviewed By: tasn
Differential Revision: https://phab.enlightenment.org/D2350
Jupp, its a dirty hack but it helps to work around the problem for now and
get the release out. I will revert it in master after the release and we
keep the bug open until this is fixed and hopefully backported.
ref T2367
This should be a proper fix for T1717. Idea is that we build a list of operation
that needs to be deferred in order (including pop and push) so that we are sure
we can pop and push in any order without the need to wait for any event.
Changed all the callback_call to pass the correct Elm_Object_Item
(Eo) pointer, was passing Elm_Slideshow_Item_Data instead.
@fix
Also updated the test
Summary:
If current item is disabled, next item should be
taken.
Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>
@fix
Reviewers: raster, Hermet
Subscribers: singh.amitesh, sachin.dev
Differential Revision: https://phab.enlightenment.org/D2458
Summary:
fix the _item_multi_select_down() function for
ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY select_mode.
_item_multi_select_up is right, but _item_multi_select_down is wrong.
So fixed this.
Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>
@fix
Reviewers: Hermet, raster
Reviewed By: raster
Subscribers: sachin.dev, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D2452
Summary:
After discussion with DaveMDS, D2402 is a wrong fix and must be reverted.
This reverts commit a7978f931a4b67820b6b65758ce6f362c1ebec70.
Reviewers: cedric, DaveMDS
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D2437
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When content is resized, scrollbar's position is not updated.
Add bar position update after bar size is changed.
Test Plan: elementary_test -> scroller3
Reviewers: seoz, jaehwan, woohyun, cedric, raster, kimcinoo, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D2419
Summary:
incorrect evas_object_box_children_get usage: returned list must be freed
@fix
Reviewers: cedric, seoz, raster, reutskiy.v.v, Hermet
Differential Revision: https://phab.enlightenment.org/D2412
Summary:
1.) Fixing defective label position.
Whenever user create multibuttonentry and set some text into label,
label will be shown at zero point (0,0) of MultiButtonEntry parent.
But then, after clicking on any button of MBE object, label position forced to
be recalculated and changes it's position.
2.) Fixing wrong size when label is not used.
When label is not being used, buttons shift by few pixels,
and it looks like if label is actually there, which is wrong.
@fix
Reviewers: cedric, seoz, raster, reutskiy.v.v, Hermet
Reviewed By: Hermet
Subscribers: NikaWhite
Differential Revision: https://phab.enlightenment.org/D2416
Summary:
The entry inactive signal emitted when finish spinner value set.
but the active signal emitted after that. so it makes weird view state.
The function 'key_action_toggle()' called twice. (for entry, spinner)
event propagate called this func twice and its make this issue.
This patch makes to ignore toggle event when entry is not visible.
T2262
Test Plan:
Run elementary_test, execute spinner widget sample.
Click the first spinner.
Input something on entry.
Press enter key.
Check the issue.
Reviewers: raster, Hermet
Subscribers: kuuko
Differential Revision: https://phab.enlightenment.org/D2411
Summary:
There is a invisible prev button. but it can get a focus and delete the current naviframe item.
Its not intend to added here i think, so i add a function that not add prev button automatically.
Test Plan:
Run elementary_test -> Naviframe Complex
Move focus use arrow key button and input enter key on prev button.
Click the View list, check the ERR msgs.
Reviewers: Jaehyun, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D2420
Summary:
While setting theme currently changes style and theme to all button and
whole multibuttonentry object, it doesn't change few other parts of this object.
Part are, for examples, "guidetext", "label" and "closedbutton".
Fixing this sad mistake leads to be able to create different styles for such
wonderful widget.
@fix
Reviewers: cedric, seoz, raster, reutskiy.v.v, Hermet
Reviewed By: Hermet
Subscribers: NikaWhite
Differential Revision: https://phab.enlightenment.org/D2407
Summary:
Reloading image in zoom in/out only if its previous orientation was changed
@fix
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: jpeg, raster, cedric
Differential Revision: https://phab.enlightenment.org/D2402
Summary:
Even if the given Evas_Object is NULL, API returns ELM_INPUT_PANEL_LAYOUT_NORMAL.
But, ELM_INPUT_PANEL_LAYOUT_INVALID seems proper in that case.
Test Plan:
Call the following API with NULL.
elm_entry_input_panel_layout_get(NULL);
Reviewers: woohyun, Hermet, eunue
Reviewed By: eunue
Differential Revision: https://phab.enlightenment.org/D2404
Summary:
Currently zoom in/out rotated or flipped image was causing lost of orientation
and aspect of image is also changed. Fixed that by reloading image on pan_obj on zoom
@fix
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: DaveMDS, jpeg, cedric, raster
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D2381
Summary:
In case of mirror enabled, wanted x should come from _elm_scroll_x_mirrored_get().
This defect is visible in case of some fancy effects on scroller (map).
@Fix
Reviewers: raster, Hermet
Subscribers: herdsman, sachin.dev, kimcinoo, eagleeye, seoz
Differential Revision: https://phab.enlightenment.org/D2363
when insert a new item before/after an item, the relative item should not be NULL.
this patch fixes naviframe, gengrid, genlist, list, and toolbar.
@fix
Summary:
theme change was delayed untill some other change (i.e. mode change, clock update)
@fix
Test Plan:
1. create new style "test" for elm_clock
2. add this style to theme
3. compare results of following modifications of src/examples/clock_example.c:
```
/* am/pm */
ck = elm_clock_add(win);
elm_object_style_set(ck, "test"); //style is applied before ap_pm set
elm_clock_show_am_pm_set(ck, EINA_TRUE);
```
and
```
/* am/pm */
ck = elm_clock_add(win);
elm_clock_show_am_pm_set(ck, EINA_TRUE);
elm_object_style_set(ck, "test"); //style is applied after ap_pm set
```
ExR: style is applied in both cases
Result without this patch: style is applied only in first case
Reviewers: cedric, seoz, raster, reutskiy.v.v, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D2349
Summary:
Checkbox should support a third state "indeterminate" along with "Checked" and "Unchecked"
This third state is a state of checkbox which is shown when checkbox is neither Checked nor Unchecked.
- Added this new feature on the basis of a boolean variable's value.
- By default this boolean variable is disabled and checkbox will treat like old way.
- While adding this, I kept in mind, that applications which are already using checkbox, should not be affected, so I used 0=False=Unchecked, 1=True=Checked, and 2=Indeterminate
- Also added an example check_example_o2.c, which is using checkbox with both ways, using boolean, and using enum.
- Now also values can be set using boolean values, but it will give a type casting warning. As a boolean doen't support third state, so I used an enum int like.
- Added APIs to enable disable third state mode. elm_check_three_state_mode_set(check_obj, bool_val), and elm_check_three_state_mode_get(check_obj)
- Modified old APIs which were setting or getting states of checkbox.
- Added a state in theme of checkbox, with third state image.
Reviewers: seoz, raster, Sergeant_Whitespace, Hermet
Subscribers: Hermet, Sergeant_Whitespace, sachin.dev
Differential Revision: https://phab.enlightenment.org/D2249
Summary:
using theme of the object instead of default for subparts.
@fix
Reviewers: cedric, seoz, Hermet, raster, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D2370
Summary: This fixed the elm_win_window_id_get function when running in
wayland to return the ecore_wl_window_id rather than the surface id.
This change is necessary so that anyone calling this function can use
the return value in ecore_wayland function calls.
NB: Thanks to Hermet for pointing this out ! :)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The surface and context should not be current when deleted.
Evas GL would work just fine but since it deletes the surface
and context immediately upon request, those should not be
current.
This is a slightly different behaviour from EGL.
Flipselector has some random whitespaces that do not belong.
Additionally there are a few hidden non-blocking spaces that prevent
edje_cc to compile the default.edc on arm. Appearantly on x86/amd64 this
works normally.
This patch works around T2285 while the issue should remain open as the
real issue, edje_cc treating nbsp as a whitespace on arm, is not fixed
through this patch.
ref T2285
Signed-off-by: Olliver Schinagl <o.schinagl@ultimaker.com>
Without any locking or thread-safe mechanism, the previous implementation
would have failed as soon as too many file_set() happened on the same
object. Indeed, file_set() can happen while the async open thread is
running. I shouldn't have blindly listened to Cedric :P
Summary:
Issue: Mirroring of elm_panel not working correctly.
Solution: Handle mirroring appropriately for animations.
@fix
Test Plan:
Case: 1
1. Open elementary_test
2. Mirror on
3. Open scrollable panel, click on toggle button.
Case: 2
1. Keep the scroller panel opened
2. Turn off Mirror
Case: 3
1. Turn on mirror
2. Check direction button in non-scrollable panel.
Reviewers: shilpasingh, raster, Hermet, Princekrdubey
Reviewed By: shilpasingh
Subscribers: poornima.srinivasan, subodh6129
Differential Revision: https://phab.enlightenment.org/D2237
Summary:
Some APIs need to return specific values for their usage.
For Examples, elm_xx_select_mode_get function need to return
ELM_OBJECT_SELECT_MODE_MAX when invalid input comes.
**Fixed API list :**
elm_list_mode_get
elm_list_multi_select_mode_get
elm_genlist_mode_get
elm_genlist_select_mode_get
elm_genlist_multi_select_mode_get
elm_genlist_item_type_get
elm_genlist_ttem_index_get
elm_genlist_item_select_mode_get
elm_gengrid_select_mode_get
elm_gengrid_multi_select_mode_get
elm_gengrid_item_index_get
Test Plan: Call API with NULL parameter and check return value.
Reviewers: Hermet, seoz, jaehwan, raster, eunue
Subscribers: id213sin
Differential Revision: https://phab.enlightenment.org/D2306
Since the latest elm colorclass changes we need eldbus-codegen to generate
some files. Not all setups have this in their normal $PATH so let allow these
setups to set the correct path during configure. This allows our Jenkins setup
as well as others to work again.
why have elm image repeat events always (and unable to stop it)? this
is neither useful nor convenient. it's just painful. it makes images
not behave like prety much every object. they already are set up to
capture events - then do it normally.
@fix
Without depth, glview / evas gl basically fall back to indirect rendering.
Also change bg color from yellowish to brown (and use PREMULTIPLIED
colors, not random values).
This will allow apps to set the proper viewport, even if the
actual surface geometry didn't change.
This fixes a rare situation where the mode is changed from indirect
to direct (eg. in elm_test glview).