summaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorKimmo Ollila <kimmo.ollila@theqtcompany.com>2016-03-10 09:46:40 +0200
committerKimmo Ollila <kimmo.ollila@theqtcompany.com>2016-03-16 13:43:57 +0000
commit7c9fe368de133a6b4e256392e0db0d6c3dc1cf9a (patch)
treee2462fe843cb8ed41c1261fed07cb8713a5d48e1 /src/imports
parentc6b5855b446c73f8a60cc3d4427fc445e0ba400d (diff)
Use qmlRegisterSingletonType instead of setContextProperty in plugins
Change-Id: Ib6c6c7bc5e5e1db005dd43222163fceb50c8894a Reviewed-by: Teemu Holappa <teemu.holappa@theqtcompany.com>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/bluetoothsettings/plugin.cpp16
-rw-r--r--src/imports/localesettings/plugin.cpp15
-rw-r--r--src/imports/networksettings/plugin.cpp20
-rw-r--r--src/imports/networksettings/plugin.h1
-rw-r--r--src/imports/timedatesettings/plugin.cpp16
5 files changed, 22 insertions, 46 deletions
diff --git a/src/imports/bluetoothsettings/plugin.cpp b/src/imports/bluetoothsettings/plugin.cpp
index d0a25c3..20f5b28 100644
--- a/src/imports/bluetoothsettings/plugin.cpp
+++ b/src/imports/bluetoothsettings/plugin.cpp
@@ -43,6 +43,13 @@
#include "bluetoothdevice.h"
#include "discoverymodel.h"
+template <typename T>
+QObject *instance(QQmlEngine *engine, QJSEngine *) {
+ T *t = new T(engine);
+ t->setObjectName(T::staticMetaObject.className());
+ return t;
+}
+
class BluetoothSettingsQmlPlugin : public QQmlExtensionPlugin
{
Q_OBJECT
@@ -53,14 +60,7 @@ public:
{
Q_ASSERT(QLatin1String(uri) == QLatin1String("com.theqtcompany.settings.bluetooth"));
qmlRegisterUncreatableType<BtDeviceItem>(uri, 1, 0, "BtDeviceItem", "Cannot be instantiated directly.");
-
- }
-
- void initializeEngine(QQmlEngine * engine, const char * uri)
- {
- Q_ASSERT(QLatin1String(uri) == QLatin1String("com.theqtcompany.settings.bluetooth"));
- BluetoothDevice *device = new BluetoothDevice(engine);
- engine->rootContext()->setContextProperty("BtDevice", device);
+ qmlRegisterSingletonType<BluetoothDevice>(uri, 1, 0, "BtDevice", &instance<BluetoothDevice>);
}
};
diff --git a/src/imports/localesettings/plugin.cpp b/src/imports/localesettings/plugin.cpp
index 7edd2c5..1c2bcca 100644
--- a/src/imports/localesettings/plugin.cpp
+++ b/src/imports/localesettings/plugin.cpp
@@ -41,8 +41,7 @@
#include <QQmlContext>
#include <systemlocale.h>
-#include <localemodel.h>
-#include <localefiltermodel.h>
+#include "localefiltermodel.h"
template <typename T>
QObject *instance(QQmlEngine *engine, QJSEngine *) {
@@ -59,16 +58,8 @@ class LanguageSettingsQmlPlugin : public QQmlExtensionPlugin
public:
void registerTypes(const char *uri)
{
- qmlRegisterSingletonType<SystemLocale>(uri, 1, 0, "LocaleManager", &instance<SystemLocale>);
- }
-
- void initializeEngine(QQmlEngine * engine, const char * uri)
- {
- Q_ASSERT(QLatin1String(uri) == QLatin1String("com.theqtcompany.settings.locale"));
- LocaleModel*localeModel = new LocaleModel(engine);
- LocaleFilterModel* filter = new LocaleFilterModel(engine);
- filter->setSourceModel(localeModel);
- engine->rootContext()->setContextProperty("LocaleFilter", filter);
+ qmlRegisterSingletonType<SystemLocale>(uri, 1, 0, "LocaleManager", &instance<SystemLocale>);
+ qmlRegisterSingletonType<LocaleFilterModel>(uri, 1, 0, "LocaleFilter", &instance<LocaleFilterModel>);
}
};
diff --git a/src/imports/networksettings/plugin.cpp b/src/imports/networksettings/plugin.cpp
index eeee147..ab81e31 100644
--- a/src/imports/networksettings/plugin.cpp
+++ b/src/imports/networksettings/plugin.cpp
@@ -43,6 +43,13 @@
#include <QQmlEngine>
#include <QQmlContext>
+template <typename T>
+QObject *instance(QQmlEngine *engine, QJSEngine *) {
+ T *t = new T(engine);
+ t->setObjectName(T::staticMetaObject.className());
+ return t;
+}
+
void NetworksettingspluginPlugin::registerTypes(const char *uri)
{
Q_ASSERT(QLatin1String(uri) == QLatin1String("com.theqtcompany.settings.network"));
@@ -52,16 +59,7 @@ void NetworksettingspluginPlugin::registerTypes(const char *uri)
qmlRegisterUncreatableType<QNetworkSettingsProxy>(uri, 1, 0, "NetworkSettingsProxy", "Cannot be instantiated directly.");
qmlRegisterUncreatableType<QNetworkSettingsType>(uri, 1, 0, "NetworkSettingsType", "Cannot be instantiated directly.");
qmlRegisterUncreatableType<QNetworkSettingsState>(uri, 1, 0, "NetworkSettingsState", "Cannot be instantiated directly.");
-}
-
-
-void NetworksettingspluginPlugin::initializeEngine(QQmlEngine * engine, const char * uri)
-{
- Q_ASSERT(QLatin1String(uri) == QLatin1String("com.theqtcompany.settings.network"));
- QNetworkSettingsManager* networkManager = new QNetworkSettingsManager(engine);
- QNetworkSettingsUserAgent* userAgent = new QNetworkSettingsUserAgent(engine);
- networkManager->setUserAgent(userAgent);
- engine->rootContext()->setContextProperty("NetworkSettingsManager", networkManager);
- engine->rootContext()->setContextProperty("NetworkSettingsUserAgent", userAgent);
+ qmlRegisterSingletonType<QNetworkSettingsManager>(uri, 1, 0, "NetworkSettingsManager", &instance<QNetworkSettingsManager>);
+ qmlRegisterSingletonType<QNetworkSettingsUserAgent>(uri, 1, 0, "NetworkSettingsUserAgent", &instance<QNetworkSettingsUserAgent>);
}
diff --git a/src/imports/networksettings/plugin.h b/src/imports/networksettings/plugin.h
index f47b964..40e02e2 100644
--- a/src/imports/networksettings/plugin.h
+++ b/src/imports/networksettings/plugin.h
@@ -45,7 +45,6 @@ class NetworksettingspluginPlugin : public QQmlExtensionPlugin
public:
void registerTypes(const char *uri);
- void initializeEngine(QQmlEngine * engine, const char * uri);
};
#endif // NETWORKSETTINGSPLUGIN_PLUGIN_H
diff --git a/src/imports/timedatesettings/plugin.cpp b/src/imports/timedatesettings/plugin.cpp
index e55cddc..0f67699 100644
--- a/src/imports/timedatesettings/plugin.cpp
+++ b/src/imports/timedatesettings/plugin.cpp
@@ -33,7 +33,6 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-
#include <QtQml/QQmlExtensionPlugin>
#include <QtQml/qqml.h>
#include <qcoreapplication.h>
@@ -41,8 +40,7 @@
#include <QQmlContext>
#include <systemtime.h>
-#include <timezonemodel.h>
-#include <timezonefiltermodel.h>
+#include "timezonefiltermodel.h"
template <typename T>
QObject *instance(QQmlEngine *engine, QJSEngine *) {
@@ -60,17 +58,7 @@ public:
void registerTypes(const char *uri)
{
qmlRegisterSingletonType<SystemTime>(uri, 1, 0, "TimeManager", &instance<SystemTime>);
- }
-
- void initializeEngine(QQmlEngine * engine, const char * uri)
- {
- Q_ASSERT(QLatin1String(uri) == QLatin1String("com.theqtcompany.settings.timedate"));
- TimezoneModel* timezoneModel = new TimezoneModel(engine);
- TimezoneFilterModel* filter = new TimezoneFilterModel(engine);
- filter->setSourceModel(timezoneModel);
-
- engine->rootContext()->setContextProperty("Timezones", timezoneModel);
- engine->rootContext()->setContextProperty("TimezonesFilter", filter);
+ qmlRegisterSingletonType<TimezoneFilterModel>(uri, 1, 0, "TimezonesFilter", &instance<TimezoneFilterModel>);
}
};