7 #include <QImageWriter>    13 #include <Cocoa/Cocoa.h>    14 #include <objc/objc.h>    15 #include <objc/message.h>    30     Class cls = objc_getClass(
"NSApplication");
    31     id appInst = objc_msgSend((
id)cls, sel_registerName(
"sharedApplication"));
    33     if (appInst != 
nullptr) {
    34         id delegate = objc_msgSend(appInst, sel_registerName(
"delegate"));
    35         Class delClass = (Class)objc_msgSend(delegate,  sel_registerName(
"class"));
    36         SEL shouldHandle = sel_registerName(
"applicationShouldHandleReopen:hasVisibleWindows:");
    37         if (class_getInstanceMethod(delClass, shouldHandle))
    47     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    53 #if QT_VERSION >= 0x050200    76     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    79         image = [[NSImage imageNamed:
@"NSApplicationIcon"] retain];
    82         QSize size = icon.actualSize(QSize(128, 128));
    83         QPixmap pixmap = icon.pixmap(size);
    86         QBuffer notificationBuffer;
    87         if (!pixmap.isNull() && notificationBuffer.open(QIODevice::ReadWrite)) {
    88             QImageWriter writer(¬ificationBuffer, 
"PNG");
    89             if (writer.write(pixmap.toImage())) {
    90                 NSData* macImgData = [NSData dataWithBytes:notificationBuffer.buffer().data()
    91                                              length:notificationBuffer.buffer().size()];
    92                 image =  [[NSImage alloc] initWithData:macImgData];
    98             image = [[NSImage imageNamed:
@"NSApplicationIcon"] retain];
   102     [NSApp setApplicationIconImage:image];
 
void setupDockClickHandler()
 
Macintosh-specific dock icon handler. 
 
void handleDockIconClickEvent()
 
void setIcon(const QIcon &icon)
 
static MacDockIconHandler * instance()
 
void setMainWindow(QMainWindow *window)
 
bool dockClickHandler(id self, SEL _cmd,...)