diff --git a/cockatrice/src/client/url_scheme_event_filter.h b/cockatrice/src/client/url_scheme_event_filter.h index bb15f9531..22e7f25ca 100644 --- a/cockatrice/src/client/url_scheme_event_filter.h +++ b/cockatrice/src/client/url_scheme_event_filter.h @@ -40,22 +40,19 @@ public: if (event->type() == QEvent::FileOpen) { auto *fileEvent = static_cast(event); - qWarning() << "[MAC][FileOpenEvent] raw url:" << fileEvent->url() - << "toString:" << fileEvent->url().toString() << "schemePrefix:" << m_prefixes; + const QUrl url = fileEvent->url(); - const QString url = fileEvent->url().toString(); - - qWarning() << "[MAC][FileOpenEvent] extracted url:" << url; - - for (auto m_prefix : m_prefixes) { - if (url.startsWith(m_prefix)) { - qWarning() << "[MAC][FileOpenEvent] MATCH prefix → emitting urlReceived"; - emit urlReceived(url); + for (auto prefix : m_prefixes) { + if (url.scheme() == prefix) { + emit urlReceived(url.toString()); return true; } } - qWarning() << "[MAC][FileOpenEvent] ignored (wrong scheme)"; + if (url.isLocalFile()) { + emit urlReceived(url.toLocalFile()); + return true; + } } return QObject::eventFilter(watched, event); diff --git a/cockatrice/src/main.cpp b/cockatrice/src/main.cpp index 5e4008081..a6533055a 100644 --- a/cockatrice/src/main.cpp +++ b/cockatrice/src/main.cpp @@ -205,7 +205,7 @@ int main(int argc, char *argv[]) QApplication app(argc, argv); #ifdef Q_OS_MAC - UrlSchemeEventFilter cockatriceFilter(QStringList{QStringLiteral("cockatrice://"), QStringLiteral("file://")}); + UrlSchemeEventFilter cockatriceFilter(QStringList{QStringLiteral("cockatrice")}); QStringList pendingMacUrls;