diff options
author | Samuli Piippo <samuli.piippo@digia.com> | 2014-11-05 13:46:40 +0200 |
---|---|---|
committer | Samuli Piippo <samuli.piippo@theqtcompany.com> | 2014-12-04 08:32:40 +0200 |
commit | f617b82712b21c38a80feb8020bdeaf8bf409a3c (patch) | |
tree | 7ffcb1ef9f949628ff7787ac4335b85f35f2748a /src | |
parent | 706971597b5d13bfcc5f999aaca4f8f54d7d20f7 (diff) |
Register QML files using runtime path
QT_INSTALL_QML prefix points to sysroot when cross compiling, so those
paths cannot be used for the QML registration. Instead use the path
available from QLibraryInfo at runtime.
Change-Id: I6556478558a3dda61e432aeef5f13667b9da626d
Task-number: QTRD-3400
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/virtualkeyboard/plugin.cpp | 4 | ||||
-rw-r--r-- | src/virtualkeyboard/styles/styles.pro | 3 | ||||
-rw-r--r-- | src/virtualkeyboard/styles/styles_plugin.cpp | 5 | ||||
-rw-r--r-- | src/virtualkeyboard/virtualkeyboard.pro | 3 | ||||
-rw-r--r-- | src/virtualkeyboard/xcbinputpanel.cpp | 7 |
5 files changed, 13 insertions, 9 deletions
diff --git a/src/virtualkeyboard/plugin.cpp b/src/virtualkeyboard/plugin.cpp index eca1f5a2..f4e00a0e 100644 --- a/src/virtualkeyboard/plugin.cpp +++ b/src/virtualkeyboard/plugin.cpp @@ -52,10 +52,12 @@ QPlatformInputContext *PlatformInputContextPlugin::create(const QString &system, Q_UNUSED(paramList); #ifdef COMPILING_QML Q_INIT_RESOURCE(content); + const QString path("qrc:///content/"); +#else + const QString path = "file://" + QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath) + "/QtQuick/Enterprise/VirtualKeyboard/"; #endif Q_INIT_RESOURCE(default_style); Q_INIT_RESOURCE(retro_style); - const QString path(QT_VIRTUALKEYBOARD_IMPORT_PATH); qmlRegisterSingletonType<DeclarativeInputContext>("QtQuick.Enterprise.VirtualKeyboard", 1, 0, "InputContext", createInputContextModule); qmlRegisterUncreatableType<DeclarativeInputEngine>("QtQuick.Enterprise.VirtualKeyboard", 1, 0, "InputEngine", "Cannot create input method engine"); qmlRegisterUncreatableType<DeclarativeShiftHandler>("QtQuick.Enterprise.VirtualKeyboard", 1, 0, "ShiftHandler", "Cannot create shift handler"); diff --git a/src/virtualkeyboard/styles/styles.pro b/src/virtualkeyboard/styles/styles.pro index 76972e87..48e45d07 100644 --- a/src/virtualkeyboard/styles/styles.pro +++ b/src/virtualkeyboard/styles/styles.pro @@ -10,9 +10,6 @@ INSTALLS += target qtquickcompiler { TARGETPATH = QtQuick/Enterprise/VirtualKeyboard/Styles DEFINES += COMPILING_QML - DEFINES += STYLES_IMPORT_PATH=\\\"qrc:/\\\" -} else { - DEFINES += STYLES_IMPORT_PATH=\\\"file://$$INSTALL_PATH/\\\" } SOURCES += \ diff --git a/src/virtualkeyboard/styles/styles_plugin.cpp b/src/virtualkeyboard/styles/styles_plugin.cpp index 0dc2d629..d0888121 100644 --- a/src/virtualkeyboard/styles/styles_plugin.cpp +++ b/src/virtualkeyboard/styles/styles_plugin.cpp @@ -19,6 +19,7 @@ #include "styles_plugin.h" #include <qqml.h> +#include <QtCore/QLibraryInfo> /*! \qmlmodule QtQuick.Enterprise.VirtualKeyboard.Styles 1.2 @@ -30,8 +31,10 @@ void StylesPlugin::registerTypes(const char *uri) { #ifdef COMPILING_QML Q_INIT_RESOURCE(styles); + const QString path("qrc:///"); +#else + const QString path = "file://" + QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath) + "/QtQuick/Enterprise/VirtualKeyboard/Styles/"; #endif - const QString path(STYLES_IMPORT_PATH); qmlRegisterType(QUrl(path + "KeyboardStyle.qml"), uri, 1, 0, "KeyboardStyle"); qmlRegisterType(QUrl(path + "KeyboardStyle.qml"), uri, 1, 1, "KeyboardStyle"); qmlRegisterType(QUrl(path + "KeyboardStyle.qml"), uri, 1, 2, "KeyboardStyle"); diff --git a/src/virtualkeyboard/virtualkeyboard.pro b/src/virtualkeyboard/virtualkeyboard.pro index f990052a..eeb271da 100644 --- a/src/virtualkeyboard/virtualkeyboard.pro +++ b/src/virtualkeyboard/virtualkeyboard.pro @@ -77,9 +77,6 @@ OTHER += qtvirtualkeyboard.json qtquickcompiler { TARGETPATH = QtQuick/Enterprise/VirtualKeyboard DEFINES += COMPILING_QML - DEFINES += QT_VIRTUALKEYBOARD_IMPORT_PATH=\\\"qrc:/content/\\\" -} else { - DEFINES += QT_VIRTUALKEYBOARD_IMPORT_PATH=\\\"file://$$QMLPATH/\\\" } qml.files = \ diff --git a/src/virtualkeyboard/xcbinputpanel.cpp b/src/virtualkeyboard/xcbinputpanel.cpp index 6658c6b0..6db6f761 100644 --- a/src/virtualkeyboard/xcbinputpanel.cpp +++ b/src/virtualkeyboard/xcbinputpanel.cpp @@ -28,6 +28,7 @@ #include <xcb/xfixes.h> #include <qpa/qplatformnativeinterface.h> #include <QtCore/private/qobject_p.h> +#include <QtCore/QLibraryInfo> class XcbInputPanelPrivate : public QObjectPrivate { @@ -107,7 +108,11 @@ void XcbInputPanel::createView() d->view.reset(new InputView()); d->view->setFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::WindowDoesNotAcceptFocus | Qt::BypassWindowManagerHint); d->view->setColor(QColor(Qt::transparent)); - const QString virtualKeyboardImportPath(QT_VIRTUALKEYBOARD_IMPORT_PATH); +#ifdef COMPILING_QML + const QString virtualKeyboardImportPath("qrc:///content/"); +#else + const QString virtualKeyboardImportPath = "file://" + QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath) + "/QtQuick/Enterprise/VirtualKeyboard/"; +#endif d->view->setSource(QUrl(virtualKeyboardImportPath + "InputPanel.qml")); /* Destroy the view along with the last window in application. */ connect(qGuiApp, SIGNAL(lastWindowClosed()), SLOT(destroyView())); |