From a93f18258219d803b78bb46d64bb08f087334d02 Mon Sep 17 00:00:00 2001 From: Philippe Renon Date: Sat, 5 Mar 2016 19:06:43 +0100 Subject: [PATCH] LP-29 add state save/restore to PFD Qml gadget --- ground/gcs/src/plugins/pfdqml/pfdqmlcontext.cpp | 9 +++++++++ ground/gcs/src/plugins/pfdqml/pfdqmlcontext.h | 4 ++++ ground/gcs/src/plugins/pfdqml/pfdqmlgadget.cpp | 10 ++++++++++ ground/gcs/src/plugins/pfdqml/pfdqmlgadget.h | 2 ++ ground/gcs/src/plugins/pfdqml/pfdqmlgadgetwidget.cpp | 11 +++++++++++ ground/gcs/src/plugins/pfdqml/pfdqmlgadgetwidget.h | 3 +++ 6 files changed, 39 insertions(+) diff --git a/ground/gcs/src/plugins/pfdqml/pfdqmlcontext.cpp b/ground/gcs/src/plugins/pfdqml/pfdqmlcontext.cpp index 08021b8ee..d2e12bd4a 100644 --- a/ground/gcs/src/plugins/pfdqml/pfdqmlcontext.cpp +++ b/ground/gcs/src/plugins/pfdqml/pfdqmlcontext.cpp @@ -278,6 +278,15 @@ void PfdQmlContext::loadConfiguration(PfdQmlGadgetConfiguration *config) setBackgroundImageFile(config->backgroundImageFile()); } + +void PfdQmlContext::saveState(QSettings *settings) +{ +} + +void PfdQmlContext::restoreState(QSettings *settings) +{ +} + void PfdQmlContext::apply(QQmlContext *context) { QStringList objectsToExport; diff --git a/ground/gcs/src/plugins/pfdqml/pfdqmlcontext.h b/ground/gcs/src/plugins/pfdqml/pfdqmlcontext.h index 78b426ee0..e26a4d9d1 100644 --- a/ground/gcs/src/plugins/pfdqml/pfdqmlcontext.h +++ b/ground/gcs/src/plugins/pfdqml/pfdqmlcontext.h @@ -32,6 +32,7 @@ #include "pfdqmlgadgetconfiguration.h" class QQmlContext; +class QSettings; class PfdQmlContext : public QObject { Q_OBJECT Q_PROPERTY(QString speedUnit READ speedUnit WRITE setSpeedUnit NOTIFY speedUnitChanged) @@ -94,6 +95,9 @@ public: Q_INVOKABLE void resetConsumedEnergy(); void loadConfiguration(PfdQmlGadgetConfiguration *config); + void saveState(QSettings *); + void restoreState(QSettings *); + void apply(QQmlContext *context); signals: diff --git a/ground/gcs/src/plugins/pfdqml/pfdqmlgadget.cpp b/ground/gcs/src/plugins/pfdqml/pfdqmlgadget.cpp index 0530b1540..176641260 100644 --- a/ground/gcs/src/plugins/pfdqml/pfdqmlgadget.cpp +++ b/ground/gcs/src/plugins/pfdqml/pfdqmlgadget.cpp @@ -51,3 +51,13 @@ void PfdQmlGadget::loadConfiguration(IUAVGadgetConfiguration *config) m_qmlGadgetWidget->loadConfiguration(m); } + +void PfdQmlGadget::saveState(QSettings *settings) +{ + m_qmlGadgetWidget->saveState(settings); +} + +void PfdQmlGadget::restoreState(QSettings *settings) +{ + m_qmlGadgetWidget->restoreState(settings); +} diff --git a/ground/gcs/src/plugins/pfdqml/pfdqmlgadget.h b/ground/gcs/src/plugins/pfdqml/pfdqmlgadget.h index 45b97eafb..812d17547 100644 --- a/ground/gcs/src/plugins/pfdqml/pfdqmlgadget.h +++ b/ground/gcs/src/plugins/pfdqml/pfdqmlgadget.h @@ -46,6 +46,8 @@ public: QWidget *widget(); void loadConfiguration(IUAVGadgetConfiguration *config); + void saveState(QSettings *); + void restoreState(QSettings *); private: PfdQmlGadgetWidget *m_qmlGadgetWidget; diff --git a/ground/gcs/src/plugins/pfdqml/pfdqmlgadgetwidget.cpp b/ground/gcs/src/plugins/pfdqml/pfdqmlgadgetwidget.cpp index 6df36daae..e622362bf 100644 --- a/ground/gcs/src/plugins/pfdqml/pfdqmlgadgetwidget.cpp +++ b/ground/gcs/src/plugins/pfdqml/pfdqmlgadgetwidget.cpp @@ -93,6 +93,16 @@ void PfdQmlGadgetWidget::loadConfiguration(PfdQmlGadgetConfiguration *config) setQmlFile(config->qmlFile()); } +void PfdQmlGadgetWidget::saveState(QSettings *settings) +{ + m_pfdQmlContext->saveState(settings); +} + +void PfdQmlGadgetWidget::restoreState(QSettings *settings) +{ + m_pfdQmlContext->restoreState(settings); +} + void PfdQmlGadgetWidget::setQmlFile(QString fn) { qDebug() << "PfdQmlGadgetWidget::setQmlFile" << fn; @@ -117,6 +127,7 @@ void PfdQmlGadgetWidget::setQmlFile(QString fn) QUrl url = QUrl::fromLocalFile(fn); engine()->setBaseUrl(url); + setSource(url); } diff --git a/ground/gcs/src/plugins/pfdqml/pfdqmlgadgetwidget.h b/ground/gcs/src/plugins/pfdqml/pfdqmlgadgetwidget.h index 162e17815..3bfdd1e2a 100644 --- a/ground/gcs/src/plugins/pfdqml/pfdqmlgadgetwidget.h +++ b/ground/gcs/src/plugins/pfdqml/pfdqmlgadgetwidget.h @@ -34,6 +34,7 @@ #include class QQmlEngine; +class QSettings; class QuickWidgetProxy; class PfdQmlContext; @@ -45,6 +46,8 @@ public: virtual ~PfdQmlGadgetWidget(); void loadConfiguration(PfdQmlGadgetConfiguration *config); + void saveState(QSettings *); + void restoreState(QSettings *); private: void setQmlFile(QString);