17th of October 2022 to 23rd of October 2022

Slint UI Library

New Features

  • Add a dark mode for the fluent style (#1286) Dark theme

Changes to the .slint Language

  • Start working to make syntax more robust (#1734, #1754)

    This PR:

    • Adds the support for input/output/private properties #191
    • Parses the new Component declaration #1682
    • Adds some transformations in the syntax_updater to port to the new syntax
    • Introduces new lookup rules for unqualified identifier

      Instead of looking up any property in self and root, only resolve the properties in scope declared in the current component.

      CC #1750 / #273

Demos

  • Add example for custom carousel widget (#1739, #1744, #1748)

    Add example with a custom carousel widget for rust, cpp and js

    Also support MCU in this example.

Tooling

  • Improve property viewer widget (#1763)
    • Remove the type column from the table
    • Clicking on an defined property takes you to the property definition
    • Support grouping as supported by the new LSP (introduced in #1758)
  • online editor: improve the welcome screen (#1759)
  • online editor: Make document outline highlight where the cursor is (#1757)

    Make the document outline set the "active" class on the element the cursor is currently in.

    Include some css to make the browser show what is active.

  • online editor: Document outline widget (#1752)

    A Document outline widget.

    It's recommended to build this on top of #1751 as without that the navigation is broken.

  • Fix quality of SVG rendering in the online editor (#1740)

Fixes

  • Change type of Window::background from color to brush (#1755)

    It's not a breaking change. At the moment the software renderer does not provide gradient drawing and until it is implemented a gradient window background will be drawn as solid color. Fixes #1681.

  • Visit the type of array expression when collecting information on struct usage (#1743)

    Prevent compilation error in the generated code when dealing with empty array expression of a given type, which is otherwise optimized out

    Fixes #1733

  • Add VecModel::extend_from_slice (#1678)

    closes #1647

    Thank you to David John for this pull request!

  • Fix panic when the forward-focus expression is invalid (#1738)

    Caused a crash of the LSP when having invalid element in the forward-focus property

  • Fix panic when doing binding analysis of properties in repeater in layout (#1737)

    Given an element in a layout, we must visit the properties in the repeated component, not the dummy repeated element.

    The panic is a regression since e7506e, but the missing binding loop detection was there before

  • Fix type casting inside show_popup on the cpp compiler (#1735)
  • Improve handling of composition events on WASM (#1746)

Janitor work

PRs: #1668, #1751, #1753, #1756

Statistics

115 patches committed in 24 pull requests by 5 authors.

← Next : 24th of October 2022 to 30th of October 2022 ‒ 0.3.1 Release | Previous : 10th of October 2022 to 16th of October 2022


Slint is a declarative GUI toolkit to build native user interfaces for desktop and embedded applications written in Rust, C++, or JavaScript. Find more information at https://slint.dev/ or check out the source code at https://github.com/slint-ui/slint