It was discussed a while ago that Zoomable was a poor name in some
languages, like python.
This changes, in Efl.Ui, to use underscores:
- Image.Zoomable
- Grid.Static
- Box.Flow
- Box.Stack
Zoom +/- doesn't work well as this is a multiplication factor.
Test scenario:
- elementary_test -to Photocam
Then click on the image, and press + or - on the keyboard.
@fix
This factorizes the code and makes most widgets handle key down events
in the same way:
- check that the object is not disabled, event is not on hold
- figure out the key binding based on the class name
- mark event as on hold
The class name is usually MY_CLASS_NAME but in some cases it was
MY_CLASS_NAME_LEGACY which may be different from the EO class name (eg.
elm_win vs. Efl.Ui.Win). In that case the key bindings are broken.
This breaks key bindings for the following widgets:
- Win (focus)
- Image ("clicked")
- Video (move, play)
This fixes key bindings for the following widgets:
- Nstate
Some widgets remain broken:
- Photocam / Efl.Ui.Image.Zoomable
A patch will be applied to restore the key bindings for the above
breaks.
This is an internal function that should probably become an overridable
protected method, as it's required for proper event handling in widgets.
Next step: use eo_event_info in the widgets implementations. Then remove
legacy event struct.
Ref T5363
This is a semi experimental patch to set the default weight
of objects to (1, 1), i.e. EXPAND. This seems like a more
sensible default value than no weight. Some objects may not
need the expand weight, but this seems to be the minority,
not the majority.
Ref T5301
Summary:
Some of locale formats convert as extension format.
For example,
uk_UA d_t_fmt is "%a, %d-%b-%Y %X %z".
The %X will convert as %T.
The %T format has to convert one more time to convert as %H:%M:%S.
ref : https://lh.2xlibre.net/locale/uk_UA/
We need to parse the format recursively to support that kind of case.
@fix
Test Plan:
Change the locale as uk_UA.
Run elementary_test -> datetime
See the time field is not appear.
Reviewers: jpeg, cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5021
This is to pretend the object is visible when it's been added with
efl_add but evas hasn't started rendering yet (it's in the queue).
This code is not enabled (yet?) although I think it could very well be
(I don't observe the same bugs as I did the first time I tried this
patch).
Test scenario: ephoto without a recent patch (47fe2b9ab03c151b0f4).
Before any further explanation, ephoto was definitely misusing the
aspect API here. A label most definitely shouldn't be sized based on an
aspect ratio, that's just crazy (you really want to make it as tall as
it's wide?)
If a box has an aspected item, it needs to run its min calc loop twice:
1. Once to determine the "true" min size in the direction of the box
(ie. in X in case of a horizontal box), and
2. Once more in order to apply the aspect ratio to aspected items and
augment the perpendicular min size (ie. Y for horizontal).
After that, it can go and layout the items based on the available size.
As we may guess from the above description (1) determines min W and
(2) determines min H (in horizontal mode).
BUT, there were two problems:
- The wrong item min size was used inside the 2nd loop (the code was
not symmetrical between horizontal and vertical modes). These are the
changes in _smart_extents_non_homogeneous_calc.
- The box min length was based on the actual size of aspected items,
rather than their min size. This goes against the observation. These
are the changes in _smart_extents_calculate.
Ref T5888
@fix
The intent of the "configure complete" event is to indicate that the
window is configured and ready to receive buffers.
For "windows" like mouse cursors, that's immediate - let them know.
Abstract frame callbacks through ecore_wl2_window so we can add them in
multiple places without having the wayland compositor generate more than
one.
Also allows us to keep a callback registered over hide/unhide of a window
easily.
locks are not the same as modifiers, and the corresponding event flag must
be set based on whichever value(s) are set instead of yolo mixing and matching
@fix
ref T5737
It seems that cc overlays that didn't change got lost in the process of
saving elm_config and then reloading it (automatically happens because
the file changed... which we just wrote to).
Fixes T3682
This only skips writing the profile name to
~/.elementary/config/profile.cfg
This allows easier testing of elementaryt apps (and E) with custom
profiles.
export ELM_PROFILE_NOSAVE=1