diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2023-07-12 11:05:43 +0200 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2023-11-23 00:52:12 +0100 |
commit | 5ae635548789098f8097647e23b91f2ea123b78f (patch) | |
tree | 2e2d3742ab8081ab2f84751b5afd64aac668954a /src/gui/CMakeLists.txt | |
parent | fdc2036640ff7501b17b13c504743786b1f8bf6e (diff) |
Add initial implementation of macOS and iOS icon theme implementations
From macOS 13 on, AppKit provides an API to get a scalable system image
from a symbolic icon name. We can map those icon names to the XDG-based
icon names we support in Qt, and render the NSImage with palette-based
coloring when needed, in an appropriate scale.
On iOS, we can use the equivalent UIKit APIs. Coloring functionality is
only available from iOS 15 on.
Implement a QAppleIconEngine that does that in its scaledPixmap
implementation. Use basic caching to store a single QPixmap version of
the native vector image. We regenerate the pixmap whenever a different
size, mode, or state is requested.
Add a manual test for browsing all icons we can get from the various Qt
APIs that: standard icons and pixmaps from QStyle, QPlatformTheme, and
QIcon::fromTheme, in addition to showing all icon variations for a
single QIcon.
Task-number: QTBUG-102346
Change-Id: If5ab683ec18d140bd8700ac99b0edada980de9b4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/gui/CMakeLists.txt')
-rw-r--r-- | src/gui/CMakeLists.txt | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 9f2d3b4882..1f1fbc65c8 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -385,6 +385,7 @@ qt_internal_extend_target(Gui CONDITION APPLE platform/darwin/qmacmimeregistry.mm platform/darwin/qmacmimeregistry_p.h platform/darwin/qutimimeconverter.mm platform/darwin/qutimimeconverter.h platform/darwin/qapplekeymapper.mm platform/darwin/qapplekeymapper_p.h + platform/darwin/qappleiconengine.mm platform/darwin/qappleiconengine_p.h text/coretext/qcoretextfontdatabase.mm text/coretext/qcoretextfontdatabase_p.h text/coretext/qfontengine_coretext.mm text/coretext/qfontengine_coretext_p.h LIBRARIES |