@@ -16,6 +16,8 @@
17#include "fake_gsettings.h"
17#include "fake_gsettings.h"
19struct GSettingsSchemaQmlPrivate {
21struct GSettingsSchemaQmlPrivate {
20 QByteArray id;
22 QByteArray id;
21 QByteArray path;
23 QByteArray path;
@@ -25,27 +27,30 @@ struct GSettingsQmlPrivate {
25 GSettingsSchemaQml *schema;
27 GSettingsSchemaQml *schema;
28−bool GSettingsControllerQml::instance_exists;
29−GSettingsControllerQml* GSettingsControllerQml::_controllerInstance;
30+GSettingsControllerQml* GSettingsControllerQml::s_controllerInstance = 0;
31GSettingsControllerQml::GSettingsControllerQml() {
32GSettingsControllerQml::GSettingsControllerQml() {
34GSettingsControllerQml::~GSettingsControllerQml() {
35GSettingsControllerQml::~GSettingsControllerQml() {
35− instance_exists = false;
36+ s_controllerInstance = 0;
38−GSettingsControllerQml* GSettingsControllerQml::getInstance() {
39+GSettingsControllerQml* GSettingsControllerQml::instance() {
39− if(!instance_exists) {
40+ if(!s_controllerInstance) {
40− _controllerInstance = new GSettingsControllerQml();
41+ s_controllerInstance = new GSettingsControllerQml();
41− instance_exists = true;
42− return _controllerInstance;
44− return _controllerInstance;
43+ return s_controllerInstance;
46+void GSettingsControllerQml::registerSettingsObject(GSettingsQml *obj) {
47+ m_registeredGSettings.append(obj);
48void GSettingsControllerQml::setPictureUri(const QString &str) {
50void GSettingsControllerQml::setPictureUri(const QString &str) {
51+ Q_FOREACH (GSettingsQml *obj, m_registeredGSettings) {
52+ obj->setPictureUri(str);
51GSettingsSchemaQml::GSettingsSchemaQml(QObject *parent): QObject(parent) {
56GSettingsSchemaQml::GSettingsSchemaQml(QObject *parent): QObject(parent) {
@@ -83,9 +88,9 @@ void GSettingsSchemaQml::setPath(const QByteArray &path) {
85GSettingsQml::GSettingsQml(QObject *parent): QObject(parent) {
90GSettingsQml::GSettingsQml(QObject *parent): QObject(parent) {
86− GSettingsControllerQml::getInstance();
87 priv = new GSettingsQmlPrivate;
91 priv = new GSettingsQmlPrivate;
88 priv->schema = new GSettingsSchemaQml(this);
92 priv->schema = new GSettingsSchemaQml(this);
93+ GSettingsControllerQml::instance()->registerSettingsObject(this);
91GSettingsQml::~GSettingsQml() {
96GSettingsQml::~GSettingsQml() {