The problem was that the `LineEditPasswordIcon` had an internal property
that would get out of sync when the component is re-created.
The component does get re-created in fluent depepending on the focus,
and this is the case especially with wasm because of the hidden input
that takes the focus.
Fixes#9225
Given that 'visible: false' still takes the icon into account in the
layout (to my great surprise), use the if syntax instead. This fixes
long placeholder texts being truncated too early in the Qt style at
least.
Also, in fluent style, show the "eye" icon in password lineedits only
when they have focus, just like the clear icon.
There is a binding loop that cause a failure in the property editor of
the live preview.
Previous version of the LineEdit didn't have a dependency between the
height and the width.
Apply an explicit width binding on the recently added image to prevent
that.
For the fluent style, also change the size of the `x` to something
closer to the actual fluent style (picked the value from fluent's figma
design)
Instead of having all style duplicated and re-using a base, we just hack
into the funciton that queries the dark/light theme based on the style
suffix known at compile time.
This removes one of the problem that happens when trying to work on the
widget style with the extension, as it relies on include path hacks
2024-08-20 16:55:15 +02:00
Renamed from internal/compiler/widgets/fluent-base/lineedit.slint (Browse further)