mirror of
https://github.com/status-im/status-desktop.git
synced 2025-02-21 19:18:53 +00:00
feat: url scheme event added
This commit is contained in:
parent
fd4971b91d
commit
3487862d27
@ -994,6 +994,7 @@ DOS_API void DOS_CALL dos_singleinstance_delete(DosSingleInstance *vptr);
|
||||
|
||||
DOS_API DosEvent* dos_event_create_showAppEvent(DosQQmlApplicationEngine* vptr);
|
||||
DOS_API DosEvent* dos_event_create_osThemeEvent(DosQQmlApplicationEngine* vptr);
|
||||
DOS_API DosEvent* dos_event_create_urlSchemeEvent();
|
||||
DOS_API void dos_event_delete(DosEvent* vptr);
|
||||
|
||||
#pragma endregion
|
||||
|
@ -102,7 +102,7 @@ typedef void DosPixmap;
|
||||
typedef void DosSingleInstance;
|
||||
|
||||
/// A pointer to a event object which is actualy a QObject
|
||||
typedef void DosEvent;
|
||||
typedef DosQObject DosEvent;
|
||||
|
||||
/// A pointer to a os notification object which is actualy a QObject
|
||||
typedef DosQObject DosOSNotification;
|
||||
|
20
vendor/DOtherSide/lib/include/DOtherSide/Status/UrlSchemeEvent.h
vendored
Normal file
20
vendor/DOtherSide/lib/include/DOtherSide/Status/UrlSchemeEvent.h
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
#ifndef STATUS_URL_SCHEME_EVENT_H
|
||||
#define STATUS_URL_SCHEME_EVENT_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
namespace Status
|
||||
{
|
||||
class UrlSchemeEvent : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
protected:
|
||||
bool eventFilter(QObject* obj, QEvent* event) override;
|
||||
|
||||
signals:
|
||||
void urlActivated(const QString& url);
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
6
vendor/DOtherSide/lib/src/DOtherSide.cpp
vendored
6
vendor/DOtherSide/lib/src/DOtherSide.cpp
vendored
@ -67,6 +67,7 @@
|
||||
|
||||
#include "DOtherSide/Status/DockShowAppEvent.h"
|
||||
#include "DOtherSide/Status/OSThemeEvent.h"
|
||||
#include "DOtherSide/Status/UrlSchemeEvent.h"
|
||||
#include "DOtherSide/Status/OSNotification.h"
|
||||
#include "DOtherSide/Status/KeychainManager.h"
|
||||
#include "DOtherSide/Status/SoundManager.h"
|
||||
@ -1407,6 +1408,11 @@ bool dos_singleinstance_isfirst(DosSingleInstance *vptr)
|
||||
return new Status::OSThemeEvent(engine);
|
||||
}
|
||||
|
||||
::DosEvent* dos_event_create_urlSchemeEvent()
|
||||
{
|
||||
return new Status::UrlSchemeEvent();
|
||||
}
|
||||
|
||||
void dos_event_delete(DosEvent* vptr)
|
||||
{
|
||||
auto qobject = static_cast<QObject*>(vptr);
|
||||
|
21
vendor/DOtherSide/lib/src/Status/UrlSchemeEvent.cpp
vendored
Normal file
21
vendor/DOtherSide/lib/src/Status/UrlSchemeEvent.cpp
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
#include "DOtherSide/Status/UrlSchemeEvent.h"
|
||||
|
||||
using namespace Status;
|
||||
|
||||
#include <QFileOpenEvent>
|
||||
|
||||
bool UrlSchemeEvent::eventFilter(QObject* obj, QEvent* event)
|
||||
{
|
||||
#ifdef Q_OS_MACOS
|
||||
if (event->type() == QEvent::FileOpen)
|
||||
{
|
||||
QFileOpenEvent* fileEvent = static_cast<QFileOpenEvent*>(event);
|
||||
if(fileEvent)
|
||||
{
|
||||
emit urlActivated(fileEvent->url().toString());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return QObject::eventFilter(obj, event);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user