#include #include #include "widgetview.h" #define NUM_WIDGETS 16 WidgetView::WidgetView(const QString &settingsPrefix, QQuickView *view, QObject *parent) : QObject(parent), _settings(new MDConfGroup(this)), _view(view) { _settings->setPath(settingsPrefix); if (!_view) { _view = new QQuickView; } for (int w = 0; w < NUM_WIDGETS; w++) { WidgetInfo *info = new WidgetInfo(this); _widgets.append(info); _widgetObjects.append(static_cast(info)); } reload(); _view->setResizeMode(QQuickView::SizeViewToRootObject); _view->setSource(SailfishApp::pathTo("qml/widgetview.qml")); _view->rootContext()->setContextProperty("widgets", QVariant::fromValue(_widgetObjects)); } QList WidgetView::widgets() { return _widgets; } void WidgetView::reload() { for (int w = 0; w < _widgets.size(); w++) { WidgetInfo *widget = _widgets[w]; QString base = QString("widget%1/").arg(w); widget->setInvert(_settings->value(base + "invert").toBool()); widget->setPage(_settings->value(base + "page").toInt()); widget->setSize(static_cast(_settings->value(base + "size").toInt())); widget->setPosition(static_cast(_settings->value(base + "position").toInt())); widget->setUrl(_settings->value(base + "url").toUrl()); } }