I'll commit this to bring some attention to the topic, it is harmless
for people that do not use it, but for users it may be slow on list
resize.
SVN revision: 53160
Subject: Patch to address some focus and disabling issue in elementary
widgets
We have observed some generic issues in Elementary widgets.
1. Widgets not getting disabled if we call elm_object_disabled_set(ob,
EINA_TRUE) followed by elm_object_style_set(obj, <style_name>);
This works fine if we disable the widget after changing the style(call
to theme_hook happens here).
It happens because we are not sending the edje signal in theme_hook of
the widgets, if the widget is already in disabled state.
I have added this code in theme_hook of elm_button as an example and
we will need to apply the similar stuff in all other widgets if needed.
2. The widget gets focused in a particular scenario even though we
call elm_object_focus_allow_set(obj, EINA_FALSE).
The code snippet to explain the scenario which we observed was like
this:
Evas_Object *button = NULL, *icon = NULL;
button = elm_button_add(parent);
elm_object_focus_allow_set(button, EINA_FALSE);
icon = elm_icon_add(button);
elm_icon_file_set(icon, EDJE_PATH, "test.icon");
elm_button_icon_set(button, icon);
An icon object does not take focus by default. But still whenever
the focus returned to the parent(layout in this case) after closing
some popup, the button gets focused though we had disabled it
explicitly.
The reason is in this case, when we call elm_icon_add(button), icon
gets added to button as a sub-object and in this call, we set
sd->child_can_focus for button(the parent) as true because till now,
the focus property for icon has not been set to false which by default
is true.
This was set later in the function elm_icon_add() as follows:
elm_widget_can_focus_set(obj, EINA_FALSE);
Actually this should be set before adding icon as sub-object of the
parent which in this case is a button.
I have done the required modification in the function elm_icon_add().
Attached to this mail is the patch file for these two issues.The
revision from which I have created this patch file is 53129.
We may need to do similar changes in other widgets if required.
SVN revision: 53137
Subject: [EFL] Small Patch for Genlist : elm_genlist_item_expanded_depth_get() API
I added one API to genlist : elm_genlist_item_expanded_depth_get(). This is
used to get an item's expanded depth. I tested this with latest SVN revision
53090.
Can you review this patch and apply this to upstream?
SVN revision: 53134
this damn bitch made me waste hours hunting a supposedly bug in Evas
event dispatch system just to realize the bug was in the theme... and
list in the LIST + COMPRESSED! :-( Everything else was correct.
The idea of "end" is that we may want to have some action item as
well, such as a button (see modification in test_list.c). In this case
we want the button to receive the event before the list item (or even
block the event going to the list item). Use case: add a "delete"
button to the item, click delete and you want to avoid it being
selected (think of a bookmark where you want to delete a folder, but
select the item would enter that folder that you want to delete).
SVN revision: 53121
Added set, get, unset, prepend and append (relative or not).
Set - overwrite the custom chain
Unset - Delete the custom chain
Get- Return the custom chain
Append - append after the relative object or in the end
Prepend - prepend before the relative object or in the start
SVN revision: 53115
Before, the focus_cycle try pass the focus to next, and try again if
need loop the objects. Now, the focus cycle return possible next
object and if is necessary loop or not to focus this returned object.
SVN revision: 53111
This is one more widget whose idea come from Samsung set of
contributions to Elementary.
There is a known bug involving embryo + string functions, which will,
if in "stress", appear at the labels of the widget. Not time to attack
it right now, though.
SVN revision: 53109
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
Up and Down to navigate without multi selection. Hold shift +
up/down to multi select.
SVN revision: 53078
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
Keys:
up
kp_up
down
kp_down
left
kp_left
right
kp_right
Page Up
Page Down
Home
End
p.s.: kp = key pad
SVN revision: 53076
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
The list use elm_scroller instead els_scroller like the others. This is
a problem, because the scroller is son of the list, so when you click on
an item, the event will be done in the item (an edje object) that will
pass to the box it is inside, the box will pass the event to the
scroller and then to the list. So, with the event arriving the scroller
first than the list, if you press up, the navigation between item will
not happen because the scroller is treating the event first. So a good
solution is to pass the list to use smart scroller intead elm_scroller
(like genlist and gengrid).
SVN revision: 53075
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
Up, Down, Left and Right to navigate without multi selection.
Hold shift + up/down/left/right to multi select.
SVN revision: 53074
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
Up and Down to navigate without multi selection. Hold shift + up/down to
multi select.
SVN revision: 53073
This Debug search all subobjects from one object and put in file all
sub-tree of elementary objects as dot language in file. After you can
use dot(from graphviz) to generate PNG, SVG,... diagram of objects.
SVN revision: 53035
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
Keys:
up
kp_up
down
kp_down
left
kp_left
right
kp_right
Page Up
Page Down
Home
End
p.s.: kp = key pad
SVN revision: 52964
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
Keys:
up
kp_up
down
kp_down
left
kp_left
right
kp_right
Page Up
Page Down
Home
End
p.s.: kp = key pad
SVN revision: 52963
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
The idea of the treatment of the key downs events in the smart scroller
is be equal to any widget that use it. But to do this, the smart
scroller must listen to the EVAS_CALLBACK_KEY_DOWN, this will cause a
problem to list, genlist, gengrid, because the event will arrive first
to the smart scroller then to this widgets (because the widgets are
listening the event by event_hook). So, if the scroller treat "Up", the
genlist will not select the item above because this event was already
treat by the scroller.
Now the tratment of the keys was tranfer to the elm_scroller instead of
els_scroller.
SVN revision: 52962