Skip to content

KShortcutsEditorDelegate: Fix HiDPI rendering of indicator arrows

Even with HiDPI rendering enabled in applications, the standard "Configure Keyboard Shortcuts" dialog would still show pixelated indicator arrows in the "Shortcut" and "Alternate" columns.

This is because the respective pixmap is only scaled up, but not rendered appropriately sized from the beginning.

Setting the pixmap's devicePixelRatio and increasing its size fixes the issue. option.rect is in device independent pixels, and therefore should be kept as is.

Note: In order for the arrows to still get drawn in the right place, additional fixes in KExtendableItemDelegate (i.e. the base class) are necessary, see kitemviews!10 (merged).

BUG: 414904

Test Plan:

  • Launch QT_SCALE_FACTOR=1.7 ./bin/kxmlguiwindowtest.
  • Open "Configure Keyboard Shortcuts" dialog.
  • Arrows in "Shortcut" column should not be pixelated anymore, for both their expanded and collapsed states.
  • Test with -style Fusion and other scaling factors, too.
Edited by snooxx 💤

Merge request reports