diff --git a/src/QGCApplication.cc b/src/QGCApplication.cc index d17b97b4491a3cf0c0c94d24f13c2293d45e33f4..a8834084c3ae9a90b7f93e73de8fb4ac3718769d 100644 --- a/src/QGCApplication.cc +++ b/src/QGCApplication.cc @@ -687,7 +687,11 @@ bool QGCApplication::_checkTelemetrySavePath(bool useMessageBox) void QGCApplication::reportMissingParameter(int componentId, const QString& name) { - _missingParams += QString("%1:%2").arg(componentId).arg(name); + QPair missingParam(componentId, name); + + if (!_missingParams.contains(missingParam)) { + _missingParams.append(missingParam); + } _missingParamsDelayedDisplayTimer.start(); } @@ -696,12 +700,14 @@ void QGCApplication::_missingParamsDisplay(void) { if (_missingParams.count()) { QString params; - foreach (const QString &name, _missingParams) { + for (QPair& missingParam: _missingParams) { + QString param = QStringLiteral("%1:%2").arg(missingParam.first).arg(missingParam.second); if (params.isEmpty()) { - params += name; + params += param; } else { - params += QString(", %1").arg(name); + params += QStringLiteral(", %1").arg(param); } + } _missingParams.clear(); diff --git a/src/QGCApplication.h b/src/QGCApplication.h index 0e631dc34b1bbb4cff1e9ebfc321977f87ed211b..c47b477adbdf79ff96339497f112438cb5f5fcb3 100644 --- a/src/QGCApplication.h +++ b/src/QGCApplication.h @@ -174,10 +174,10 @@ private: void _exitWithError (QString errorMessage); - bool _runningUnitTests; ///< true: running unit tests, false: normal app - static const int _missingParamsDelayedDisplayTimerTimeout = 1000; ///< Timeout to wait for next missing fact to come in before display - QTimer _missingParamsDelayedDisplayTimer; ///< Timer use to delay missing fact display - QStringList _missingParams; ///< List of missing facts to be displayed + bool _runningUnitTests; ///< true: running unit tests, false: normal app + static const int _missingParamsDelayedDisplayTimerTimeout = 1000; ///< Timeout to wait for next missing fact to come in before display + QTimer _missingParamsDelayedDisplayTimer; ///< Timer use to delay missing fact display + QList> _missingParams; ///< List of missing parameter component id:name QQmlApplicationEngine* _qmlAppEngine = nullptr; bool _logOutput = false; ///< true: Log Qt debug output to file