mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-26 00:23:55 -07:00
Watch file:// prefix.
Took 15 minutes Took 7 seconds
This commit is contained in:
parent
24f0977006
commit
20e5b52bae
2 changed files with 13 additions and 11 deletions
|
|
@ -26,8 +26,8 @@ class UrlSchemeEventFilter : public QObject
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit UrlSchemeEventFilter(const QString &schemePrefix, QObject *parent = nullptr)
|
explicit UrlSchemeEventFilter(const QStringList &schemePrefix, QObject *parent = nullptr)
|
||||||
: QObject(parent), m_prefix(schemePrefix)
|
: QObject(parent), m_prefixes(schemePrefix)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -41,26 +41,28 @@ public:
|
||||||
auto *fileEvent = static_cast<QFileOpenEvent *>(event);
|
auto *fileEvent = static_cast<QFileOpenEvent *>(event);
|
||||||
|
|
||||||
qWarning() << "[MAC][FileOpenEvent] raw url:" << fileEvent->url()
|
qWarning() << "[MAC][FileOpenEvent] raw url:" << fileEvent->url()
|
||||||
<< "toString:" << fileEvent->url().toString() << "schemePrefix:" << m_prefix;
|
<< "toString:" << fileEvent->url().toString() << "schemePrefix:" << m_prefixes;
|
||||||
|
|
||||||
const QString url = fileEvent->url().toString();
|
const QString url = fileEvent->url().toString();
|
||||||
|
|
||||||
qWarning() << "[MAC][FileOpenEvent] extracted url:" << url;
|
qWarning() << "[MAC][FileOpenEvent] extracted url:" << url;
|
||||||
|
|
||||||
if (url.startsWith(m_prefix)) {
|
for (auto m_prefix : m_prefixes) {
|
||||||
qWarning() << "[MAC][FileOpenEvent] MATCH prefix → emitting urlReceived";
|
if (url.startsWith(m_prefix)) {
|
||||||
emit urlReceived(url);
|
qWarning() << "[MAC][FileOpenEvent] MATCH prefix → emitting urlReceived";
|
||||||
return true;
|
emit urlReceived(url);
|
||||||
} else {
|
return true;
|
||||||
qWarning() << "[MAC][FileOpenEvent] ignored (wrong scheme)";
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qWarning() << "[MAC][FileOpenEvent] ignored (wrong scheme)";
|
||||||
}
|
}
|
||||||
|
|
||||||
return QObject::eventFilter(watched, event);
|
return QObject::eventFilter(watched, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_prefix;
|
QStringList m_prefixes;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // COCKATRICE_URL_SCHEME_EVENT_FILTER_H
|
#endif // COCKATRICE_URL_SCHEME_EVENT_FILTER_H
|
||||||
|
|
|
||||||
|
|
@ -205,7 +205,7 @@ int main(int argc, char *argv[])
|
||||||
QApplication app(argc, argv);
|
QApplication app(argc, argv);
|
||||||
|
|
||||||
#ifdef Q_OS_MAC
|
#ifdef Q_OS_MAC
|
||||||
UrlSchemeEventFilter cockatriceFilter(QStringLiteral("cockatrice://"));
|
UrlSchemeEventFilter cockatriceFilter(QStringList{QStringLiteral("cockatrice://"), QStringLiteral("file://")});
|
||||||
|
|
||||||
QStringList pendingMacUrls;
|
QStringList pendingMacUrls;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue