Skip to content
  • snooxx 💤's avatar
    KShortcutsEditorDelegate: Fix HiDPI rendering of indicator arrows · a82076a6
    snooxx 💤 authored
    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 frameworks/kitemviews!10.
    
    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.
    a82076a6