aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorAlan Alpert <aalpert@rim.com>2013-01-23 14:08:58 -0800
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-12 23:25:48 +0100
commit700910d938c75c978f765ec8438f81e70676999a (patch)
tree37a8397a13e3217db8140acf85644c8df452aca9 /src/imports
parentfa8a4beb157f82e02cf8471ade7da0faee7a9fa1 (diff)
Add QtQml.Models module
The moved Model classes can now be exposed in a QtQml import. To keep the QtQml import resticted to more core functionality, they are being exposed in a plugin module. Change-Id: I0a84642a72c7c9bbf9b6ffd2a6c33549f8e61c29 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/imports.pro3
-rw-r--r--src/imports/models/models.pro11
-rw-r--r--src/imports/models/plugin.cpp85
-rw-r--r--src/imports/models/qmldir2
4 files changed, 100 insertions, 1 deletions
diff --git a/src/imports/imports.pro b/src/imports/imports.pro
index e411a4f097..733c7c47bd 100644
--- a/src/imports/imports.pro
+++ b/src/imports/imports.pro
@@ -2,7 +2,8 @@ TEMPLATE = subdirs
SUBDIRS += \
folderlistmodel \
- localstorage
+ localstorage \
+ models
qtHaveModule(quick) {
SUBDIRS += \
diff --git a/src/imports/models/models.pro b/src/imports/models/models.pro
new file mode 100644
index 0000000000..e96d4b9a44
--- /dev/null
+++ b/src/imports/models/models.pro
@@ -0,0 +1,11 @@
+CXX_MODULE = qml
+TARGET = modelsplugin
+TARGETPATH = QtQml/Models.2
+IMPORT_VERSION = 2.1
+
+SOURCES += \
+ plugin.cpp
+
+QT += qml-private
+
+load(qml_plugin)
diff --git a/src/imports/models/plugin.cpp b/src/imports/models/plugin.cpp
new file mode 100644
index 0000000000..127c781d6c
--- /dev/null
+++ b/src/imports/models/plugin.cpp
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Research In Motion.
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, 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, Digia gives you certain additional
+** rights. These rights are described in the Digia 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.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtQml/qqmlextensionplugin.h>
+
+#include <private/qqmlmodelsmodule_p.h>
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \qmlmodule QtQml.Models 2
+ \title Qt Qml Model QML Types
+ \ingroup qmlmodules
+ \brief Provides QML types for data models
+ \since 5.1
+
+ This QML module contains types for defining data models in QML.
+
+ To use the types in this module, import the module with the following line:
+
+ \code
+ import QtQml.Models 2.1
+ \endcode
+
+ Note that QtQml.Models module started at version 2.1 to match the version of the parent module.
+*/
+
+
+
+//![class decl]
+class QtQmlModelsPlugin : 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("QtQml.Models"));
+ Q_UNUSED(uri);
+ QQmlModelsModule::defineModule();
+ }
+};
+//![class decl]
+
+QT_END_NAMESPACE
+
+#include "plugin.moc"
diff --git a/src/imports/models/qmldir b/src/imports/models/qmldir
new file mode 100644
index 0000000000..9cad5ef734
--- /dev/null
+++ b/src/imports/models/qmldir
@@ -0,0 +1,2 @@
+module QtQml.Models
+plugin modelsplugin