recalculation of item count is getting only on a first load of combobox.
whenever user add more items, size of container with items doesn't getting more
place (provoking scroller to appear).
but its event more annoying when user delete items, then there are lots of
free spaces left that looks ridiculus
@fix
Summary:
notify's theme_apply function return value with eo_do_super(... elm_object_widget_theme_apply)
but notify's super class is widget, widget_theme_apply return always ELM_THEME_APPLY_SUCCESS.
so, notify's theme_apply function always return ELM_THEME_APPLY_SUCCESS, if it couldn't apply style correctly.
notify apply style via _notify_theme_apply function, so that function must decide theme_apply function's return value.
Reviewers: herb, singh.amitesh, Hermet, cedric, raster, jpeg
Reviewed By: jpeg
Differential Revision: https://phab.enlightenment.org/D4130
Summary: No idea what else can be done with this widget.
Reviewers: jpeg, cedric, woohyun
Subscribers: raster, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3930
Summary:
When user edit spinner value on entry.
The user want to back on entry to edit spinner value even swiching view(focus out and focus in).
I considered a couple of exception case ( case that entry should not reactivate.)
1. User click spinner button to give focus.
2. User give focus to spinner's object using key action.
Test Plan:
Add sample in elementary_test.
Edit spinner value.
Gives focus to other window.
Back to spinner view.
See the action.
Reviewers: Hermet, woohyun, cedric, jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4120
The edje code used to register the cursor objects as "edje sub-objects" of the
edje entry object. This is not edje API, so will send these signals explicitly
to the objects.
elm layout signal handling was all over the place. using 3 different
ways of adding or deleteing signals from the object. it uses either
obj directly, eo_super(obj) or wd->resize_obj. come on. be consistent.
so using wd->resize_obj worked before and now works properly with
sgnal cbs PROPELY deleted unlike before.
@fix
Summary:
After setting focus to disabled item, focus does not work properly.
It is necessary to consider disabled state of each item
when selecting next focused item.
Signed-off-by: Jehun Lim <jehun.lim@samsung.com>
Test Plan:
1. elementary_test -to 'gengrid disabled item focus'
2. check 'item select on focus disable'
3. move focus to disabled item
4. observe focus and compare before this patch
Reviewers: cedric
Subscribers: minkyu, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4115
Summary:
if trying to apply incorrect theme, widget apply default theme and return TRUE.
so there is no way to check it really apply correct theme.
To resolve this problem, _elm_theme_set return three type enum
* related history : 4ca3ef4514
* elm_object_style_set is public api, so I didn't change it.
* typedef name [ Theme_Apply ] is temporarily, please suggest better one.
@fix
Reviewers: singh.amitesh, herb, Hermet, cedric, jpeg, raster
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4073
when hoversel has no item at all and use clicks on it, then it goes into
state called "expanded".
and so then, no matter how many items user would try to add, hoversel won't work
anymore.
@fix
This patch fixes an issue reported by coverity where 'type' variable
could be null and passing null to strcmp is not good ;)
Fixes Coverity CID1357147
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Those actually belong to elm_config, or rather Efl.Config:
efl_config_int_set("cache_image_cache_size", 42);
efl_config_int_set("cache_font_cache_size", 1337);
When the parameter 'text' is NULL in elm_layout_text_set function,
the sub object data with the same part name is removed
from the layout's sub object list and the function returns immediately.
However, if the text part doesn't exist in the list,
a new sub object data is appended to the list even though the text is NULL.
This patch adds NULL check so the function can return in such cases.
'data' parameter is actually used in this function, so remove mis-use
of EINA_UNUSED in function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This is a fix for some over-zealous optimization attempt. Basically,
we cannot optimize out multiple calls to ecore_wl2_window_input_get as
the window can change in the for loop.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
accepted
This fixes an issue where in wl dnd, if one mimetype was accepted by a
drop, then all subsequent types would have been accepted also..
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
When the parameter 'text' is NULL in elm_layout_text_set function,
the sub object data with the same part name is removed
from the layout's sub object list and the function returns immediately.
However, if the text part doesn't exist in the list,
a new sub object data is appended to the list even though the text is NULL.
This patch adds NULL check so the function can return in such cases.
Summary:
max_sc_w decide popup's "content" area size when popup scrollable is TRUE.
but in popup's edc, "elm/popup/content/XXXX" has min size when scrollable is TRUE. (and it is content area layout)
max_sc_w has fixed value, so I think deciding by edc is better than fixed code.
Test Plan:
1. elementary_test -to popup
2. check "Enable popup scroll"
3. click any list item.
4. observe popup and compare before this patch.
Reviewers: singh.amitesh, herb, Hermet, raster
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4113
if EFL_EO_API_SUPPORT is not defined in user side, this will break the build.
because Elm_Layout type is defined in eo header file.
Just keep using Evas_Object * in legacy yet.
Summary:
Add bounds-changed signal, this signal can be sent on geometry change
of any evas object when atspi mode is enabled.
Test Plan:
connect to "object:bounds-changed" signal on screen-reader.
when signal BoundsChanged is emitted from elm using elm_interface_atspi_accessible_bounds_changed_signal_emit, the signal should be received
and we should be able to access geometry.
Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
Reviewers: cedric, lukasz.stanislawski, kimcinoo
Subscribers: govi, rajeshps, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4100
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
When call slide_go before label is resized, setting the sliding is a meaningless.
This patch is for reducing redundant operations.
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Deepjyoti Dutta <deepjyoti.d@samsung.com>
Test Plan: elementary_test -to "label slide"
Reviewers: cedric, Hermet
Subscribers: seoz, jpeg
Differential Revision: https://phab.enlightenment.org/D4089
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
The cursor object is meant to be instantiated in the following manner:
eo_add(EFL_CANVAS_TEXT_CURSOR_CLASS, text_obj,
efl_canvas_text_cursor_text_object_set(eo_self, text_obj));
This can't be done directly on the Ui Text object, so it has to be with an
method call, sadly.
@feature
Summary:
Focus region must be located in entry object.
Therefore if it get out of entry,
it just returns last cursor position that can be shown.
@fix
Test Plan:
1. elementary_test "Entry on Page Scroll"
2. click 2nd btn and close popup
3. page should not be scrolled
Reviewers: raster, herdsman, id213sin, woohyun, tasn, cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4072
This is a followup on ca55a920d9.
This fixes cnp/dnd for applications started outside of the weston
session. (There are still more problems with dnd and cnp)
This reverts commit 0959e87d99.
This broke the entry behavior that introduced enventor critical issue also.
It looks like a timing issue, but i didn't deep into further.
Please check a simple test case.
https://phab.enlightenment.org/F38614
Before/after applying your patch, the result is totally different.
Most of these functions actually shouldn't be used by
standard applications. Some are hidden behind @protected.
flush_all() and reload() have not been implemented, on
purpose (save() should flush, and reload is automatic).
Instead of being a key "audio_mute" + another key "channel"
I've simply implemented a number of different keys:
audio_mute (= all)
audio_mute_all
audio_mute_effect
...
Elm_Focus_Autoscroll_Mode
Elm_Softcursor_Mode
Elm_Slider_Indicator_Visible_Mode (rename only)
Elm_Focus_Move_Policy (rename only)
This is for Efl.Config API.
This is to port elm_config to EO APIs.
The current implementation relies on the legacy API, by
simply forwarding calls.
The new API is simply efl_config_set("config_name", value)
where value is an Eina_Value (aka. generic_value).
The C interface proposes a few helpers like config_int_set,
config_double_set, etc...
Unfortunately at the moment, not all config options are
supported, as some rely on more complex types:
- lists
- color class and multiple arguments
- unset functions
- enums
Profiles are also not handled at this point.
@feature
Summary:
- when index is set to horizontal by elm_index_horizontal_set()
there is no logic about omit calculation. However, when
omit is enabled/disabled by elm_index_omit_enabled_set(),
horizontal index is ignored by
if (sd->orientation == EFL_ORIENT_HORIZONTAL) return;
- This can cause inconsistency when order of calling those APIs
is changed. And also, that "horizontal index cannot be omitted" is not documented
and does not make sense.
- This commit enables omit for horizontal index, but further
change is needed because current logic of getting min_w for
dummy edje object is not accurate when text is set.
Reviewers: cedric, jpeg, Hermet, conr2d
Reviewed By: conr2d
Subscribers: eunue, conr2d, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4052
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If elm_genlist_item_bring_in() is called immediately after appending
item, genlist will not scroll to the last one but stop in the middle.
This patch blocks genlist from scrolling to not calculated item.
Test Plan:
1. Download F31560 and uncompress the file
2. make
3. ./test
Reviewers: SanghyeonLee
Subscribers: cedric, DaveMDS, jpeg
Differential Revision: https://phab.enlightenment.org/D4023
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
There is a issue about passing the focus to unfocusable scroller.
To prevent the issue, check the status of focusable object and child object
before passing the focus.
Test Plan:
{F38439}
I changed the test file.
The problem occured as below.
1. click button
2. show popup
3. click cancel button in popup
4. lost the focus
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: minkyu, sju27, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4056
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
It supports the same syntax as the config value, but
overrides it. This provides a more convenient way to select
the acceleration for a single window.
Its get() value should be what was effective when the window was
created. So it can depend on the config or a previous call
to set().
@feature
Summary:
When user set text to entry, "changed" smart callback is invoked 2 times.
Because entry set to ""(empty string) and append text internally.
But, in a recent, set flag is added for _entry_text_append().
So, empty string set is does not needed before appending.
@fix
Test Plan:
- elm_entry_entry_set(entry, "text") : 2 times invoked (bug)
- elm_object_part_text_set(entry, NULL, "text") : 2 times invoked (bug)
- elm_object_part_text_set(entry, "elm.text", "text") : 1 times invoked
Reviewers: herdsman, tasn, id213sin, woohyun
Reviewed By: woohyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4074
This implements a new builtin, stringshare, which is replaced with the right
pointer to Eina_Strinshare as necessary. This allows simplifying binding code
(it can call the proper eina APIs, deal with lifetime etc).
It also removes the extern Eina.Stringshare typedef from eina_types.eot, which
was actually incorrect and would generate invalid code in binding generators.
@feature @fix
Evas.Common_Interface not only had a bad name, it also
wasn't in line with how we can get a loop object, for
instance.
Use eo_provider_find in each implementing class.
Summary:
When edje_password_show_last option is enabled, the edje_entry uses <password=off>
for showing last character. But, when password mode is disabled by the elm_entry,
<password=off> is remained in the text. It can cause some problems.
Because, there is no way to control password mode by API for the edje_entry.
The elm_entry can't remove <password=off> tag before getting text from the edje_entry.
So, the patch adds edje_object_part_text_hide_visible_password() function and
the elm_entry will use this when elm_layout_theme_apply() is called.
@fix
Test Plan:
1. Run "elementary_test".
2. Show "Entry Password" demo. (Newly added by this patch)
3. Password mode is enabled. Put some text.
4. Click "Show Password" check box to disable password mode.
5. Put more text.
6. Click "Hide Password" check box to enable password mode again.
7. See a character among the text is visible. (without this patch)
Reviewers: tasn, herdsman, cedric, jpeg, thiepha, raster
Reviewed By: raster
Subscribers: Blackmole, z-wony, woohyun
Differential Revision: https://phab.enlightenment.org/D3988
This was needed when the eo composite object was still in beta. Since commit
d7c45e41d4 this is no longer the case. No beta
part left in eo base so we can safely remove this define.
This is legacy stuff. I wish we could hide it from our inheritance
entirely. Instead, just make it abstract, remove all functions from
eo (doable here) and rename with the keyword "internal" in the new
ugly java style name.
Summary:
efl_ui_flip_internal_part_eo.h doesn't exist but it belongs to
the target list of Makefile.
Remove it from the list to fix an error when building elementary only.
Test Plan: $ make (in src/lib/elementary path)
Reviewers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D4046
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This composite object utilizes the Efl.Canvas.Text, Efl.Canvas.Text.Cursor and
Efl.Ui.Interactive API to server as a proper replacement for the Elm Entry
widget.
@feature
@feature
Ui text: Add a new interactive version of Canvas.Text
This object is internal and is essentially a Canvas.Text that accepts
key and mouse input. It should be used by Ui.Text as the text
layout/input driver.
Ui text interactive: Add include guard to header.
Ui internal text: Improve input handling support and add selection.
Ui internal text: Add a lot of imf stuff.
Add more text selection handling code.
Add support for allowing selection.
Efl.Ui.Text.Interactive: (reword) code format fix.
Efl.Ui.Text.Interactive: Remove useless struct members.
Add multiline toggle support and a constructor.
Text interactive: Add support for legcay newline.
Text interactive: Use the new cursor_equal function.
Efl.Ui.Text.Interactive: (Rebase split) fixup cursor
Efl.Ui.Interactive: (Rebase split) fixup line_jump_by usage
Text interactive: Cleanup tab/return handling.
Text interactive: Use cursor_equal more.
Text interactive: Simplify and unify selection handling in key input.
Text interactive: Fix user text change reporting.
This is useful for implementing undo/redo.
Text interactive: Add documentation to event.
Efl text interactive: (Rebase reword) Add a new interface to be used later.
Ui text interactive: Migrate one missing change_info call.
Ui text interactive: Mark the correct type for the change event.
Ui text interactive: (Edited) Move to elementary and add "selection,changed".
This is useful for implementing selection handlers. We had to move it to
elementary because we started referencing cursors.
Ui internal: Emit an event for selection changed.
Ui text interactive: Remove unused code.
Ui text interactive: Remove more unused code.
Ui text interactive: Remove more unused code.
Ui text interactive: Rename improperly named function.
Ui text interactive: Update code to the new canvas text api.
Ui text interactive: provide access to the selection cursors.
This is the new API for manipulation selection outside of the object.
Just manipulate these cursors to manipulate the selection.
Fix previous commit.
Ui interactive: Clean up internal functions.
Ui interactive: Fix abuse of selection in word deletion.
Ui text interactive: Fix selection.
Ui text interactive: Fix right key to move next.
Ui text interactive: Fix selection using keyboard.
Ui text interactive: Don't emit selection changed events twice.
We now use the cursor changed event to track changes, so no need
to manually emit events ourselves.
Ui Text interactive: Remove selection,cleared signal, use changed instead.
If the selection cursors are equal, there's no selection, if they are
different, there is.
Ui text interactive: remove redundant code.
Ui text interactive: Don't emit selection changed events on init.
Ui text interactive: Remove unused variable.
Efl.Ui.Interactive: fixup char_coor usage
Ui text interactive: Fix some fixmes.
Ui text interactive: fix selection_cursors_get
Ui text interactive: Skip key down events if marked ON_HOLD.
only start throttling ocne we have a window and it has rendered or
been focused or mouse has gone in - then we are surely really visible
and sane and only start throttling if no windows are visible then. if
auto throttle is on this can improve startup time by the trottle amount
Summary: Edje_Message_Float_Set struct is already allocating double and hence no need to add extra double allocation.
Reviewers: Hermet, jpeg, cedric, singh.amitesh
Reviewed By: singh.amitesh
Differential Revision: https://phab.enlightenment.org/D4035
When this was renamed from elm_flip to efl_ui_flip the _eo.h header was lost
which is needed as redirection. This broke for me in distcheck when the .eo.h
was going to get generated. It also aligns it with the other headers we have
here.
This allows apps to set the objects min size with hint_min,
while letting the rest of EFL define the minimum size with
rstricted_min.
I don't like the property names much...
Summary:
- selected callback should be called when the user releases a mouse button
and selects an item.
Reviewers: cedric, jpeg, Hermet, woohyun
Subscribers: conr2d, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4022
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Added definition for item_selected_get API
Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
@fix
Test Plan: select an item, call item_selected_get API to check status of the item
Reviewers: cedric, CHAN
Reviewed By: CHAN
Subscribers: CHAN, rajeshps, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3999
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>