From a2375bf14686f11cfdc8a8f1a83b895a31f44450 Mon Sep 17 00:00:00 2001 From: zheng_wenlong Date: Mon, 20 May 2019 16:00:54 +0900 Subject: add als2019 source code --- src/qlibhomescreen.cpp | 27 +++++++++++++++++++++++++++ src/qlibhomescreen.h | 4 +++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/qlibhomescreen.cpp b/src/qlibhomescreen.cpp index c67d408..516f3dd 100644 --- a/src/qlibhomescreen.cpp +++ b/src/qlibhomescreen.cpp @@ -314,3 +314,30 @@ void QLibHomeScreen::showNotification(QString icon, QString text) mp_hs->showNotification(j_obj); } + +/** + * register shortcut key + * + * tell HomeScreen to change shortcut key + * + * #### Parameters + * - shortcut_id : shortcut id + * - shortcut_name : shortcut name + * - position : shortcut position + * + * #### Resturn + * - None. + * + */ +void QLibHomeScreen::registerShortcut(QString shortcut_id, QString shortcut_name, QString position) +{ + struct json_object* j_obj = json_object_new_object(); + struct json_object* val_id = json_object_new_string(shortcut_id.toStdString().c_str()); + struct json_object* val_name = json_object_new_string(shortcut_name.toStdString().c_str()); + struct json_object* val_position = json_object_new_string(position.toStdString().c_str()); + json_object_object_add(j_obj, "shortcut_id", val_id); + json_object_object_add(j_obj, "shortcut_name", val_name); + json_object_object_add(j_obj, "position", val_position); + + mp_hs->registerShortcut(j_obj); +} diff --git a/src/qlibhomescreen.h b/src/qlibhomescreen.h index 5dd1ae5..a91fda5 100644 --- a/src/qlibhomescreen.h +++ b/src/qlibhomescreen.h @@ -40,7 +40,8 @@ public: Event_HideWindow = LibHomeScreen::Event_HideWindow, Event_ReplyShowWindow = LibHomeScreen::Event_ReplyShowWindow, Event_ShowNotification = LibHomeScreen::Event_ShowNotification, - Event_ShowInformation = LibHomeScreen::Event_ShowInformation + Event_ShowInformation = LibHomeScreen::Event_ShowInformation, + Event_RegisterShortcut = LibHomeScreen::Event_RegisterShortcut }; using handler_fun = std::function; @@ -58,6 +59,7 @@ public: Q_INVOKABLE void showWindow(QString application_id, QString area); Q_INVOKABLE void hideWindow(QString application_id); Q_INVOKABLE void replyShowWindow(QString application_id, QString reply); + Q_INVOKABLE void registerShortcut(QString shortcut_id, QString shortcut_name, QString position); signals: -- cgit 1.2.3-korg