Slint UI Library
- Add a reset function to the model notifier (#1179)
corelib: allow to use i32 for coordinate instead of f32 (#1163)
The prepare scene time for the scene that changes to the night mode in the printerdemo_mcu goes from 60ms to 50ms
Widget focus (#1135)
Allow to use Tab/Shift-Tab to move the keyboard focus between widgets. Fix widgets in fluent and native style to accept focus and do something in response to key presses.
Changes to the
- Allow .darker and .brighter on Brush (#1169)
Property system: setting a binding must mark all dependent property as
When resetting the binding, we need to mark dependent property as dirty. It just happened that the current implementation always set all bindings before starting to query the properties, so this problem was not seen before. But there is an exception when setting the two_way bindings, then we may set the binding after the property was queried because setting a two way binding actually queries the property
Ensure the C++ test binaries find the right libslint_cpp (#1171)
Don't rely on
cargo testsetting the library search path environment for the dynamic linker.
As per https://doc.rust-lang.org/cargo/reference/environment-variables.html#dynamic-library-paths PATH/LD_LIBRARY_PATH/etc. are set to include
target/debugand "deps", but this is documented to be a legacy feature.
Rework the global singleton section in the language reference (#1093)
Remove the explanation of using two-way bindings to expose globals. While that still works of course, we don't need to mention it as the first example. Instead provide inline examples with Rust and C++ how to access the globals directly.
The snippets will be hidden/shown by future markup, for now both are visible.
Remove the ugly style (#1060)
Other PRs: #1170
Other Crates and Libraries
Contributions to other crates and libraries made by the Slint developers:
- Fix touch position being reported wrongly on TouchPhase::Ended (winit#2255)
When all the receive from the compositor is TouchEvent::Down and TouchEvent::Up for the same id, we would record the touch position in the touch_points vector the first time. On TouchEvent::Up we'd find it and report TouchPhase::Ended with that location. The next time we receive TouchEvent::Down for the same id, we'd however unconditionally append a new TouchPoint to
inner.touch_points, with the new position. On release however we'd find the earlier point and report its location, which basically means that TouchPhase::Ended always and forever reported the location of the very first touch down event.
Instead, this patch updates an existing touch point location with the same id on TouchDown.
25 patches were committed in 15 pull requests by 3 authors.