Commit d74a19ce authored by Don Gagne's avatar Don Gagne

Don't request parameter list unless user requested

Also only update the full tree one time once the full parameter list is
ready.
parent 2c0d56c7
......@@ -40,8 +40,6 @@ void QGCBaseParamWidget::setUAS(UASInterface* uas)
connectToParamManager();
connectViewSignalsAndSlots();
layoutWidget();
paramMgr->requestParameterListIfEmpty();
}
}
......@@ -62,6 +60,9 @@ void QGCBaseParamWidget::connectToParamManager()
// Listen for param list reload finished
connect(paramMgr, SIGNAL(parameterListUpToDate()),
this, SLOT(handleOnboardParameterListUpToDate()));
if (paramMgr->parametersReady()) {
handleOnboardParameterListUpToDate();
}
// Listen to communications status messages so we can display them
connect(paramMgr, SIGNAL(parameterStatusMsgUpdated(QString,int)),
......
......@@ -51,7 +51,8 @@ QGCParamWidget::QGCParamWidget(QWidget *parent) :
QGCBaseParamWidget(parent),
componentItems(new QMap<int, QTreeWidgetItem*>()),
statusLabel(new QLabel(this)),
tree(new QTreeWidget(this))
tree(new QTreeWidget(this)),
_fullParamListLoaded(false)
{
......@@ -236,9 +237,15 @@ void QGCParamWidget::handleOnboardParamUpdate(int compId, const QString& paramNa
void QGCParamWidget::handleOnboardParameterListUpToDate()
{
// Don't load full param list more than once
if (_fullParamListLoaded) {
return;
}
_fullParamListLoaded = true;
//turn off updates while we refresh the entire list
tree->setUpdatesEnabled(false);
qDebug() << "WARN: LIST UPDATE";
//rewrite the component item tree after receiving the full list
QMap<int, QMap<QString, QVariant>*>::iterator i;
......
......@@ -104,7 +104,9 @@ protected:
QLabel* statusLabel; ///< User-facing parameter status label
QTreeWidget* tree; ///< The parameter tree
QStringList _filterList;
private:
bool _fullParamListLoaded;
};
#endif // QGCPARAMWIDGET_H
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment