- Reduced the if statement depth.
- Introduced new macro ELM_RECTS_POINT_OUT that checks if the point(xx,
yy) stays out of the rectangle(x, y, w, h) area.
Summary:
support color classes for runtime color changes.
It works like text classes and is also added in configuration files.
Reviewers: seoz, Hermet, cedric, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D541
@fix
Hover itself does not get key event. It should just forward the event to
the internal objects. So make it unfocusable.
Special thanks to Woohyun Jung.
Summary:
Problem: list theme (elm/list/base/default) is an alias of scroller
base theme (elm/scroller/base/default) in which focus_highlight is set to "on".
Solution: Now focus highlight in_theme is set by list item theme.
Test Plan: elementary_test->"List Focus"
Reviewers: seoz, woohyun
Reviewed By: seoz
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D572
Summary:
# Added code to handle the case of disabled items.
# Code refractoring of _item_focused_next().
Test Plan: elementary_test->"list focus"
Reviewers: seoz, woohyun
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D571
@feature
Summary:
# Added "item,focused" and "item,unfocused" smart callbacks.
# Added elm_object_focused_item_get() in elm_widget
# Added elm_object_item_focus_set and elm_object_item_focus_get() APIs for
# Added one argument in existing _focus_highlight_geometry_get(...,is_next)
This is required to find out previous and current widget item.
# Added a elm_win function _focus_highlight_start() which starts the focus
Test Plan: elementary_test->List Focus , List Horizontal Focus
Reviewers: seoz, woohyun
Reviewers Comments: SeoZ - there are some known bugs. we will actively
fix them in a near future.
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D532
@feature
Summary:
1. Added "item,focused" and "item,unfocused" callbacks for widget item since
VIEW(item) is a elm layout.
2. Added sd->box into focus chain to enable the focus movement on widget items.
Test Plan: elementary_test -> popup -> "popup-center-title + items + 3 buttons"
Reviewers: seoz, woohyun
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D563
Summary:
Magnifier is displayed incorrectly when mouse down on selection handler
Reproduce way: Right click on entry (eg Entry), choose Select, select some text, press left mouse
on selection handler (do not move the mouse), take a look at magnifier position.
Reason: Magnifier position is set to mouse down position in entry.
Fix: Check mouse down status and place correct position for magnifier.
Reviewers: seoz, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D573
if the object is added twice to the one transit,
the obj_remove_cb would be called twice.
in this case it will try to access the freed obj_data and crashed up.
now it's fixed.
Before
elm_tooltip_move_lock_set()
elm_tooltip_move_lock_get()
After
elm_tooltip_move_freeze_push()
elm_tooltip_move_freeze_pop()
elm_tooltip_move_freeze_get()
we're likely to use the freeze rather than lock among the entire apis.
it's already discussed in the mailing list.
Summary:
when style is set to be different one, spinner didn't update its min size.
So there was an issue that spinner has wrong position since it wasnt' check the updated size
Reviewers: Hermet, seoz
Reviewed By: seoz
CC: raster, cedric
Differential Revision: https://phab.enlightenment.org/D569
Summary:
Issue 1: If you drop text to elm_entry, text is inserted twice.
Reason: Drop callbacks are registered multiple times in elm_entry.
Resolve: Register only one drop callback at entry side.
Issue 2: Even thought entry is disabled, non-editable, you still can drop text, image file. (Example, run Entry Scrolled and drop text, image file to disabled or non-editable entries).
Reason: Drop callback are registered but not remove when entry is set to disabled, non-editable mode.
Resolve: Correct registering and removing drop callbacks in entry.
Reviewers: JackDanielZ, raster
Reviewed By: raster
CC: woohyun
Differential Revision: https://phab.enlightenment.org/D565
Add minimum comments for Eo API to make Eolian correctly
process methods and parameter directions
There are still exist not/half implemented functions, for which
I didn't add comments.
Summary:
When we start dragging, the type is always set to "text/uri-list" no matter the format type set by application.
This patch fixs this hard-coded type issue. It will set types corresponding to the format type set by application.
For example, if application set format as ELM_SEL_FORMAT_TEXT, it will set types UTF8_STRING, STRING, COMPOUND_TEXT, TEXT,
text/plain, text/plain;charset=utf-8.
Reviewers: JackDanielZ, raster
Reviewed By: raster
CC: woohyun, seoz
Differential Revision: https://phab.enlightenment.org/D546
Summary:
Fixes a bug when having a mouse_out event from elm objects that had a cursor set to them.
For example, Entry has a specific cursor set to it.
The bug is observable in Entry Test, and in any other test that has anchors (markup) in the entry widget.
Just take your mouse in an anchor, and out of it, to see that the entry now has the wrong cursor.
The old way of handling this asssumed that the triggering object had an elm-parent.
However, this is not the case for anchors.
Instead, it was agreed that the simplest way was to determine if there is any elm object,
with a cursor set to it, under the current mouse position.
If one is found, then use the cursor assigned to it.
Fixes T878.
Reviewers: tasn, raster
CC: raster, JackDanielZ
Maniphest Tasks: T878
Differential Revision: https://phab.enlightenment.org/D551
Summary:
elm_colorselector_palette_color_add() clears the palette if config_load is true.
It means that this API will add paletter color only for this colorselector object.
Fixes T786
Test Plan: Added elm_colorselector_palette.
Reviewers: seoz, raster
Maniphest Tasks: T786
Differential Revision: https://phab.enlightenment.org/D557
Summary:
Previously, the following error message is shown.
eina_inlist_remove() safety check failed: item does not appear to be part of an inlist!
Now, eina_inlist_remove() is removed from elm_naviframe_item_pop_to
because eina_inlist_remove() is called in _item_del_pre_hook.
Reviewers: seoz, raster
Reviewed By: raster
CC: Hermet
Differential Revision: https://phab.enlightenment.org/D553
Summary:
Previously, all views were focusable except during transition.
Now, only top view is focusable.
Reviewers: seoz
CC: Hermet
Differential Revision: https://phab.enlightenment.org/D554
Summary:
in current code, indicator is disabled only when mouse up event happens.
if the selected item is unselected through API before mouse up,
the indicator will remain active while no item is selected (highlighted).
Test Plan: None
Reviewers: Hermet, seoz, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D560
Summary:
when index box is cleared and refilled, selected item's status still remains as selected
but not highlighted. should send active signal to the selected item so that it is highlighted.
Test Plan: None
Reviewers: Hermet, seoz
Reviewed By: seoz
Differential Revision: https://phab.enlightenment.org/D559
Summary: since to control the rotation of application windows by WM, already added related feature in Ecore_Evas. Added related API for it.
Reviewers: raster, seoz
CC: gwanglim
Differential Revision: https://phab.enlightenment.org/D542
Added API:
void elm_label_slide_speed_set(Evas_Object *obj, double speed);
double elm_label_slide_speed_get(const Evas_Object *obj);
This work is based on the previous reverted commit by nirajkr, thanks!
I hope this will fullfill his requirement, please let me know of
any problems.
Summary:
Currently we do not set the speed of two label same
This patch fetch the information of the previous
label to set it to the next label to match the speed
of the previous label
Reviewers: seoz, raster
Reviewed By: raster
CC: singh.amitesh
Differential Revision: https://phab.enlightenment.org/D531
Summary:
Currently, elm_win was handling focus_highlight geometry of widgets.
Removed elm_win_focus_highlight_geometry_get() from elm_win and now elm_widget handles focus highlight geometry.
This is required to support the focus highlight on elm widget items.
Test Plan: elementary_test -> focus
Reviewers: seoz, raster, woohyun
CC: nirajkr
Differential Revision: https://phab.enlightenment.org/D530
Summary:
Developer can use this API for the case when he/she wants ctxpopup not to hide
automatically when parent of ctxpopup is resized or language is changed.
Default value of "disabled" is EINA_FALSE. So if user sets "disabled" EINA_TRUE
and parent size changes, ctxpopup recalculates its size and position.
Since size of bg is set when setting parent only, it should be resized again.
Reviewers: Hermet, seoz, thiepha, raster
CC: c
Differential Revision: https://phab.enlightenment.org/D510
SUMMARY
Item should remain selected once pressed.
When one item is selected other items should be unselected.
No special behavior on long press, item gets selected on mouse up.
APIs added are to get current selected item and to programmatically
control the selection/unselection of an item.
This is patch D515 (had to do by hand).
Summary:
Added noicon menu item state to default menu theme.
Now you can hide icon by setting it to "" (empty string)
Removed check for resetting the same icon name. This allows setting an icon
after it was hidden.
Reviewers: cedric, seoz, raster
Reviewed By: raster
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D522
Summary:
When custom style is applyed to menu the same style will be applyed to
its internal hover object.
Moved hover styles used by menu from hover.edc to menu.edc
Reviewers: cedric, seoz, raster
Reviewed By: raster
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D514
This reverts commit 803553c253bc4ee140a4b447c29ffe35c31288ab.
This also removes the unused enum typedef in the header. only c++
seems to care (or -ansi or -pedantic or something)
Summary:
Summary:
Issue:Colorselector adds default palette items by reading colors
from config, application do not have any way to get that color list.
Solution: API added to get the palette's item list.
Signed-off by: Shilpa Singh(shilpa.singh@samsung.com)
Test Plan:
Test Plan: Create a list pointer and call palette_items_get API to get
the list of color items. Change the color of any item to confirm
whether the list has been returned correctly.
Eina_List *list = elm_colorselector_palette_items_get(cs);
Eina_List *list2 = eina_list_last(list);
Elm_Object_Item *color_item = eina_list_data_get(list2);
elm_colorselector_palette_item_color_set(color_item, 0, 0, 0, 255);
Reviewers: seoz, Hermet, raster
CC: govi, myoungwoon
Differential Revision: https://phab.enlightenment.org/D503
Initial select mode was not properly set, as was just left to default.
This, in combination with the following from the efl repo:
commit 211845c885
commit c061e76927
fixes T861.
Summary:
Although an inserted view is not a top view, the inserted view is shown
because it is not received invisible signal.
To resolve the problem, the invisible signal is emitted if the inserted
view is not a top view.
Reviewers: Hermet, raster
Reviewed By: raster
CC: seoz
Differential Revision: https://phab.enlightenment.org/D494
Summary:
added broadcast of focus, window activate/deactivate events on a11y bus
Orca screen reader is now able to read elementary application.
Reviewers: raster, seoz, z.kosinski, kimcinoo
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D508
visible_set() only changes the visibility of one field while _reload_format()
changes everything.
This patch makes visible_set() just change only related field when only it's state
is really changd(enabled <-> disabled) instead of calling _reload_format().
Summary: This new API will allow widget to have its own focus highlight style
Reviewers: seoz
CC: woohyun, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D501
Summary:
in case of GTK, it provides API to select a region of text (gtk_editable_select_region).
However, there are only API to select all or none in EFL.
This API will provide the way to select a region of text.
Test Plan: elementary_test > entry3 > press 'Region' button
Reviewers: woohyun, tasn, id213sin
Reviewed By: tasn
Differential Revision: https://phab.enlightenment.org/D520
Summary:
When inc/dec buttons are pressed, start changing value after longpress has happened on buttons and not immediately.
Signed-off by: Mohammad Irfan (mohammad.i@samsung.com)
Signed-off by: Shilpa Singh(shilpa.singh@samsung.com)
Test Plan: Long press on inc/dec buttons of spinner.
Reviewers: seoz, woohyun
CC: Hermet, jchanwook, raster
Differential Revision: https://phab.enlightenment.org/D365
Summary:
Issue: If application has to preselect an item, or change item properties by customizing theme
there is no option provided for the same.
Solution: Add item_signal_emit_hook.
Signed-off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan:
Send a signal to item and verify UI
Elm_Object_Item *item = elm_colorselector_palette_color_add(cs, 133, 100, 255, 255);
elm_object_item_signal_emit(item, "elm,state,selected", "elm");
Reviewers: seoz, Hermet
Reviewed By: seoz
CC: govi
Differential Revision: https://phab.enlightenment.org/D504
Summary:
Currently, focus highlight comes on the widget's geometry. Elementary does not have option to provide the focus highlight on widget's part.
This patch provides the option to provide focus highlight on the widget's part.
e.g. data.item: "focus_part" "part";
The focus highlight would come on part's geometry instead of widget's geometry. This patch only works on widgets which uses
resize_obj.
Reviewers: seoz, woohyun
Differential Revision: https://phab.enlightenment.org/D499
- Added enabled_filed_count to avoid loop in _elm_datetime_smart_sizing_eval().
sizing_eval is called many times but field_count is only changed when called
_reload_format().
- Moved redundant if statement out of the loop in _field_list_display().
- Removed redundant call from _elm_datetime_smart_add().
_field_list_arrange() is called in _reload_format().
When moved to root(/) and typed something in name_entry,
ok button sent //something as as data of "done" signal.
This patch checked current path string not to concatenate two slash.
Summary: Fix a bug with finding the proper geometry when reporting anchor
interaction. It's easy to see in entry anchor2 test in elementary_test
when clicking on the lower border of the anchor.
Anchor geometries are relative to the textblock object. The problem was
that this was accounted for using the edje object's geometry instead of
the textblock geometry thus causing an offset.
Reviewers: JackDanielZ, tasn
CC: seoz
Differential Revision: https://phab.enlightenment.org/D436
TAsn: Commit message edited by me.
We already know some apis are just wrapping the internal widget apis.
Iternally we don't need to call the external apis that have additional object validation checking.
This breaks elementary_config (open it and you'll see the weird bugs on
the top left corner). Please fix it and recommit as needed. I have no
time to dive into naviframe and see what this patch is meant to be
doing.
This reverts commit e3784b68e01849a99e06f31e02192ffb19d1275c.
MAX and MIN are defined in a couple of places and they was already
defined in elm_priv.h. So use elm_priv.h's one.
I also moved CEIL to elm_priv.h that can be used in another places.
Some widgets override the widget translation but it didn't inherit the base widget's function.
Becuase of it,The language changed won't be properly called in the widget tree.
Now it fixed it.
Call the smart callback in the widget infra so that each widget don't need to hook the smart_translate only for the smart call.
This makes reducing duplicated code and supporting language,chagned from all widgets.
click.
Summary:
Focus highlight was not visible on first click on a widget with focus_highlight enabled on the window.
This happens because on first click, the "elm,action,focus,show" signal was emitted before setting focus highlight edje object as theme object of elm window.
In this patch, moved the _elm_win_focus_highlight_visible_set() call after focus highlight edje object set as theme object of window.
This fixes T774.
Test Plan:
elementary_test->focus then click any widget. Focus won't appear for the first time.
Reviewers: seoz, raster, woohyun
Maniphest Tasks: T774
Differential Revision: https://phab.enlightenment.org/D462
It looks like ctype.h is included in some other headers by luck but it
is recommended to explicitly include the necessary header.
Confirmed by glima as he commented this out.
Summary:
Previously, previous view was hidden by evas_object_hide.
However, this method is no longer correct because size calculation of naviframe causes evas_object_show.
Now, previous view is hidden by emitting signal to naviframe theme and clipper hides the previous view.
Reviewers: Hermet
Reviewed By: Hermet
CC: seoz
Differential Revision: https://phab.enlightenment.org/D484
- When appending an object to the focus custom chain,
event callback about deletion should be added.
- When a widget is deleted, its focus custom chain should be
managed correctly.
ecore_animator_del, and ecore_job_del.
As all efl public free apis get null as valid parameter, we do not need
to check null. I also removed some null check for other free apis which
were right next to timer/animator/job del. After this job code got
cleaner.
Summary:
fileselector_button and fileselector_entry should have almost same interfaces with fileselector.
Previously , we exposed them individually such as elm_fileselector_is_save_set().
Instead of adding the same APIs three times, we can reuse one fileselector's API using Eo interface.
This patch introduced fileselector interface and applied it to elm_fileselector.
Reviewers: seoz, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D475
If edje_object_part_text_get gives different text from original one,
length of text can be changed. So the last position of tmpbuf should
be calculated again refering to the current text to be returned.
There are elm_widget_theme/theme_set/theme_get functions.
In Eolian these functions will be described as "theme" method and
"theme" property. There is clash here.
So add suffix "_apply" to Eo API for "elm_widget_theme".
Summary:
Gengrid _item_show_region function calculate gengrid x, y moving postion with scroll to type.
Belows are summaries of this refactoring works.
1. Refactoring recalculation of scroll type.
2. Bug fix :
- when x or y is 0, y or x value is set as default value, it->position-1.
- when x or y is less then 1, calculation is not correct.
- make calculate correct position of y when even though scroll direction is horiziontal
(when virtical, x is also calculation correct position).
3. change smart data variable s_type to scroll_to_type to make unity on gen widget.
(genlist smart data variable name is scroll_to_type);
Reviewers: seoz, Hermet, raster
Reviewed By: raster
CC: bluezery
Differential Revision: https://phab.enlightenment.org/D474
Summary:
The geometry of elm_widget_show_region_get is only updated by elm_widget_show_region_set.
If the geometry of *show_region_get is not updated, the result of show_region_job would be incorrect.
So, we need to get a proper geometry using *focus_region_get for focused object.
Reviewers: seoz, woohyun, Hermet, raster, tasn
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D466
Summary:
In TTS mode, when the entry is highlighten and double tap to the entry,
the entry will be focused. But "clicked" smart callback is not called, input panel is not shown.
So I we need to call the callback and show input panel in smart activate.
Reviewers: seoz, Hermet, woohyun, tasn, jaehwan, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D465
Summary:
Default theme of entry does not have any disabled state in "elm/scroller/entry/*" styles.
But EFL developer can make any custom style for entry and scroller and it can has disabled state.
So _elm_entry_smart_disable has to emit "*disabled" signal to scr_edje.
Reviewers: woohyun, tasn, seoz, Hermet, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D464
fileselector_button initialize inwin mode using the configuration.
Fixed wrong information about default value in API documentation.
In addition, fixed test_fileselector_button.cpp not to show wrong information at initial time.
seriously, this is and has been bullshit since it was added. I don't need an error message every time I do ANYTHING just because some module has never been found.
There are some warnings in elm_object_disabled_set() because elm_layout_theme_set()
calls _elm_datetime_smart_disable() before creating file->item_obj.
This patch refactors _smart_add to initialize file->item_obj before calling
elm_layout_theme_set().
elm_layout_theme_set can call some methods like _elm_panel_smart_theme and there are some warnings
when these methods manipulate some member variabls which are not initialized yet.
It's because elm_layout_theme_set is called too early in _smart_add.
Spotted while digging warnings after rELM4c3e23de9e46
Summary:
elm_layout_theme_set can call some methods like _smart_disable and there are some warnings
when these methods manipulate some member variabls which are not initialized yet.
It's because elm_layout_theme_set is called too early in _smart_add.
Spotted while digging warnings after rELM4c3e23de9e46
Reviewers: seoz, raster
Reviewed By: seoz
Differential Revision: https://phab.enlightenment.org/D459
Summary:
to support mouse_down/up/move callbacks of ctxpopup,
all objects in ctxpopup should be in smart relationship with ctxpopup.
Also, with this patch, bg object and arrow object don't have to be called with
evas_object_show or evas_object_hide when ctxpopup is shown or hidden
Reviewers: Hermet, seoz, raster, thiepha
Reviewed By: seoz
Differential Revision: https://phab.enlightenment.org/D458