summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoaintegration.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoaintegration.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
index aa33cfd8bc..c8f6dd05db 100644
--- a/src/plugins/platforms/cocoa/qcocoaintegration.mm
+++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm
@@ -420,6 +420,7 @@ bool QCocoaIntegration::hasCapability(QPlatformIntegration::Capability cap) cons
case ForeignWindows:
case RasterGLSurface:
case ApplicationState:
+ case ApplicationIcon:
return true;
default:
return QPlatformIntegration::hasCapability(cap);
@@ -569,4 +570,16 @@ QList<QCocoaWindow *> *QCocoaIntegration::popupWindowStack()
return &m_popupWindowStack;
}
+void QCocoaIntegration::setApplicationIcon(const QIcon &icon) const
+{
+ NSImage *image = nil;
+ if (!icon.isNull()) {
+ NSSize size = [[[NSApplication sharedApplication] dockTile] size];
+ QPixmap pixmap = icon.pixmap(size.width, size.height);
+ image = static_cast<NSImage *>(qt_mac_create_nsimage(pixmap));
+ }
+ [[NSApplication sharedApplication] setApplicationIconImage:image];
+ [image release];
+}
+
QT_END_NAMESPACE