From f3ebc74f44ac1673b0f0f65046ca1a3127f35818 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Fri, 28 Jul 2017 13:06:59 +0200 Subject: [PATCH] playing with the inputpanel example to get the virtual keyboard running --- .gitignore | 1 + inputcontext/QskInputContext.cpp | 3 -- inputcontext/inputcontext.pro | 40 ++++++++++-------- .../{lineedit => inputpanel}/LineEdit.cpp | 0 .../{lineedit => inputpanel}/LineEdit.h | 0 .../LineEditSkinlet.cpp | 0 .../LineEditSkinlet.h | 0 .../inputpanel.pro} | 6 ++- playground/inputpanel/inputpanel.qml | 42 +++++++++++++++++++ .../qml.qrc => inputpanel/inputpanel.qrc} | 2 +- playground/{lineedit => inputpanel}/main.cpp | 8 +++- playground/lineedit/lineedit.qml | 30 ------------- playground/playground.pri | 2 +- playground/playground.pro | 2 +- .../platforminputcontexts/skinny/skinny.pro | 0 15 files changed, 79 insertions(+), 57 deletions(-) rename playground/{lineedit => inputpanel}/LineEdit.cpp (100%) rename playground/{lineedit => inputpanel}/LineEdit.h (100%) rename playground/{lineedit => inputpanel}/LineEditSkinlet.cpp (100%) rename playground/{lineedit => inputpanel}/LineEditSkinlet.h (100%) rename playground/{lineedit/lineedit.pro => inputpanel/inputpanel.pro} (63%) create mode 100644 playground/inputpanel/inputpanel.qml rename playground/{lineedit/qml.qrc => inputpanel/inputpanel.qrc} (62%) rename playground/{lineedit => inputpanel}/main.cpp (83%) delete mode 100644 playground/lineedit/lineedit.qml delete mode 100644 src/plugins/platforminputcontexts/skinny/skinny.pro diff --git a/.gitignore b/.gitignore index 76c10020..96785c63 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,6 @@ moc rcc lib bin +plugins qvg *.swp diff --git a/inputcontext/QskInputContext.cpp b/inputcontext/QskInputContext.cpp index 48010ab0..dc3eb2cc 100644 --- a/inputcontext/QskInputContext.cpp +++ b/inputcontext/QskInputContext.cpp @@ -8,9 +8,6 @@ #include #include -#include -#include - #include #include #include diff --git a/inputcontext/inputcontext.pro b/inputcontext/inputcontext.pro index e96ffb3a..72dd23c0 100644 --- a/inputcontext/inputcontext.pro +++ b/inputcontext/inputcontext.pro @@ -1,31 +1,35 @@ -SQUIEK_ROOT = $${PWD}/.. -SQUIEK_OUT_ROOT = $${OUT_PWD}/.. +QSK_ROOT = $${PWD}/.. +QSK_OUT_ROOT = $${OUT_PWD}/.. -include( $${SQUIEK_ROOT}/qskconfig.pri ) +include( $${QSK_ROOT}/qskconfig.pri ) TEMPLATE = lib -TARGET = skinnyinputcontext +TARGET = qskinputcontext QT += quick gui-private CONFIG += no_private_qt_headers_warning -SQUIEK_DIRS = \ - $${SQUIEK_ROOT}/src/common \ - $${SQUIEK_ROOT}/src/nodes \ - $${SQUIEK_ROOT}/src/graphic \ - $${SQUIEK_ROOT}/src/controls \ - $${SQUIEK_ROOT}/src/layouts \ - $${SQUIEK_ROOT}/src/dialogs +QSK_SUBDIRS = \ + $${QSK_ROOT}/src/common \ + $${QSK_ROOT}/src/nodes \ + $${QSK_ROOT}/src/graphic \ + $${QSK_ROOT}/src/controls \ + $${QSK_ROOT}/src/layouts \ + $${QSK_ROOT}/src/dialogs -INCLUDEPATH *= $${SQUIEK_DIRS} -DEPENDPATH += $${SQUIEK_DIRS} +INCLUDEPATH *= $${QSK_SUBDIRS} +DEPENDPATH += $${QSK_SUBDIRS} -DESTDIR = $${SQUIEK_OUT_ROOT}/examples/bin/platforminputcontexts +DESTDIR = $${QSK_OUT_ROOT}/plugins/platforminputcontexts -QMAKE_RPATHDIR *= $${SQUIEK_OUT_ROOT}/lib -LIBS *= -L$${SQUIEK_OUT_ROOT}/lib -lqskinny +QMAKE_RPATHDIR *= $${QSK_OUT_ROOT}/lib +LIBS *= -L$${QSK_OUT_ROOT}/lib -lqskinny -win32: contains(SQUIEK_CONFIG, SquiekDll): DEFINES += QT_DLL QSK_DLL SQUIEK_DLL +win32 { + contains(QSK_CONFIG, QskDll) { + DEFINES += QT_DLL QSK_DLL + } +} SOURCES += \ QskInputContext.cpp \ @@ -40,4 +44,4 @@ HEADERS += \ QskPinyinCompositionModel.h \ pinyin/zh.h -OTHER_FILES += metadata.json qml/ANSPInputPanel.qml +OTHER_FILES += metadata.json diff --git a/playground/lineedit/LineEdit.cpp b/playground/inputpanel/LineEdit.cpp similarity index 100% rename from playground/lineedit/LineEdit.cpp rename to playground/inputpanel/LineEdit.cpp diff --git a/playground/lineedit/LineEdit.h b/playground/inputpanel/LineEdit.h similarity index 100% rename from playground/lineedit/LineEdit.h rename to playground/inputpanel/LineEdit.h diff --git a/playground/lineedit/LineEditSkinlet.cpp b/playground/inputpanel/LineEditSkinlet.cpp similarity index 100% rename from playground/lineedit/LineEditSkinlet.cpp rename to playground/inputpanel/LineEditSkinlet.cpp diff --git a/playground/lineedit/LineEditSkinlet.h b/playground/inputpanel/LineEditSkinlet.h similarity index 100% rename from playground/lineedit/LineEditSkinlet.h rename to playground/inputpanel/LineEditSkinlet.h diff --git a/playground/lineedit/lineedit.pro b/playground/inputpanel/inputpanel.pro similarity index 63% rename from playground/lineedit/lineedit.pro rename to playground/inputpanel/inputpanel.pro index 5a59bd47..0158bb75 100644 --- a/playground/lineedit/lineedit.pro +++ b/playground/inputpanel/inputpanel.pro @@ -1,9 +1,11 @@ include( $${PWD}/../playground.pri ) -TARGET = lineedit +TARGET = inputpanel + +DEFINES += PLUGIN_PATH=$$clean_path( $$QSK_OUT_ROOT/plugins ) RESOURCES += \ - qml.qrc + inputpanel.qrc HEADERS += \ LineEditSkinlet.h \ diff --git a/playground/inputpanel/inputpanel.qml b/playground/inputpanel/inputpanel.qml new file mode 100644 index 00000000..94ef8997 --- /dev/null +++ b/playground/inputpanel/inputpanel.qml @@ -0,0 +1,42 @@ +import QtQuick 2.5 +import Skinny 1.0 +import LineEdit 1.0 + +Main +{ + id: main + inputPanel: embeddedInputPanel + + Window + { + id: window + + visible: true + color: "Gainsboro" + + width: 800 + height: 400 + + LinearBox + { + orientation: Qt.Vertical + defaultAlignment: Qt.AlignHCenter | Qt.AlignTop + + margins: 10 + spacing: 10 + + LineEdit + { + sizePolicy: [ SizePolicy.Maximum ] + + text: "I am a line edit. Edit me." + } + + InputPanel + { + id: embeddedInputPanel + //visible: Qt.inputMethod.visible + } + } + } +} diff --git a/playground/lineedit/qml.qrc b/playground/inputpanel/inputpanel.qrc similarity index 62% rename from playground/lineedit/qml.qrc rename to playground/inputpanel/inputpanel.qrc index edaecebe..e336e14a 100644 --- a/playground/lineedit/qml.qrc +++ b/playground/inputpanel/inputpanel.qrc @@ -1,5 +1,5 @@ - lineedit.qml + inputpanel.qml diff --git a/playground/lineedit/main.cpp b/playground/inputpanel/main.cpp similarity index 83% rename from playground/lineedit/main.cpp rename to playground/inputpanel/main.cpp index 30410ae1..a36655ff 100644 --- a/playground/lineedit/main.cpp +++ b/playground/inputpanel/main.cpp @@ -14,12 +14,18 @@ #include #include +#define STRINGIFY(x) #x +#define STRING(x) STRINGIFY(x) + int main( int argc, char* argv[] ) { #ifdef ITEM_STATISTICS QskObjectCounter counter( true ); #endif + qputenv( "QT_IM_MODULE", "skinny" ); + qputenv( "QT_PLUGIN_PATH", STRING( PLUGIN_PATH ) ); + QskModule::registerTypes(); qmlRegisterType< LineEdit >( "LineEdit", 1, 0, "LineEdit" ); @@ -29,7 +35,7 @@ int main( int argc, char* argv[] ) SkinnyShortcut::enable( SkinnyShortcut::Quit | SkinnyShortcut::DebugShortcuts ); - QQmlApplicationEngine engine( QUrl( QStringLiteral( "qrc:/qml/lineedit.qml" ) ) ); + QQmlApplicationEngine engine( QUrl( QStringLiteral( "qrc:/qml/inputpanel.qml" ) ) ); return app.exec(); } diff --git a/playground/lineedit/lineedit.qml b/playground/lineedit/lineedit.qml deleted file mode 100644 index 11a3ba2a..00000000 --- a/playground/lineedit/lineedit.qml +++ /dev/null @@ -1,30 +0,0 @@ -import QtQuick 2.5 -import Skinny 1.0 -import LineEdit 1.0 - -Main -{ - // inputPanel: embeddedInputPanel - - Window - { - id: window - - visible: true - - width: 600 - height: 600 - - LinearBox - { - defaultAlignment: Qt.AlignCenter - - LineEdit - { - sizePolicy: [ SizePolicy.Fixed, SizePolicy.Fixed ] - - text: "I am a line edit. Edit me." - } - } - } -} diff --git a/playground/playground.pri b/playground/playground.pri index 83025986..e9d0889a 100644 --- a/playground/playground.pri +++ b/playground/playground.pri @@ -29,7 +29,7 @@ LIBS *= -L$${QSK_OUT_ROOT}/lib -lqsktestsupport -lqskinny win32 { contains(QSK_CONFIG, QskDll) { - DEFINES += QT_DLL QSK_DLL QSK_DLL + DEFINES += QT_DLL QSK_DLL } } diff --git a/playground/playground.pro b/playground/playground.pro index c2a0c178..0df664e1 100644 --- a/playground/playground.pro +++ b/playground/playground.pro @@ -4,5 +4,5 @@ TEMPLATE = subdirs # qml SUBDIRS += \ - lineedit \ + inputpanel \ images diff --git a/src/plugins/platforminputcontexts/skinny/skinny.pro b/src/plugins/platforminputcontexts/skinny/skinny.pro deleted file mode 100644 index e69de29b..00000000