diff --git a/config/common.gypi b/config/common.gypi index 9a56aa3ec..d29d907ce 100644 --- a/config/common.gypi +++ b/config/common.gypi @@ -2,7 +2,7 @@ 'includes': [], 'type': 'shared_library', 'variables': { - 'qt_home_dir': 'C:\\Users\\atula\\Tools\\qt\\5.13.0\\msvc2017_64', + 'qt_home_dir': '/usr/local/Cellar/qt/5.12.1', }, 'target_defaults': { 'cflags!': ['-fno-exceptions'], @@ -79,7 +79,7 @@ '<(qt_home_dir)\\include\\QtWidgets', ], 'libraries': [ - '<(qt_home_dir)\\lib\\Qt5Core.lib', + '<(qt_home_dir)\\lib\\Qt5Core.lib', '<(qt_home_dir)\\lib\\Qt5Gui.lib', '<(qt_home_dir)\\lib\\Qt5Widgets.lib', ], diff --git a/demo.ts b/demo.ts index 337e5daab..62169cdd0 100644 --- a/demo.ts +++ b/demo.ts @@ -70,6 +70,9 @@ const testFlexLayout = () => { // -> view2 -> button const win = new QMainWindow(); + win.addEventListener("MouseMove", (...args) => { + console.log(...args); + }); win.setObjectName("win"); win.resize(300, 300); const rootView = new QWidget(); diff --git a/src/cpp/core/Events/eventsmap.cpp b/src/cpp/core/Events/eventsmap.cpp index 564838f8d..87313a9a6 100644 --- a/src/cpp/core/Events/eventsmap.cpp +++ b/src/cpp/core/Events/eventsmap.cpp @@ -1,6 +1,6 @@ #include "eventsmap.h" -std::unordered_map EventsMap::events { +std::unordered_map EventsMap::eventTypes { { "None", QEvent::None }, { "ActionAdded", QEvent::ActionAdded }, { "ActionChanged", QEvent::ActionChanged }, diff --git a/src/cpp/core/Events/eventwidget.cpp b/src/cpp/core/Events/eventwidget.cpp index 29e22e56f..9aed3f722 100644 --- a/src/cpp/core/Events/eventwidget.cpp +++ b/src/cpp/core/Events/eventwidget.cpp @@ -1,10 +1,12 @@ #include "eventwidget.h" #include "deps/spdlog/spdlog.h" +#include void EventWidget::subscribeToQtEvent(std::string evtString){ try { - int evtType = EventsMap::events.at(evtString); + int evtType = EventsMap::eventTypes.at(evtString); this->subscribedEvents.insert({static_cast(evtType), evtString}); + spdlog::info("EventWidget: subscribed to {}", evtString.c_str()); } catch (...) { spdlog::info("EventWidget: Couldn't subscribe to qt event {}. If this is a signal you can safely ignore this warning", evtString.c_str()); } @@ -16,7 +18,8 @@ void EventWidget::event(QEvent* event){ QEvent::Type evtType = event->type(); std::string eventTypeString = subscribedEvents.at(evtType); this->emitOnNode->call([=](Napi::Env env, std::vector& args) { - args = { Napi::String::New(env, eventTypeString) }; + Napi::Value nativeEvent = Napi::External::New(env, event); + args = { Napi::String::New(env, eventTypeString), nativeEvent }; }); } catch (...) { // Do nothing