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

Ilya Bizyaev <bizy...@zoho.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas
                   |ma/breeze/-/commit/a4d892f6 |ma/breeze/-/commit/a5f463e2
                   |8ce77198812fccbeabfb79f97ce |36639370ba2770b7bc0e28dbe77
                   |36688                       |7b0eb

--- Comment #8 from Ilya Bizyaev <bizy...@zoho.com> ---
Git commit a5f463e236639370ba2770b7bc0e28dbe777b0eb by Ilya Bizyaev, on behalf
of Ilya Bizyaev.
Committed on 30/01/2024 at 11:44.
Pushed by ilyabizyaev into branch 'Plasma/6.0'.

Fix display of multiline menu items

Currently, multiline text in menu items is displayed incorrectly: the
bounding rectangle is calculated ignoring newlines, while the newline is
displayed in the resulting menu, and the text is cropped.

This commit makes it so the newline is considered in the calculation as
well. To do so, we get text metrics ourselves instead of delegating it
to the ancient QMenu code that forces `Qt::TextSingleLine`.

Note that this approach is not new:
* In Breeze, the code right below for QStyleOptionMenuItem::Separator
  also gets text metrics.
* In Qt, the Fusion style also requests font metrics:
 
https://invent.kde.org/qt/qt/qtbase/-/blob/dev/src/widgets/styles/qfusionstyle.cpp#L3084-3088

Note that this commit does not imply that it is a good idea to use
multiline menu item text in KDE apps from now on; it merely fixes an
existing rendering defect that caused multiline actions to look wrong in
StatusNotifierItems.


(cherry picked from commit 7c5809b6dacc56d3c10893c68fb702278f7717ce)

M  +10   -2    kstyle/breezestyle.cpp

https://invent.kde.org/plasma/breeze/-/commit/a5f463e236639370ba2770b7bc0e28dbe777b0eb

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

Reply via email to