When we call elm_entry_markup_filter_remove() with internally defined filter callbacks,
it doesn't work. So we need a one of pointer for saving the address of data.
10 Elm_Entry_Filter_Limit_Size lim;
11 lim.max_char_count = 20;
12 lim.max_byte_count = 0;
13 elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
&lim);
14
15 elm_entry_markup_filter_remove(en, elm_entry_filter_limit_size,
&lim);
16 lim.max_char_count = 50;
17 lim.max_byte_count = 0;
18 elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
&lim);
In this code, we expect to see the filter of entry will be renewed.
But elm_entry_markup_filter_remove() doesn't work.
Because, markup_filter does not hold the address of data when we use
the filter callback which is defined in elm_entry.c
_filter_new() in elm_entry.c
You can see that _filter_new allocates new pointer and names as lim2.
lim2 is saved in data of _Elm_Entry_Markup_Filter. So the address of
data doesn't equal to the input data.
If the ELM_CLOUSEAU env var is set to 1 elm auto-starts clouseau.
Next step would be integrating it into the elm config and making it
toggle-able on run-time.
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.
With this new API the user can block movements on X axis, Y Axis or
both. I was left with no option but to come up with this, side by side
with elm_object_scroll_freeze_push(), elm_object_scroll_hold_push()
and elm_object_scroll_lock_x_set() (or
elm_object_scroll_lock_y_set()), once all of these will act on *parent
and/or child* widgets too, making those useless for any pratical use
of scroll blocking. Here's a sane, new option, enjoy it.
Before removing the framespace and frame object, set the window to
fullscreen, so its geometry will be saved taking into account the frame
size.
This is required because Ecore_Evas does not control the frame object
and frame size, it's all controlled by the application (Elementary, in
this case).
thumbscroll_min_friction and thumbscroll friction standard were added recently.
So with the previous elementary configuration those values became zero which is not valid.
Now elementary checks whether the value is zero and set the correct default value.