diff --git a/nymea-app/main.cpp b/nymea-app/main.cpp index 4bc3ece3..b3d51767 100644 --- a/nymea-app/main.cpp +++ b/nymea-app/main.cpp @@ -35,6 +35,7 @@ int main(int argc, char *argv[]) { + QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication application(argc, argv); application.setApplicationName("nymea-app"); @@ -82,6 +83,8 @@ int main(int argc, char *argv[]) engine->rootContext()->setContextProperty("systemProductType", QSysInfo::productType()); + engine->rootContext()->setContextProperty("useVirtualKeyboard", qgetenv("QT_IM_MODULE") == "qtvirtualkeyboard"); + application.setWindowIcon(QIcon(QString(":/styles/%1/logo.svg").arg(styleController.currentStyle()))); engine->load(QUrl(QLatin1String("qrc:/ui/Nymea.qml"))); diff --git a/nymea-app/resources.qrc b/nymea-app/resources.qrc index 394050fa..f424d75d 100644 --- a/nymea-app/resources.qrc +++ b/nymea-app/resources.qrc @@ -238,5 +238,6 @@ ui/components/MainPageTile.qml ui/images/configure.svg ui/images/network-wifi-symbolic.svg + ui/KeyboardLoader.qml diff --git a/nymea-app/ui/KeyboardLoader.qml b/nymea-app/ui/KeyboardLoader.qml new file mode 100644 index 00000000..8c33f1c6 --- /dev/null +++ b/nymea-app/ui/KeyboardLoader.qml @@ -0,0 +1,24 @@ +import QtQuick 2.0 + +Item { + id: root + implicitHeight: childrenRect.height + + property string virtualKeyboardString: + ' + import QtQuick 2.8; + import QtQuick.VirtualKeyboard 2.1 + InputPanel { + id: inputPanel + y: Qt.inputMethod.visible ? parent.height - inputPanel.height : parent.height + anchors.left: parent.left + anchors.right: parent.right + } + ' + + Component.onCompleted: { + if (useVirtualKeyboard) { + var kbd = Qt.createQmlObject(virtualKeyboardString, root); + } + } +} diff --git a/nymea-app/ui/Nymea.qml b/nymea-app/ui/Nymea.qml index ec34b930..aaf5ed7c 100644 --- a/nymea-app/ui/Nymea.qml +++ b/nymea-app/ui/Nymea.qml @@ -366,4 +366,9 @@ ApplicationWindow { } } } + + KeyboardLoader { + anchors { left: parent.left; bottom: parent.bottom; right: parent.right } + + } }