aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/MacOSXBundleInfo.plist.in23
-rw-r--r--launcher/Application.cpp7
2 files changed, 30 insertions, 0 deletions
diff --git a/cmake/MacOSXBundleInfo.plist.in b/cmake/MacOSXBundleInfo.plist.in
index 1b22e21f..597beaa6 100644
--- a/cmake/MacOSXBundleInfo.plist.in
+++ b/cmake/MacOSXBundleInfo.plist.in
@@ -44,5 +44,28 @@
<string>${MACOSX_SPARKLE_UPDATE_PUBLIC_KEY}</string>
<key>SUFeedURL</key>
<string>${MACOSX_SPARKLE_UPDATE_FEED_URL}</string>
+ <key>CFBundleDocumentTypes</key>
+ <array>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>zip</string>
+ <string>mrpack</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Prism Launcher instance</string>
+ <key>CFBundleTypeOSTypes</key>
+ <array>
+ <string>TEXT</string>
+ <string>utxt</string>
+ <string>TUTX</string>
+ <string>****</string>
+ </array>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ <key>LSHandlerRank</key>
+ <string>Alternate</string>
+ </dict>
+ </array>
</dict>
</plist>
diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 6ffec1ae..bcb3aa0d 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -943,6 +943,13 @@ bool Application::event(QEvent* event) {
emit clickedOnDock();
}
m_prevAppState = ev->applicationState();
+ return true;
+ }
+
+ if (event->type() == QEvent::FileOpen) {
+ auto ev = static_cast<QFileOpenEvent*>(event);
+ m_mainWindow->droppedURLs({ ev->url() });
+ return true;
}
#endif
return QApplication::event(event);