This fixed T179 but introduced T286. T286 is bigger and more important issue than T179.
So temporarily disable these lines until it gets fixed correctly.
Issue: horizontal list does not show correctly in desktop mode.
- The way to reproduce isssue is discribled in Task T179.
- We can also reproduce issue by runnin Ctxpopup at horizontal mode in elmentary test with standard profile.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
Summary:
This patch applies automatic focus feature to elm_genlist and elm_list
containers.
Currently (prior to this patch), focusable widgets inside list items of both
containers receive focus by an explicit mouse click over them, and lose focus
when focus goes to someone else in the window.
This change also adds the ability to:
- focus by default on the first-from-right focusable widget upon items selection
- lose the focus when another item is selected (focused or not)
- move focus between focusable widgets inside the same item by left and right
arrow keys accordingly (up and down keys when elm_list is in horizontal mode)
Focus is supported for horizontal and vertical lists.
Tests have been added for genlists and lists to check focus feature.
1. Do not need to print the same error message from all the widget codes.
2. Even though elm_widget_sub_object_add() can be used internally, there should be no error message at all.
Elm devs should fix it beforehand.
So it looks ok to print the error message in elm_widget_sub_object_add() to force elm devs to fix it.
3. Got additional code cleanups.
When the scroller is resized, the signals("elm,action,scroll", "elm,edge,top" so on) shouldn't be sent,
because it's not a scroll-action. So in this case, the content_pos_set should be called without the signals.
the user would be visually impaired person or blind, so the type infomation
of genlist or list is not proper. there would be more proper type infomation.
SVN revision: 83005
On Sun, Dec 9, 2012 at 11:11 AM, thiep ha <thiep.ha@samsung.com> wrote:
Dear All,
In elementary list, the separator is not correctly set.
I would like to send a patch to correct the list with separator.
I also add an example named "List Separator" to test it.
Please review this patch.
Best Regards,
Thiep Ha
SVN revision: 82040
+ elm_access_object_register();
+ elm_access_object_unregister();
+ elm_access_text_set();
+ elm_access_text_get();
+ elm_access_cb_set();
These APIs are to use edje part, evas object as an accessible object.
and do not create access object, because access object would be created at run time.
This is different with internal API _elm_access_object_register();
SVN revision: 81659
*note: this commit - callback behavior - would be disputable as genlist becuase list has
"clicked,double", "selected" and "activated" signal and smart callback also.
but the access acitvate callback works as the item is selected.
SVN revision: 79451
Subject: [E-devel] [Patch][elementary] elm_access, use widget_item in
focus chain
It has been possible to use widget_item in access mode. The mouse-in
event
makes the widget_item speak.
But focus chain is not useful in access mode, because the widget_item
cannot get the focus as the edje object.
The accessibility highlight will move by keeping the attached patch
and you
can hear the sound of widget item information.
Please review the patch and give some feedbacks. There would be further
works such as dynamic setting focus next hook,
the previous _elm_access_list_register();, but please keep this first if
there is no big trouble. I'll do those also. Thanks.
SVN revision: 73074
1. delete old content object
2. check whether new content object is same as old content object
3. rename internal content set hook function
4. elm_widget_sub_object_del will be followed by evas_object_del
5. added some doxygen description.
SVN revision: 69738
Subject: [E-devel] [Patch][elm_list] bug fix: crash occurs when
container which contains the elm_list is deleted on the "elm_list item
clicked" callback
I have resolved the elm_list issue(goto ELM_LIST_CRASH_ISSUE_MAIL below, I
sent mail but I cannot find the previous mail -_-;).
It would be related with double free issue. In the "sub-obejct-del"
callback which name is _sub_del() sets item->icon to NULL.
And in the EVAS_CALLBACK_MOUSE_UP callback funtion which name is
_mouse_up() calls evas_object_unref();
It would try to free the item->icon but the item->icon is already set to
NULL. So.. the crash would occur..
SVN revision: 69555
Subject: [E-devel] [Patch][elementary] elm_list.c - item_content_set()
related.
The Eina_Bool item->dummy_icon and item->dummy_end of Elm_List_Item
indicate whether the content has REAL object or not.
- "not" means.. if elm_object_item_part_content_set(); is called with
NULL content, the Elm_List set the swallow part with
rectangle which has alpha value 0 and the item->dummy_icon or
item->dummy_end is set to EINA_TRUE. -
But in the item_content_set(); it works the opposite way. So when
content set with NULL value the flag should be EINA_TRUE.
SVN revision: 69535
Subject: [E-devel] [patch] elm_list - add select_mode_set and some
remove deprecated apis in examples
Like other widget (genlist, gengrid...), I add select_mode to elm_list.
+elm_list_select_mode_set(Evas_Object *obj,
Elm_Object_Select_Mode_Type mode)
+EAPI Elm_Object_Select_Mode_Type
+elm_list_select_mode_get(const Evas_Object *obj)
And I removed deprecated apis (no_select, always_select) in examples
and edje_externals.
SVN revision: 68971
First things first, I'm not sure I'm setting the right variable on
the setlocale() call, so someone more knowledgeable can look at it and fix it.
How this works, you say? Just like elm_object_text_part_set(), except now it
will pass the string given through dgettext() with the given domain (NULL
means it uses whatever the app set with textdomain()), and when changing
language with elm_language_set(), it will re-set the strings with a new
translation.
SVN revision: 64179
these bad boys are so big and pixelthirsty they can't be constrained by a regular canvas or window, they use OVERRIDE REDIRECT WINDOWS. not only that, they totally exceed the boundaries of what a reasonable function name length could be. 50 character function name limit? puh-leeze. these guys don't care what side of the screen they're even on so long as they get to wade into the thick of the action and block out each and every crappy non-efl application behind them. and that's when they're in good moods. you don't even want to know what happens when you piss these guys off.
SVN revision: 61735
this signal is called whenever an item receives either a double click or selection+(enter/spacebar/return)
this commit also unifies the click/enter/spacebar/etc event api for these widgets, including removing the double click signal from keypress events and removing the 'clicked' signal from double click events
SVN revision: 61720
Deprecated existing APIs but not removed them. They will be removed
sometime later or when elm 1.0 is released. And added new APIs.
I fixed box, table and toolbar. I will modify other codes in trunk soon.
SVN revision: 59160
Unified double-click smart callback signal name to "clicked,double".
Wrong signal name "clicked" is still there.
But this will be removed soon after fixing all codes in trunk.
SVN revision: 58293
If you try to create a new widget, you must be sure that the parent
is really an evas object.
With the previous implementation it was possible to call an _add
function for an elementary widget with any non-null pointer as parent
eventually causing crashes (like with the elm_box).
SVN revision: 55521
Subject: [E-devel] [PATCH] Some modifications for adapting
elm_longpress_timeout_get().
I made a patch for adapting elm_longpress_timeout_get() function to all
winsets, using long press event.
And I checked one warning in elm_entry.c , so I modified it.
SVN revision: 55339
elm_list or in an elm_genlist fire the edge,{top,bottom,left,right}
signals, backporting them to the list object.
The new smart callbacks called are:
· "scroll,edge,top" - the list is scrolled until the top edge
· "scroll,edge,bottom" - the list is scrolled until the bottom edge
· "scroll,edge,left" - the list is scrolled until the left edge
· "scroll,edge,right" - the list is scrolled until the right edge
SVN revision: 3
SVN revision: 54393
Author: Helen Fornazier <helen.fornazier@profusion.mobi>
If no item is selected, pressing up it will select the first and down
will select the last item
SVN revision: 53924
Only two getters continue without const:
* elm_theme_get
Need name review, or comportament.
* elm_toolbar_item_menu_get
Need comportament review, but will be fixed by bdilly.
SVN revision: 53874
Instead of just setting the bounce property to its scroller, each widget now
first checks in the profile used whether bounce is enabled or not.
SVN revision: 53730
I'm not implementing the default list themes WRT to it right now,
though, I get back to it soon (just implementing it for a new widget).
SVN revision: 53641
Now one can set lists to dispose its items horizontally, too.
elm_list_horizontal_mode_set(), whose name was bogus and would
conflict with the new methods, got renamed to elm_mode_set(), along
with the getters.
This is coming along to help a widget using lists which has a
horizontal mode. The default theme for horizontal items is kinda ugly
for default lists, but one can always improve it :) (in a hurry
now).
Also, I'm introducing a new mode for Elementary lists: expand.
SVN revision: 53640
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
With this commit is now possible to not use theme's cursor (default behevior)
that could be overriding cursors defined by the engine.
SVN revision: 52761
Basically, get the group from widget theme, using the string passed to
elm_object_cursor_set, get hot spots x and y from the theme (keeps the object
and these two integers on cursor struct).
Cursor is set with ecore_evas_object_cursor_set()
Some functions to change style were added to the api.
SVN revision: 52760
Subject: patch for indentation and using enum in elementary
I send the patch for elementary.
In this patch, I fixed the indentation of Elementary.h.in.
In addition, I use EINA_TRUE or EINA_FALSE instead of 1 or 0.
EVAS_HINT_EXPAND and EVA_HINT_FILL is used instead of 1.0 and -1.0.
Thanks.
SVN revision: 52447
Widgets can have customized cursors setting it with elm_object_cursor_set.
Widget's item can use elm_X_item_cursor_set to set a different cursor
for each item.
It will work only if HAVE_ELEMENTARY_X for now, but support for themeable
cursors is planned.
SVN revision: 52382
Now owner widget (elm_widget) is just used to listen for theme changes
and create/destroy the tooltip data. The actual mouse events operates
on all Evas_Object and is the one where tooltip data is actually
stored.
The public API is basically the same, just the event_info is now NULL
to avoid confusion.
The internal API introduces elm_object_sub_tooltip_content_cb_set()
and as the first parameter the eventarea. While this may be confusing,
as the second parameter is the actual elementary object, it is the one
that all other calls receive, like elm_object_tooltip_hide() or
elm_object_tooltip_unset(), thus it does make sense to have such order.
Also internal API, elm_widget_item_tooltip_* functions were
added. They are a variation of the widget API to handle its items, as
such the func() gets one more parameter: item, and the del_cb() gets
the item as event_info (that's why the public widget version got
event_info always NULL, to not confuse with this one!)
Widgets with items that makes sense to have tooltips got extra API:
* toolbar
* list
* gengrid
* genlist
SVN revision: 52173
This patch changes all Elm_*_Item to use new infrastructure of
Elm_Widget_Item. This patch is basically a find-and-replace, but even
that was a bit tricky since every code had different names for the
same things, particularly for "view" and "widget" the names ranged
from "o"/"obj" to "base"/"o", quite confusing!
It is worth noting that Genlist and variants that adopted its "item
class" style such as Gengrid and Slideshow already provide a "del()"
callback there and I'm keeping them, however we should reconsider if
it is good to remove them and use elm_widget_item_del_cb_set()
instead. The drawback is that onde would have to set it, while the
other is done automatically when you create the object with the
class. Nonetheless this patch already introduces support to use
elm_widget_item_pre_notify_del(), but it will be void in such code as
nobody ever sets it.
Some new setters and getters were introduced to normalize code... and
they would be required once people write python-bindings for them,
like index and carousel.
SVN revision: 52118
Apply badzero.cocci, badnull.coci and badnull2.cocci
This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:
code before patch ||code after patch
===============================================================
return a == NULL; return !a;
return a != NULL; return !!a;
func(a == NULL); func(!a);
func(a != NULL); func(!!a);
b = a == NULL; b = !a;
b = a != NULL; b = !!a;
b = a == NULL ? c : d; b = !a ? c : d;
b = a != NULL ? c : d; b = a ? c : d;
other cases:
a == NULL !a
a != NULL a
SVN revision: 51487
elm_<widget>_icon_set was changed to the better form and the signals
was passed to hidden icons when one icon is changed/removed.
Moreover, when changed by {icon,content}_set the old {icon,content}
will be deleted.
By: Fabiano Fidencio <fidencio@profusion.mobi>
SVN revision: 49706
Function that include items to an elm list in a sorted way defined by
an Eina_Compare_Cb function.
Author: Bruno Dilly <bdilly@profusion.mobi>
SVN revision: 48777
that's why!
2. make cmd-line tool to set scale, theme, finger size (more later) - used
this to test this and fix it.
3. cmd-line tool... also uses elm - and... as a result... also has a dialog
sayint its doing something - and... it can get a gui config later too!
SVN revision: 45175
now list marks itself as "walking" every time it's usign wd->items,
this way any call to clear or deletion (elm_list_item_del()) will be
postponed using the wd->to_delete list.
please let me know of any bugs you may find.
SVN revision: 44124