diff options
author | Bill King <bill.king@nokia.com> | 2009-12-09 23:07:52 (GMT) |
---|---|---|
committer | Bill King <bill.king@nokia.com> | 2009-12-09 23:07:52 (GMT) |
commit | e032c0756df0d11f7a43bcdfbb82cf2d83fe74a4 (patch) | |
tree | 36884ee5c9a9287663c05d5db529a3a0f16b9550 /src/gui/util/qsystemtrayicon_mac.mm | |
parent | 127d52df97b68fcf54a50e471a0b899d92fda10a (diff) | |
parent | 346d3618bad19714b41ad45715cdef9488ce8969 (diff) | |
download | Qt-e032c0756df0d11f7a43bcdfbb82cf2d83fe74a4.zip Qt-e032c0756df0d11f7a43bcdfbb82cf2d83fe74a4.tar.gz Qt-e032c0756df0d11f7a43bcdfbb82cf2d83fe74a4.tar.bz2 |
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt into 4.6
Diffstat (limited to 'src/gui/util/qsystemtrayicon_mac.mm')
-rw-r--r-- | src/gui/util/qsystemtrayicon_mac.mm | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/gui/util/qsystemtrayicon_mac.mm b/src/gui/util/qsystemtrayicon_mac.mm index b74ca85..93295a7 100644 --- a/src/gui/util/qsystemtrayicon_mac.mm +++ b/src/gui/util/qsystemtrayicon_mac.mm @@ -314,8 +314,22 @@ QT_END_NAMESPACE { Q_UNUSED(notification); down = NO; + + if( ![self icon]->icon().isNull() ) { +#ifndef QT_MAC_USE_COCOA + const short scale = GetMBarHeight()-4; +#else + CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight]; + const short scale = hgt - 4; +#endif + NSImage *nsimage = static_cast<NSImage *>(qt_mac_create_nsimage([self icon]->icon().pixmap(QSize(scale, scale)))); + [self setImage: nsimage]; + [nsimage release]; + } + if([self icon]->contextMenu()) [self icon]->contextMenu()->hide(); + [self setNeedsDisplay:YES]; } @@ -327,6 +341,20 @@ QT_END_NAMESPACE [self icon]->contextMenu()->hide(); [self setNeedsDisplay:YES]; +#ifndef QT_MAC_USE_COCOA + const short scale = GetMBarHeight()-4; +#else + CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight]; + const short scale = hgt - 4; +#endif + + if( down && ![self icon]->icon().isNull() ) { + NSImage *nsaltimage = static_cast<NSImage *>(qt_mac_create_nsimage([self icon]->icon().pixmap(QSize(scale, scale), QIcon::Selected))); + [self setImage: nsaltimage]; + [nsaltimage release]; + } + + if (down) [parent triggerSelector:self]; else if ((clickCount%2)) |