From 02036d4b46ba7e2be1aa580aa656339007e430d6 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 2 Dec 2019 13:29:03 +0100 Subject: [PATCH] Make code completion work on macOS --- libnymea-app-core/scripting/codecompletion.cpp | 2 +- nymea-app/ui/magic/ScriptEditor.qml | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/libnymea-app-core/scripting/codecompletion.cpp b/libnymea-app-core/scripting/codecompletion.cpp index 135171fd..11a2e1b6 100644 --- a/libnymea-app-core/scripting/codecompletion.cpp +++ b/libnymea-app-core/scripting/codecompletion.cpp @@ -126,7 +126,7 @@ void CodeCompletion::update() QList entries; - QRegExp deviceIdExp(".*deviceId: \"[a-zA-Z0-9-]*"); + QRegExp deviceIdExp(".*deviceId: \"[a-zA-Z0-9- ]*"); if (deviceIdExp.exactMatch(blockText)) { for (int i = 0; i < m_engine->deviceManager()->devices()->rowCount(); i++) { Device *dev = m_engine->deviceManager()->devices()->get(i); diff --git a/nymea-app/ui/magic/ScriptEditor.qml b/nymea-app/ui/magic/ScriptEditor.qml index 917db6de..e86ca750 100644 --- a/nymea-app/ui/magic/ScriptEditor.qml +++ b/nymea-app/ui/magic/ScriptEditor.qml @@ -188,6 +188,10 @@ Page { } } + function controlPressed(event) { + return event.modifiers & Qt.ControlModifier || event.modifiers & Qt.MetaModifier + } + Keys.onPressed: { print("key", event.key, "Completion box visible:", completionBox.visible) // Things to happen only when we're not autocompleting @@ -199,7 +203,7 @@ Page { event.accepted = true; return; case Qt.Key_Space: - if (!completionBox.visible && (event.modifiers & Qt.ControlModifier)) { + if (!completionBox.visible && controlPressed(event)) { completion.update(); completionBox.show(); return; @@ -246,14 +250,14 @@ Page { event.accepted = true; return; case Qt.Key_Plus: - if (event.modifiers & Qt.ControlModifier) { + if (controlPressed(event)) { scriptEdit.font.pixelSize++; event.accepted = true; return; } break; case Qt.Key_Minus: - if (event.modifiers & Qt.ControlModifier) { + if (controlPressed(event)) { scriptEdit.font.pixelSize--; event.accepted = true; return;