https://bugs.kde.org/show_bug.cgi?id=507398

cwo <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/plasma-desktop/-/commit/
                   |                            |1712b9ac3260fadf0930972e623
                   |                            |7bf38047b0724
             Status|CONFIRMED                   |RESOLVED

--- Comment #4 from cwo <[email protected]> ---
Git commit 1712b9ac3260fadf0930972e6237bf38047b0724 by Christoph Wolk.
Committed on 13/08/2025 at 21:06.
Pushed by cwo into branch 'master'.

applets/kicker: properly handle opposite-edge applets

When kicker is placed on a right-edge panel in LtR or left-edge panel in
RtL, it flips its arrangement partially to be in the opposite order.
There are several good reasons for this, like keeping the search field
in a consistent position, or matching the fact the direction that
category popouts will open in. Kicker is not very good about rearranging
things though - there are all sorts of visual and UX issues, such as the
runner columns not being mirrored, so the search field is not actually
in the column where space for it is left, covering the contents and
leaving and empty space in a different column as well as not matching
the width of the column it is in, broken arrow key navigation,
inappropriate spacings and positions in some circumstances, and the
popout indicator arrow not matching the direction the popout or keyboard
navigation.

This change solves these issues by also adjusting the order of the
runner columns and fixing spacings, positioning, and arrow key
navigation. This in turn requires some rather invasive changes
throughout kicker, as the existing manual sizing calculations and
positioning/spacing heavily relying on anchors are already unwieldy and
error-prone when having a single layout direction – mixing layout
directions makes the problems several times worse. Instead, where
possible, we now use Layouts, automatic spacing, and implicit sizing
calculations in the relevant parts of Kicker, simplifying the code and
reducing the complexity of the internal dependencies. Along the way, we
do some minor cleanups, such as switching a case of imperative
assignment of signal handlers to a declarative one.

A positive side-effect of having a simpler structure is that it resolves
an unintended dependency between the visibility of the runner results
and the favorites sidebar, resolving an otherwise unrelated bug.

M  +2    -1    applets/kicker/ItemListDelegate.qml
M  +1    -0    applets/kicker/ItemListDialog.qml
M  +7    -5    applets/kicker/ItemListView.qml
M  +16   -11   applets/kicker/MenuRepresentation.qml
M  +70   -59   applets/kicker/RunnerResultsList.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/1712b9ac3260fadf0930972e6237bf38047b0724

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to