diff options
Diffstat (limited to 'Swift/QtUI/CocoaApplicationActivateHelper.mm')
-rw-r--r-- | Swift/QtUI/CocoaApplicationActivateHelper.mm | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/Swift/QtUI/CocoaApplicationActivateHelper.mm b/Swift/QtUI/CocoaApplicationActivateHelper.mm index 9f12fba..2bd985a 100644 --- a/Swift/QtUI/CocoaApplicationActivateHelper.mm +++ b/Swift/QtUI/CocoaApplicationActivateHelper.mm @@ -1,15 +1,19 @@ /* - * Copyright (c) 2012 Isode Limited. + * Copyright (c) 2012-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ -#include <Cocoa/Cocoa.h> -#include "CocoaApplicationActivateHelper.h" +#include <Swift/QtUI/CocoaApplicationActivateHelper.h> + +#include <memory> #include <boost/function.hpp> + #include <QApplication> +#include <Cocoa/Cocoa.h> + @interface CocoaApplicationActivateHelperDelegate : NSObject { } - (void) handleActivate: (NSAppleEventDescriptor*) event withReply: (NSAppleEventDescriptor*) reply; @@ -17,37 +21,35 @@ @implementation CocoaApplicationActivateHelperDelegate - (void) handleActivate: (NSAppleEventDescriptor*) event withReply: (NSAppleEventDescriptor*) reply { - (void) event; (void) reply; - QApplication::postEvent(qApp, new QEvent(QEvent::ApplicationActivate)); + (void) event; (void) reply; + QApplication::postEvent(qApp, new QEvent(QEvent::ApplicationActivate)); } @end namespace Swift { struct CocoaApplicationActivateHelper::Private { - CocoaApplicationActivateHelperDelegate* delegate; - bool initialized; + CocoaApplicationActivateHelperDelegate* delegate; + bool initialized; }; -CocoaApplicationActivateHelper::CocoaApplicationActivateHelper() { - p = new Private(); - p->delegate = [[CocoaApplicationActivateHelperDelegate alloc] init]; - p->initialized = false; - qApp->installEventFilter(this); +CocoaApplicationActivateHelper::CocoaApplicationActivateHelper() : p(new Private()) { + p->delegate = [[CocoaApplicationActivateHelperDelegate alloc] init]; + p->initialized = false; + qApp->installEventFilter(this); } CocoaApplicationActivateHelper::~CocoaApplicationActivateHelper() { - [[NSAppleEventManager sharedAppleEventManager] removeEventHandlerForEventClass:kCoreEventClass andEventID:kAEReopenApplication]; - [p->delegate release]; - delete p; + [[NSAppleEventManager sharedAppleEventManager] removeEventHandlerForEventClass:kCoreEventClass andEventID:kAEReopenApplication]; + [p->delegate release]; } bool CocoaApplicationActivateHelper::eventFilter(QObject* object, QEvent* event) { - if (object == qApp && event->type() == QEvent::ApplicationActivate && !p->initialized) { - [[NSAppleEventManager sharedAppleEventManager] setEventHandler:p->delegate andSelector:@selector(handleActivate:withReply:) forEventClass:kCoreEventClass andEventID:kAEReopenApplication]; - p->initialized = true; - } - return QObject::eventFilter(object, event); + if (object == qApp && event->type() == QEvent::ApplicationActivate && !p->initialized) { + [[NSAppleEventManager sharedAppleEventManager] setEventHandler:p->delegate andSelector:@selector(handleActivate:withReply:) forEventClass:kCoreEventClass andEventID:kAEReopenApplication]; + p->initialized = true; + } + return QObject::eventFilter(object, event); } |