summaryrefslogtreecommitdiffstats
path: root/src/imports/networksettings/plugin.cpp
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/networksettings/plugin.cpp
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/networksettings/plugin.cpp')
-rw-r--r--src/imports/networksettings/plugin.cpp20
1 files changed, 9 insertions, 11 deletions
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>);
}