Browse Source

Add option to ignore camel case in FactGroup.

QGC4.4
Gus Grubba 5 years ago
parent
commit
c4052eac02
  1. 2
      src/Camera/QGCCameraControl.cc
  2. 10
      src/FactSystem/FactGroup.cc
  3. 5
      src/FactSystem/FactGroup.h

2
src/Camera/QGCCameraControl.cc

@ -154,7 +154,7 @@ read_value(QDomNode& element, const char* tagName, QString& target)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
QGCCameraControl::QGCCameraControl(const mavlink_camera_information_t *info, Vehicle* vehicle, int compID, QObject* parent) QGCCameraControl::QGCCameraControl(const mavlink_camera_information_t *info, Vehicle* vehicle, int compID, QObject* parent)
: FactGroup(0, parent) : FactGroup(0, parent, true /* ignore camel case */)
, _vehicle(vehicle) , _vehicle(vehicle)
, _compID(compID) , _compID(compID)
{ {

10
src/FactSystem/FactGroup.cc

@ -20,17 +20,19 @@
QGC_LOGGING_CATEGORY(FactGroupLog, "FactGroupLog") QGC_LOGGING_CATEGORY(FactGroupLog, "FactGroupLog")
FactGroup::FactGroup(int updateRateMsecs, const QString& metaDataFile, QObject* parent) FactGroup::FactGroup(int updateRateMsecs, const QString& metaDataFile, QObject* parent, bool ignoreCamelCase)
: QObject(parent) : QObject(parent)
, _updateRateMSecs(updateRateMsecs) , _updateRateMSecs(updateRateMsecs)
, _ignoreCamelCase(ignoreCamelCase)
{ {
_setupTimer(); _setupTimer();
_nameToFactMetaDataMap = FactMetaData::createMapFromJsonFile(metaDataFile, this); _nameToFactMetaDataMap = FactMetaData::createMapFromJsonFile(metaDataFile, this);
} }
FactGroup::FactGroup(int updateRateMsecs, QObject* parent) FactGroup::FactGroup(int updateRateMsecs, QObject* parent, bool ignoreCamelCase)
: QObject(parent) : QObject(parent)
, _updateRateMSecs(updateRateMsecs) , _updateRateMSecs(updateRateMsecs)
, _ignoreCamelCase(ignoreCamelCase)
{ {
_setupTimer(); _setupTimer();
} }
@ -70,7 +72,7 @@ Fact* FactGroup::getFact(const QString& name)
} }
Fact* fact = nullptr; Fact* fact = nullptr;
QString camelCaseName = _camelCase(name); QString camelCaseName = _ignoreCamelCase ? name : _camelCase(name);
if (_nameToFactMap.contains(camelCaseName)) { if (_nameToFactMap.contains(camelCaseName)) {
fact = _nameToFactMap[camelCaseName]; fact = _nameToFactMap[camelCaseName];
@ -85,7 +87,7 @@ Fact* FactGroup::getFact(const QString& name)
FactGroup* FactGroup::getFactGroup(const QString& name) FactGroup* FactGroup::getFactGroup(const QString& name)
{ {
FactGroup* factGroup = nullptr; FactGroup* factGroup = nullptr;
QString camelCaseName = _camelCase(name); QString camelCaseName = _ignoreCamelCase ? name : _camelCase(name);
if (_nameToFactGroupMap.contains(camelCaseName)) { if (_nameToFactGroupMap.contains(camelCaseName)) {
factGroup = _nameToFactGroupMap[camelCaseName]; factGroup = _nameToFactGroupMap[camelCaseName];

5
src/FactSystem/FactGroup.h

@ -26,8 +26,8 @@ class FactGroup : public QObject
Q_OBJECT Q_OBJECT
public: public:
FactGroup(int updateRateMsecs, const QString& metaDataFile, QObject* parent = nullptr); FactGroup(int updateRateMsecs, const QString& metaDataFile, QObject* parent = nullptr, bool ignoreCamelCase = false);
FactGroup(int updateRateMsecs, QObject* parent = nullptr); FactGroup(int updateRateMsecs, QObject* parent = nullptr, bool ignoreCamelCase = false);
Q_PROPERTY(QStringList factNames READ factNames CONSTANT) Q_PROPERTY(QStringList factNames READ factNames CONSTANT)
Q_PROPERTY(QStringList factGroupNames READ factGroupNames CONSTANT) Q_PROPERTY(QStringList factGroupNames READ factGroupNames CONSTANT)
@ -63,6 +63,7 @@ private:
void _setupTimer (void); void _setupTimer (void);
QString _camelCase (const QString& text); QString _camelCase (const QString& text);
bool _ignoreCamelCase = false;
QTimer _updateTimer; QTimer _updateTimer;
}; };

Loading…
Cancel
Save