From c6cd2cc01f5f540c0638e98972c5acdeae7f9ecd Mon Sep 17 00:00:00 2001 From: Michael Carpenter Date: Tue, 28 May 2013 13:53:29 -0400 Subject: [PATCH] Added save/load settings to UASQuickView, and commented header file --- src/ui/uas/UASQuickView.cc | 72 +++++++++++++++++++++------------------------- src/ui/uas/UASQuickView.h | 16 +++++++++++ 2 files changed, 49 insertions(+), 39 deletions(-) diff --git a/src/ui/uas/UASQuickView.cc b/src/ui/uas/UASQuickView.cc index 6b28186..63bd952 100644 --- a/src/ui/uas/UASQuickView.cc +++ b/src/ui/uas/UASQuickView.cc @@ -75,21 +75,8 @@ UASQuickView::UASQuickView(QWidget *parent) : QWidget(parent) ui.verticalLayout->addWidget(item); uasPropertyToLabelMap["distToWaypoint"] = item; }*/ - QSettings settings; - int size = settings.beginReadArray("UAS_QUICK_VIEW_ITEMS"); - for (int i=0;ishow(); } -void UASQuickView::valueEnabled(QString value) +void UASQuickView::saveSettings() { - UASQuickViewItem *item = new UASQuickViewItem(this); - item->setTitle(value); - ui.verticalLayout->addWidget(item); - uasPropertyToLabelMap[value] = item; - uasEnabledPropertyList.append(value); - if (!uasPropertyValueMap.contains(value)) - { - uasPropertyValueMap[value] = 0; - } QSettings settings; settings.beginWriteArray("UAS_QUICK_VIEW_ITEMS"); int count = 0; @@ -146,12 +124,40 @@ void UASQuickView::valueEnabled(QString value) settings.setArrayIndex(count++); settings.setValue("name",i.key()); settings.setValue("type","text"); - //QString name = settings.value("name").toString(); - //QString var = settings.value("variable").toString(); } settings.endArray(); settings.sync(); } +void UASQuickView::loadSettings() +{ + QSettings settings; + int size = settings.beginReadArray("UAS_QUICK_VIEW_ITEMS"); + for (int i=0;isetTitle(value); + ui.verticalLayout->addWidget(item); + uasPropertyToLabelMap[value] = item; + uasEnabledPropertyList.append(value); + if (!uasPropertyValueMap.contains(value)) + { + uasPropertyValueMap[value] = 0; + } + saveSettings(); + +} void UASQuickView::valueDisabled(QString value) { @@ -163,19 +169,7 @@ void UASQuickView::valueDisabled(QString value) ui.verticalLayout->removeWidget(item); item->deleteLater(); uasEnabledPropertyList.removeOne(value); - QSettings settings; - settings.beginWriteArray("UAS_QUICK_VIEW_ITEMS"); - int count = 0; - for (QMap::const_iterator i = uasPropertyToLabelMap.constBegin();i!=uasPropertyToLabelMap.constEnd();i++) - { - settings.setArrayIndex(count++); - settings.setValue("name",i.key()); - settings.setValue("type","text"); - //QString name = settings.value("name").toString(); - //QString var = settings.value("variable").toString(); - } - settings.endArray(); - settings.sync(); + saveSettings(); } } diff --git a/src/ui/uas/UASQuickView.h b/src/ui/uas/UASQuickView.h index cb11848..7a709f2 100644 --- a/src/ui/uas/UASQuickView.h +++ b/src/ui/uas/UASQuickView.h @@ -18,11 +18,27 @@ public: void addSource(MAVLinkDecoder *decoder); private: UASInterface *uas; + + /** List of enabled properties */ QList uasEnabledPropertyList; + + /** Maps from the property name to the current value */ QMap uasPropertyValueMap; + + /** Maps from property name to the display item */ QMap uasPropertyToLabelMap; + + /** Timer for updating the UI */ QTimer *updateTimer; + + /** Selection dialog for selectin/deselecting gauge items */ UASQuickViewItemSelect *quickViewSelectDialog; + + /** Saves gauge layout to settings file */ + void saveSettings(); + + /** Loads gauge layout from settings file */ + void loadSettings(); protected: Ui::Form ui; signals: