diff --git a/src/ui/QGCParamWidget.cc b/src/ui/QGCParamWidget.cc index c7b75939ad9a0d579d4afbf52ba20c50b5a8d4b5..d5f769b08872d619528b260e32cd8e27f7330a5c 100644 --- a/src/ui/QGCParamWidget.cc +++ b/src/ui/QGCParamWidget.cc @@ -202,6 +202,21 @@ void QGCParamWidget::handleParameterUpdate(int componentId, const QString& param void QGCParamWidget::handleParameterListUpToDate() { + tree->collapseAll(); + + //rewrite the component item tree after receiving the full list + QMap*>::iterator i; + QMap*>* onboardParams = paramDataModel->getOnboardParameters(); + + for (i = onboardParams->begin(); i != onboardParams->end(); ++i) { + int compId = i.key(); + QMap* paramPairs = onboardParams->value(compId); + QMap::iterator j; + for (j = paramPairs->begin(); j != paramPairs->end(); j++) { + updateParameterDisplay(compId, j.key(),j.value()); + } + } + // Expand visual tree tree->expandItem(tree->topLevelItem(0)); }