Slint 0.2.2 Release
This week we released version 0.2.2 of Slint. A short summary for on-lookers can be found at Reddit, while the CHANGELOG file has a more detailed summary for users of Slint.
So this week has seen many fixes to prepare for the release.
Simon at Berlin Rust & Tell
We were at the Berlin Rust & Tell event hosted by Prisma on April 12th. Simon was presenting on UIs on microcontrollers using Slint.
I mention this only now since the video was just made available.
Slint UI Library
GL backend: fix locating the default font in slightly atypical
Enable fontdb's fontconfig feature to parse fontconfig files to locate the directories where truetype fonts are located. This helps in system setups that differ from the defaults that fontdb uses otherwise.
Properly initialize the default binding of a state to its materialized
Fix conversion from brush to color in the ternary operator (#1241)
Fix BoxShadow property incorrectly considered const (#1238)
We steal the bindings for the geometry from the containing element, so we should also take the analysis.
Qt: do not wrap QPainter directly, but use a unique_ptr instead (#1231)
Because QPainter can't be relocated.
GL Backend: Make window.hide() respect the set EventLoopQuitBehavior (#1225)
This makes the Application quit, when the windows are hidden programmatically.
Hack to make Qt not close newly opened popups when running on Windows
Windows sends a mouse release event after the close event when running on windows. This confuses our hack to close popups!
So hack around the problem by ignoring any mouse button release event that does not follow a mouse button press event. I hope this will not cause too many side effects.
Qt: quit the application when calling hide() on the last window (#1224)
Fixes the todo example not exiting when clicking on "yes" in the close popup
Changes to the build system
Do not build node by default (#1210)
Having to make sure the right version of npm is installed is a hassle for people that just want to try out slint for the first time. The proposed way to disable node support enables basically everything else, which opens another can of worms when Windows tries to build MCU support.
So do not build Node.JS as part of the default build anymore, but document how to build it.
The CI should build with
--workspacealready, so there should be no need to change the CI build.
Model: When items are inserted, sets the components after that as dirty
Because their index property needs to be updated
Other Crates and Libraries
Contributions to other crates and libraries made by the Slint developers:
22 patches were committed in 17 pull requests by 5 authors.