summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--SwifTools/URIHandler/MacOSXURIHandler.mm6
-rw-r--r--SwifTools/URIHandler/MacOSXURIHandlerHelpers.h11
-rw-r--r--SwifTools/URIHandler/MacOSXURIHandlerHelpers.mm16
-rw-r--r--SwifTools/URIHandler/SConscript3
-rw-r--r--Swift/QtUI/QtURIHandler.cpp6
5 files changed, 5 insertions, 37 deletions
diff --git a/SwifTools/URIHandler/MacOSXURIHandler.mm b/SwifTools/URIHandler/MacOSXURIHandler.mm
index 3542e2f..0575d47 100644
--- a/SwifTools/URIHandler/MacOSXURIHandler.mm
+++ b/SwifTools/URIHandler/MacOSXURIHandler.mm
@@ -18,42 +18,44 @@ using namespace Swift;
- (void) getUrl: (NSAppleEventDescriptor*) event withReplyEvent: (NSAppleEventDescriptor*) replyEvent;
@end
@implementation MacOSXURIEventHandler
- (id) initWithHandler: (URIHandler*) h {
if ([super init]) {
handler = h;
}
return self;
}
- (void) getUrl: (NSAppleEventDescriptor*) event withReplyEvent: (NSAppleEventDescriptor*) replyEvent {
(void) replyEvent;
NSString* url = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
handler->onURI(std::string([url UTF8String]));
}
@end
class MacOSXURIHandler::Private {
public:
MacOSXURIEventHandler* eventHandler;
};
MacOSXURIHandler::MacOSXURIHandler() {
p = new Private();
p->eventHandler = [[MacOSXURIEventHandler alloc] initWithHandler: this];
}
MacOSXURIHandler::~MacOSXURIHandler() {
[p->eventHandler release];
delete p;
}
void MacOSXURIHandler::start() {
[[NSAppleEventManager sharedAppleEventManager] setEventHandler:p->eventHandler andSelector:@selector(getUrl:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];
- NSString* bundleID = [[NSBundle mainBundle] bundleIdentifier];
- LSSetDefaultHandlerForURLScheme((CFStringRef)@"xmpp", (CFStringRef)bundleID);
+
+ // Register ourselves as default URI handler
+ //NSString* bundleID = [[NSBundle mainBundle] bundleIdentifier];
+ //LSSetDefaultHandlerForURLScheme((CFStringRef)@"xmpp", (CFStringRef)bundleID);
}
void MacOSXURIHandler::stop() {
[[NSAppleEventManager sharedAppleEventManager] removeEventHandlerForEventClass:kInternetEventClass andEventID:kAEGetURL];
}
diff --git a/SwifTools/URIHandler/MacOSXURIHandlerHelpers.h b/SwifTools/URIHandler/MacOSXURIHandlerHelpers.h
deleted file mode 100644
index 5a2db7a..0000000
--- a/SwifTools/URIHandler/MacOSXURIHandlerHelpers.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Copyright (c) 2011 Remko Tronçon
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#pragma once
-
-namespace Swift {
- void registerAppAsDefaultXMPPURIHandler();
-}
diff --git a/SwifTools/URIHandler/MacOSXURIHandlerHelpers.mm b/SwifTools/URIHandler/MacOSXURIHandlerHelpers.mm
deleted file mode 100644
index dca91b8..0000000
--- a/SwifTools/URIHandler/MacOSXURIHandlerHelpers.mm
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Copyright (c) 2011 Remko Tronçon
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#include <SwifTools/URIHandler/MacOSXURIHandlerHelpers.h>
-
-#include <Cocoa/Cocoa.h>
-
-namespace Swift {
- void registerAppAsDefaultXMPPURIHandler() {
- NSString* bundleID = [[NSBundle mainBundle] bundleIdentifier];
- LSSetDefaultHandlerForURLScheme((CFStringRef)@"xmpp", (CFStringRef)bundleID);
- }
-}
diff --git a/SwifTools/URIHandler/SConscript b/SwifTools/URIHandler/SConscript
index 42c6ca8..90ec00a 100644
--- a/SwifTools/URIHandler/SConscript
+++ b/SwifTools/URIHandler/SConscript
@@ -1,23 +1,22 @@
Import("swiftools_env", "env")
sources = [
"XMPPURI.cpp",
"URIHandler.cpp",
]
if swiftools_env["PLATFORM"] == "darwin" and swiftools_env["target"] == "native" :
sources += [
- "MacOSXURIHandler.mm",
- "MacOSXURIHandlerHelpers.mm",
+ "MacOSXURIHandler.mm"
]
elif swiftools_env["PLATFORM"] == "win32" :
sources += []
else :
sources += []
objects = swiftools_env.StaticObject(sources)
swiftools_env.Append(SWIFTOOLS_OBJECTS = [objects])
env.Append(UNITTEST_SOURCES = [
File("UnitTest/XMPPURITest.cpp"),
])
diff --git a/Swift/QtUI/QtURIHandler.cpp b/Swift/QtUI/QtURIHandler.cpp
index 43f3ed1..197f001 100644
--- a/Swift/QtUI/QtURIHandler.cpp
+++ b/Swift/QtUI/QtURIHandler.cpp
@@ -1,36 +1,30 @@
/*
* Copyright (c) 2011 Remko Tronçon
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
*/
#include "QtURIHandler.h"
#include <QCoreApplication>
#include <QFileOpenEvent>
#include <QUrl>
#include "QtSwiftUtil.h"
-#ifdef Q_WS_MAC
-#include <SwifTools/URIHandler/MacOSXURIHandlerHelpers.h>
-#endif
using namespace Swift;
QtURIHandler::QtURIHandler() {
qApp->installEventFilter(this);
-#ifdef Q_WS_MAC
- registerAppAsDefaultXMPPURIHandler();
-#endif
}
bool QtURIHandler::eventFilter(QObject*, QEvent* event) {
if (event->type() == QEvent::FileOpen) {
QFileOpenEvent* fileOpenEvent = static_cast<QFileOpenEvent*>(event);
if (fileOpenEvent->url().scheme() == "xmpp") {
onURI(Q2PSTRING(fileOpenEvent->url().toString()));
return true;
}
}
return false;
}