aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/imports.pro2
-rw-r--r--src/imports/particles/particles.pro19
-rw-r--r--src/imports/particles/plugin.cpp65
-rw-r--r--src/imports/particles/qmldir1
-rw-r--r--src/imports/window/plugin.cpp65
-rw-r--r--src/imports/window/qmldir1
-rw-r--r--src/imports/window/window.pro19
-rw-r--r--src/qml/qml/qqmlscript.cpp5
-rw-r--r--src/qml/qml/qqmlscript_p.h5
-rw-r--r--src/quick/items/qquickwindowmodule_p.h4
-rw-r--r--src/quick/particles/qquickparticlesmodule_p.h10
-rw-r--r--src/quick/qtquick2.cpp4
-rw-r--r--tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/InstalledTest3.qml2
-rw-r--r--tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/qmldir1
-rw-r--r--tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp8
-rw-r--r--tests/auto/qml/qqmlmoduleplugin/data/importsNested.1.errors.txt1
-rw-r--r--tests/auto/qml/qqmlmoduleplugin/tst_qqmlmoduleplugin.cpp8
17 files changed, 186 insertions, 34 deletions
diff --git a/src/imports/imports.pro b/src/imports/imports.pro
index b62275b009..f7861ac009 100644
--- a/src/imports/imports.pro
+++ b/src/imports/imports.pro
@@ -1,5 +1,5 @@
TEMPLATE = subdirs
-SUBDIRS += qtquick2 folderlistmodel localstorage
+SUBDIRS += qtquick2 particles window folderlistmodel localstorage
contains(QT_CONFIG, qmltest): SUBDIRS += testlib
contains(QT_CONFIG, xmlpatterns) : SUBDIRS += xmllistmodel
diff --git a/src/imports/particles/particles.pro b/src/imports/particles/particles.pro
new file mode 100644
index 0000000000..dc3198d124
--- /dev/null
+++ b/src/imports/particles/particles.pro
@@ -0,0 +1,19 @@
+TARGET = particlesplugin
+TARGETPATH = QtQuick/Particles.2
+include(../qimportbase.pri)
+
+SOURCES += \
+ plugin.cpp
+
+QT += quick-private qml-private
+
+OTHER_FILES += \
+ qmldir
+
+DESTDIR = $$QT.qml.imports/$$TARGETPATH
+target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+
+qmldir.files += $$PWD/qmldir
+qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+
+INSTALLS += target qmldir
diff --git a/src/imports/particles/plugin.cpp b/src/imports/particles/plugin.cpp
new file mode 100644
index 0000000000..b5680b5ed1
--- /dev/null
+++ b/src/imports/particles/plugin.cpp
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtQml/qqmlextensionplugin.h>
+
+#include <private/qquickparticlesmodule_p.h>
+
+QT_BEGIN_NAMESPACE
+
+//![class decl]
+class QtQuick2ParticlesPlugin : public QQmlExtensionPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0")
+public:
+ virtual void registerTypes(const char *uri)
+ {
+ Q_ASSERT(QLatin1String(uri) == QLatin1String("QtQuick.Particles"));
+ Q_UNUSED(uri);
+ QQuickParticlesModule::defineModule();
+ }
+};
+//![class decl]
+
+QT_END_NAMESPACE
+
+#include "plugin.moc"
diff --git a/src/imports/particles/qmldir b/src/imports/particles/qmldir
new file mode 100644
index 0000000000..593915f83f
--- /dev/null
+++ b/src/imports/particles/qmldir
@@ -0,0 +1 @@
+plugin particlesplugin
diff --git a/src/imports/window/plugin.cpp b/src/imports/window/plugin.cpp
new file mode 100644
index 0000000000..b0c8c90890
--- /dev/null
+++ b/src/imports/window/plugin.cpp
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtQml/qqmlextensionplugin.h>
+
+#include <private/qquickwindowmodule_p.h>
+
+QT_BEGIN_NAMESPACE
+
+//![class decl]
+class QtQuick2WindowPlugin : public QQmlExtensionPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface/1.0")
+public:
+ virtual void registerTypes(const char *uri)
+ {
+ Q_ASSERT(QLatin1String(uri) == QLatin1String("QtQuick.Window"));
+ Q_UNUSED(uri);
+ QQuickWindowModule::defineModule();
+ }
+};
+//![class decl]
+
+QT_END_NAMESPACE
+
+#include "plugin.moc"
diff --git a/src/imports/window/qmldir b/src/imports/window/qmldir
new file mode 100644
index 0000000000..32844a6ed6
--- /dev/null
+++ b/src/imports/window/qmldir
@@ -0,0 +1 @@
+plugin windowplugin
diff --git a/src/imports/window/window.pro b/src/imports/window/window.pro
new file mode 100644
index 0000000000..42b6f5911d
--- /dev/null
+++ b/src/imports/window/window.pro
@@ -0,0 +1,19 @@
+TARGET = windowplugin
+TARGETPATH = QtQuick/Window.2
+include(../qimportbase.pri)
+
+SOURCES += \
+ plugin.cpp
+
+QT += quick-private qml-private
+
+OTHER_FILES += \
+ qmldir
+
+DESTDIR = $$QT.qml.imports/$$TARGETPATH
+target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+
+qmldir.files += $$PWD/qmldir
+qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+
+INSTALLS += target qmldir
diff --git a/src/qml/qml/qqmlscript.cpp b/src/qml/qml/qqmlscript.cpp
index 5104ba8979..900dd04863 100644
--- a/src/qml/qml/qqmlscript.cpp
+++ b/src/qml/qml/qqmlscript.cpp
@@ -1345,11 +1345,6 @@ bool QQmlScript::Parser::parse(const QByteArray &qmldata, const QUrl &url,
_errors[ii].setUrl(url);
}
- if (_errors.isEmpty()) {
- // Sort the imports into desired order
- qStableSort(_imports.begin(), _imports.end());
- }
-
return _errors.isEmpty();
}
diff --git a/src/qml/qml/qqmlscript_p.h b/src/qml/qml/qqmlscript_p.h
index debe894376..ddf4c9a392 100644
--- a/src/qml/qml/qqmlscript_p.h
+++ b/src/qml/qml/qqmlscript_p.h
@@ -121,11 +121,6 @@ public:
void extractVersion(int *maj, int *min) const;
QQmlScript::LocationSpan location;
-
- bool operator<(const Import& other) const {
- // Shorter URIs first, so 'import X' is before 'import X.Y'
- return (uri.length() < other.uri.length());
- }
};
class Object;
diff --git a/src/quick/items/qquickwindowmodule_p.h b/src/quick/items/qquickwindowmodule_p.h
index 72fd2b32bd..156ccec127 100644
--- a/src/quick/items/qquickwindowmodule_p.h
+++ b/src/quick/items/qquickwindowmodule_p.h
@@ -42,14 +42,14 @@
#ifndef QQUICKWINDOWMODULE_H
#define QQUICKWINDOWMODULE_H
-#include <qqml.h>
+#include <private/qtquickglobal_p.h>
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-class QQuickWindowModule
+class Q_QUICK_PRIVATE_EXPORT QQuickWindowModule
{
public:
static void defineModule();
diff --git a/src/quick/particles/qquickparticlesmodule_p.h b/src/quick/particles/qquickparticlesmodule_p.h
index b7cf09919e..23a40488cf 100644
--- a/src/quick/particles/qquickparticlesmodule_p.h
+++ b/src/quick/particles/qquickparticlesmodule_p.h
@@ -39,16 +39,16 @@
**
****************************************************************************/
-#ifndef QQuickPARTICLESMODULE_H
-#define QQuickPARTICLESMODULE_H
+#ifndef QQUICKPARTICLESMODULE_H
+#define QQUICKPARTICLESMODULE_H
-#include <qqml.h>
+#include <private/qtquickglobal_p.h>
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-class QQuickParticlesModule
+class Q_QUICK_PRIVATE_EXPORT QQuickParticlesModule
{
public:
static void defineModule();
@@ -58,4 +58,4 @@ QT_END_NAMESPACE
QT_END_HEADER
-#endif // QQuickPARTICLESMODULE_H
+#endif // QQUICKPARTICLESMODULE_H
diff --git a/src/quick/qtquick2.cpp b/src/quick/qtquick2.cpp
index a97dade106..3e04a12d58 100644
--- a/src/quick/qtquick2.cpp
+++ b/src/quick/qtquick2.cpp
@@ -44,8 +44,6 @@
#include <private/qquickutilmodule_p.h>
#include <private/qqmlvaluetype_p.h>
#include <private/qquickitemsmodule_p.h>
-#include <private/qquickparticlesmodule_p.h>
-#include <private/qquickwindowmodule_p.h>
#include <private/qqmlenginedebugservice_p.h>
#include <private/qqmldebugstatesdelegate_p.h>
@@ -175,8 +173,6 @@ void QQmlQtQuick2Module::defineModule()
QQuickUtilModule::defineModule();
QQmlEnginePrivate::defineModule();
QQuickItemsModule::defineModule();
- QQuickParticlesModule::defineModule();
- QQuickWindowModule::defineModule();
QQmlValueTypeFactory::registerValueTypes();
if (QQmlEngineDebugService::isDebuggingEnabled()) {
diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/InstalledTest3.qml b/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/InstalledTest3.qml
deleted file mode 100644
index 26a5d6bba9..0000000000
--- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/InstalledTest3.qml
+++ /dev/null
@@ -1,2 +0,0 @@
-import QtQuick 2.0
-Rectangle {}
diff --git a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/qmldir b/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/qmldir
index ce51ecae1a..b301226099 100644
--- a/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/qmldir
+++ b/tests/auto/qml/qqmllanguage/data/lib/com/nokia/installedtest0/qmldir
@@ -1,3 +1,2 @@
InstalledTest 1.4 InstalledTest2.qml
InstalledTestTP 0.0 InstalledTest.qml
-Rectangle 1.5 InstalledTest3.qml
diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
index f70b212231..4720269313 100644
--- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
+++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
@@ -1881,21 +1881,19 @@ void tst_qqmllanguage::importsOrder_data()
<< (!qmlCheckTypes()?"QQuickRectangle":"")
<< (!qmlCheckTypes()?"":"InstalledTest is ambiguous. Found in lib/com/nokia/installedtest/ in version 1.0 and 1.4")
<< false;
-
- // Note: imports are now reordered by increasing order of URI length
QTest::newRow("installed import versus builtin 1") <<
- "import com.nokia.installedtest0 1.5\n"
"import com.nokia.installedtest 1.5\n"
+ "import QtQuick 2.0\n"
"Rectangle {}"
<< (!qmlCheckTypes()?"QQuickRectangle":"")
- << (!qmlCheckTypes()?"":"Rectangle is ambiguous. Found in lib/com/nokia/installedtest0/ and in ")
+ << (!qmlCheckTypes()?"":"Rectangle is ambiguous. Found in file://")
<< true;
QTest::newRow("installed import versus builtin 2") <<
"import QtQuick 2.0\n"
"import com.nokia.installedtest 1.5\n"
"Rectangle {}"
<< (!qmlCheckTypes()?"QQuickText":"")
- << (!qmlCheckTypes()?"":"Rectangle is ambiguous. Found in lib/com/nokia/installedtest/ and in ")
+ << (!qmlCheckTypes()?"":"Rectangle is ambiguous. Found in lib/com/nokia/installedtest/ and in file://")
<< true;
QTest::newRow("namespaces cannot be overridden by types 1") <<
"import QtQuick 2.0 as Rectangle\n"
diff --git a/tests/auto/qml/qqmlmoduleplugin/data/importsNested.1.errors.txt b/tests/auto/qml/qqmlmoduleplugin/data/importsNested.1.errors.txt
new file mode 100644
index 0000000000..262193788b
--- /dev/null
+++ b/tests/auto/qml/qqmlmoduleplugin/data/importsNested.1.errors.txt
@@ -0,0 +1 @@
+1:1:module "com.nokia.AutoTestQmlNestedPluginType.Nested" is not installed
diff --git a/tests/auto/qml/qqmlmoduleplugin/tst_qqmlmoduleplugin.cpp b/tests/auto/qml/qqmlmoduleplugin/tst_qqmlmoduleplugin.cpp
index c110ce71d3..f6c165840d 100644
--- a/tests/auto/qml/qqmlmoduleplugin/tst_qqmlmoduleplugin.cpp
+++ b/tests/auto/qml/qqmlmoduleplugin/tst_qqmlmoduleplugin.cpp
@@ -354,12 +354,12 @@ void tst_qqmlmoduleplugin::importsNested_data()
QTest::addColumn<QString>("file");
QTest::addColumn<QString>("errorFile");
- // Note: specific order required to induce failure (no other test case should import the
- // plugin used for this test, or the alternate order test will pass spuriously)
- QTest::newRow("alternateOrder") << "importsNested.1.qml" << QString();
- QTest::newRow("expectedOrder") << "importsNested.2.qml" << QString();
+ // Note: no other test case should import the plugin used for this test, or the
+ // wrong order test will pass spuriously
+ QTest::newRow("wrongOrder") << "importsNested.1.qml" << "importsNested.1.errors.txt";
QTest::newRow("missingImport") << "importsNested.3.qml" << "importsNested.3.errors.txt";
QTest::newRow("invalidVersion") << "importsNested.4.qml" << "importsNested.4.errors.txt";
+ QTest::newRow("correctOrder") << "importsNested.2.qml" << QString();
}
void tst_qqmlmoduleplugin::importsNested()
{