From b7e319bc30f47c4ea43b8aaa9402727c775c2d0c Mon Sep 17 00:00:00 2001 From: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Date: Tue, 23 Oct 2012 12:44:41 +0200 Subject: [PATCH] Changed the plugin module name The earlier name, com.nokia.TimeExample is irrelevant now. Also updated all instances of documentation where this older module name was referred. Change-Id: Ic252d0e72af23c2d39d5fed55f242e47c1b6bde9 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> --- examples/qml/plugins/README | 9 ---- .../doc/images/qml-plugins-example.png | Bin 0 -> 15773 bytes examples/qml/plugins/doc/src/qmlpluginex.qdoc | 42 ++++++++++++++++++ .../nokia => imports}/TimeExample/Clock.qml | 0 .../nokia => imports}/TimeExample/center.png | Bin .../nokia => imports}/TimeExample/clock.png | Bin .../nokia => imports}/TimeExample/hour.png | Bin .../nokia => imports}/TimeExample/minute.png | Bin .../{com/nokia => imports}/TimeExample/qmldir | 2 +- examples/qml/plugins/plugin.cpp | 2 +- examples/qml/plugins/plugins.pro | 20 ++++----- examples/qml/plugins/plugins.qml | 4 +- .../doc/snippets/qml/imports/timeexample.qml | 2 +- src/qml/doc/src/modules/cppplugins.qdoc | 14 +++--- src/qml/qml/qqmlextensionplugin.cpp | 12 ++--- 15 files changed, 70 insertions(+), 37 deletions(-) delete mode 100644 examples/qml/plugins/README create mode 100644 examples/qml/plugins/doc/images/qml-plugins-example.png create mode 100644 examples/qml/plugins/doc/src/qmlpluginex.qdoc rename examples/qml/plugins/{com/nokia => imports}/TimeExample/Clock.qml (100%) rename examples/qml/plugins/{com/nokia => imports}/TimeExample/center.png (100%) rename examples/qml/plugins/{com/nokia => imports}/TimeExample/clock.png (100%) rename examples/qml/plugins/{com/nokia => imports}/TimeExample/hour.png (100%) rename examples/qml/plugins/{com/nokia => imports}/TimeExample/minute.png (100%) rename examples/qml/plugins/{com/nokia => imports}/TimeExample/qmldir (62%) diff --git a/examples/qml/plugins/README b/examples/qml/plugins/README deleted file mode 100644 index f4f9074059..0000000000 --- a/examples/qml/plugins/README +++ /dev/null @@ -1,9 +0,0 @@ -This example shows a module "com.nokia.TimeExample" that is implemented -by a C++ plugin (providing the "Time" type), and by QML files (providing the -"Clock" type). - -To run: - - make install - QML_IMPORT_PATH=$PWD qmlscene plugins.qml - diff --git a/examples/qml/plugins/doc/images/qml-plugins-example.png b/examples/qml/plugins/doc/images/qml-plugins-example.png new file mode 100644 index 0000000000000000000000000000000000000000..c2d4886ea2bfea22133cc996df6837567a3d5429 GIT binary patch literal 15773 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 F;C~g0tAPLj literal 0 HcmV?d00001 diff --git a/examples/qml/plugins/doc/src/qmlpluginex.qdoc b/examples/qml/plugins/doc/src/qmlpluginex.qdoc new file mode 100644 index 0000000000..464f42a34c --- /dev/null +++ b/examples/qml/plugins/doc/src/qmlpluginex.qdoc @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** 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 Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: http://www.gnu.org/copyleft/fdl.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \title QML Plugin Example + \example plugins + + \brief This example creates a C++ plugin extension by subclassing QQmlExtensionPlugin. + + \image qml-plugins-example.png + + To run this example, use the following commands on the prompt: + \code + > qmake + > make + > qmlscene -I imports plugins.qml + \endcode +*/ diff --git a/examples/qml/plugins/com/nokia/TimeExample/Clock.qml b/examples/qml/plugins/imports/TimeExample/Clock.qml similarity index 100% rename from examples/qml/plugins/com/nokia/TimeExample/Clock.qml rename to examples/qml/plugins/imports/TimeExample/Clock.qml diff --git a/examples/qml/plugins/com/nokia/TimeExample/center.png b/examples/qml/plugins/imports/TimeExample/center.png similarity index 100% rename from examples/qml/plugins/com/nokia/TimeExample/center.png rename to examples/qml/plugins/imports/TimeExample/center.png diff --git a/examples/qml/plugins/com/nokia/TimeExample/clock.png b/examples/qml/plugins/imports/TimeExample/clock.png similarity index 100% rename from examples/qml/plugins/com/nokia/TimeExample/clock.png rename to examples/qml/plugins/imports/TimeExample/clock.png diff --git a/examples/qml/plugins/com/nokia/TimeExample/hour.png b/examples/qml/plugins/imports/TimeExample/hour.png similarity index 100% rename from examples/qml/plugins/com/nokia/TimeExample/hour.png rename to examples/qml/plugins/imports/TimeExample/hour.png diff --git a/examples/qml/plugins/com/nokia/TimeExample/minute.png b/examples/qml/plugins/imports/TimeExample/minute.png similarity index 100% rename from examples/qml/plugins/com/nokia/TimeExample/minute.png rename to examples/qml/plugins/imports/TimeExample/minute.png diff --git a/examples/qml/plugins/com/nokia/TimeExample/qmldir b/examples/qml/plugins/imports/TimeExample/qmldir similarity index 62% rename from examples/qml/plugins/com/nokia/TimeExample/qmldir rename to examples/qml/plugins/imports/TimeExample/qmldir index 9304d95435..252e662e12 100644 --- a/examples/qml/plugins/com/nokia/TimeExample/qmldir +++ b/examples/qml/plugins/imports/TimeExample/qmldir @@ -1,3 +1,3 @@ -module com.nokia.TimeExample +module TimeExample Clock 1.0 Clock.qml plugin qmlqtimeexampleplugin diff --git a/examples/qml/plugins/plugin.cpp b/examples/qml/plugins/plugin.cpp index 6fce23b62c..d9bbded996 100644 --- a/examples/qml/plugins/plugin.cpp +++ b/examples/qml/plugins/plugin.cpp @@ -146,7 +146,7 @@ class QExampleQmlPlugin : public QQmlExtensionPlugin public: void registerTypes(const char *uri) { - Q_ASSERT(uri == QLatin1String("com.nokia.TimeExample")); + Q_ASSERT(uri == QLatin1String("TimeExample")); qmlRegisterType<TimeModel>(uri, 1, 0, "Time"); } }; diff --git a/examples/qml/plugins/plugins.pro b/examples/qml/plugins/plugins.pro index e127509c0d..2c748f7952 100644 --- a/examples/qml/plugins/plugins.pro +++ b/examples/qml/plugins/plugins.pro @@ -2,24 +2,24 @@ TEMPLATE = lib CONFIG += qt plugin QT += qml -DESTDIR = com/nokia/TimeExample +DESTDIR = imports/TimeExample TARGET = qmlqtimeexampleplugin SOURCES += plugin.cpp qdeclarativesources.files += \ - com/nokia/TimeExample/qmldir \ - com/nokia/TimeExample/center.png \ - com/nokia/TimeExample/clock.png \ - com/nokia/TimeExample/Clock.qml \ - com/nokia/TimeExample/hour.png \ - com/nokia/TimeExample/minute.png + imports/TimeExample/qmldir \ + imports/TimeExample/center.png \ + imports/TimeExample/clock.png \ + imports/TimeExample/Clock.qml \ + imports/TimeExample/hour.png \ + imports/TimeExample/minute.png -qdeclarativesources.path += $$[QT_INSTALL_EXAMPLES]/qtdeclarative/qml/plugins/com/nokia/TimeExample +qdeclarativesources.path += $$[QT_INSTALL_EXAMPLES]/qtdeclarative/qml/plugins/imports/TimeExample -sources.files += plugins.pro plugin.cpp plugins.qml README +sources.files += plugins.pro plugin.cpp plugins.qml sources.path += $$[QT_INSTALL_EXAMPLES]/qtdeclarative/qml/plugins -target.path += $$[QT_INSTALL_EXAMPLES]/qtdeclarative/qml/plugins/com/nokia/TimeExample +target.path += $$[QT_INSTALL_EXAMPLES]/qtdeclarative/qml/plugins/imports/TimeExample INSTALLS += qdeclarativesources sources target diff --git a/examples/qml/plugins/plugins.qml b/examples/qml/plugins/plugins.qml index a184395c64..db570cf307 100644 --- a/examples/qml/plugins/plugins.qml +++ b/examples/qml/plugins/plugins.qml @@ -38,9 +38,9 @@ ** ****************************************************************************/ //![0] -import com.nokia.TimeExample 1.0 // import types from the plugin +import TimeExample 1.0 // import types from the plugin -Clock { // this class is defined in QML (com/nokia/TimeExample/Clock.qml) +Clock { // this class is defined in QML (imports/TimeExample/Clock.qml) Time { // this class is defined in C++ (plugin.cpp) id: time diff --git a/src/qml/doc/snippets/qml/imports/timeexample.qml b/src/qml/doc/snippets/qml/imports/timeexample.qml index f9c2411d02..97668452c0 100644 --- a/src/qml/doc/snippets/qml/imports/timeexample.qml +++ b/src/qml/doc/snippets/qml/imports/timeexample.qml @@ -39,7 +39,7 @@ ****************************************************************************/ //! [import] -import com.nokia.TimeExample 1.0 +import TimeExample 1.0 //! [import] Item { diff --git a/src/qml/doc/src/modules/cppplugins.qdoc b/src/qml/doc/src/modules/cppplugins.qdoc index 31ff02c2f4..2a08d732c0 100644 --- a/src/qml/doc/src/modules/cppplugins.qdoc +++ b/src/qml/doc/src/modules/cppplugins.qdoc @@ -87,12 +87,12 @@ types into the runtime. For this example, the TimeExample source directory is in - \c{com/nokia/TimeExample}. The plugin's type namespace will mirror + \c{imports/TimeExample}. The plugin's type namespace will mirror this structure, so the types are registered into the namespace - "com.nokia.TimeExample". + "TimeExample". Additionally, the project file, in a \c .pro file, defines the project as a plugin library, - specifies it should be built into the \c com/nokia/TimeExample directory, and registers + specifies it should be built into the \c imports/TimeExample directory, and registers the plugin target name and various other details: \code @@ -100,21 +100,21 @@ CONFIG += qt plugin QT += qml - DESTDIR = com/nokia/TimeExample + DESTDIR = imports/TimeExample TARGET = qmlqtimeexampleplugin SOURCES += qexampleqmlplugin.cpp \endcode Finally, a \l{Module Definition qmldir Files}{qmldir file} is required - in the \c com/nokia/TimeExample directory to describe the plugin and the types that it + in the \c imports/TimeExample directory to describe the plugin and the types that it exports. The plugin includes a \c Clock.qml file along with the \c qmlqtimeexampleplugin that is built by the project (as shown above in the \c .pro file) so both of these need to be specified in the \c qmldir file: - \quotefile examples/qml/plugins/com/nokia/TimeExample/qmldir + \quotefile examples/qml/plugins/imports/TimeExample/qmldir Once the project is built and installed, the new \c Time component is - accessible by any QML component that imports the \c com.nokia.TimeExample + accessible by any QML component that imports the \c TimeExample module \snippet examples/qml/plugins/plugins.qml 0 diff --git a/src/qml/qml/qqmlextensionplugin.cpp b/src/qml/qml/qqmlextensionplugin.cpp index 36abc3a9e4..2f0e804019 100644 --- a/src/qml/qml/qqmlextensionplugin.cpp +++ b/src/qml/qml/qqmlextensionplugin.cpp @@ -81,7 +81,7 @@ QT_BEGIN_NAMESPACE To make this class available as a QML type, create a plugin that registers this type with a specific \l {QML Modules}{module} using qmlRegisterType(). For this example the plugin - module will be named \c com.nokia.TimeExample (as defined in the project + module will be named \c TimeExample (as defined in the project file further below). \snippet examples/qml/plugins/plugin.cpp plugin @@ -93,27 +93,27 @@ QT_BEGIN_NAMESPACE ensures the module is imported correctly by any QML components that use this plugin. The project file defines the project as a plugin library and specifies - it should be built into the \c com/nokia/TimeExample directory: + it should be built into the \c imports/TimeExample directory: \code TEMPLATE = lib CONFIG += qt plugin QT += qml - DESTDIR = com/nokia/TimeExample + DESTDIR = imports/TimeExample TARGET = qmlqtimeexampleplugin ... \endcode - Finally, a \l{Module Definition qmldir Files}{qmldir file} is required in the \c com/nokia/TimeExample directory + Finally, a \l{Module Definition qmldir Files}{qmldir file} is required in the \c imports/TimeExample directory that describes the plugin. This directory includes a \c Clock.qml file that should be bundled with the plugin, so it needs to be specified in the \c qmldir file: - \quotefile examples/qml/plugins/com/nokia/TimeExample/qmldir + \quotefile examples/qml/plugins/imports/TimeExample/qmldir Once the project is built and installed, the new \c Time element can be - used by any QML component that imports the \c com.nokia.TimeExample module: + used by any QML component that imports the \c TimeExample module: \snippet examples/qml/plugins/plugins.qml 0 -- GitLab