diff --git a/components/hapticsplugin/CMakeLists.txt b/components/hapticsplugin/CMakeLists.txt index d6fae7eb..13b5f028 100644 --- a/components/hapticsplugin/CMakeLists.txt +++ b/components/hapticsplugin/CMakeLists.txt @@ -18,6 +18,7 @@ target_link_libraries(hapticsplugin PRIVATE KF6::CoreAddons KF6::I18n QCoro::DBus + QCoro::Qml ) ecm_finalize_qml_module(hapticsplugin) diff --git a/components/hapticsplugin/vibrationmanager.cpp b/components/hapticsplugin/vibrationmanager.cpp index 54374d2c..77f76180 100644 --- a/components/hapticsplugin/vibrationmanager.cpp +++ b/components/hapticsplugin/vibrationmanager.cpp @@ -10,7 +10,7 @@ VibrationManager::VibrationManager(QObject *parent) qDBusRegisterMetaType(); } -QCoro::Task VibrationManager::vibrate(int durationMs) +QCoro::Task VibrationManager::vibrateTask(int durationMs) { // Only create interface when needed. if (!m_interface) { @@ -27,3 +27,8 @@ QCoro::Task VibrationManager::vibrate(int durationMs) qWarning() << "feedbackd vibration failed"; } } + +QCoro::QmlTask VibrationManager::vibrate(int durationMs) +{ + return vibrateTask(durationMs); +} diff --git a/components/hapticsplugin/vibrationmanager.h b/components/hapticsplugin/vibrationmanager.h index a4ecca9f..fbf74d34 100644 --- a/components/hapticsplugin/vibrationmanager.h +++ b/components/hapticsplugin/vibrationmanager.h @@ -10,7 +10,10 @@ #include "hapticinterface.h" #include "vibrationevent.h" +#include #include +#include +#include class VibrationManager : public QObject { @@ -21,7 +24,8 @@ class VibrationManager : public QObject public: VibrationManager(QObject *parent = nullptr); - Q_INVOKABLE QCoro::Task vibrate(int durationMs); + QCoro::Task vibrateTask(int durationMs); + Q_INVOKABLE QCoro::QmlTask vibrate(int durationMs); private: OrgSigxcpuFeedbackHapticInterface *m_interface{nullptr};