From 16d355dfa944448110b3c0edd6f238dbc6f7e27a Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Sun, 23 Dec 2018 21:38:29 -0800 Subject: [PATCH] Move cache location methods so they are available in all builds --- src/QGCApplication.cc | 17 +++++++++++++++-- src/QGCApplication.h | 3 +++ src/VehicleSetup/FirmwareImage.cc | 23 ++++------------------- src/VehicleSetup/FirmwareImage.h | 3 --- 4 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/QGCApplication.cc b/src/QGCApplication.cc index 893678e7f..534ef45f1 100644 --- a/src/QGCApplication.cc +++ b/src/QGCApplication.cc @@ -315,9 +315,9 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting) if (fClearCache) { QDir dir(ParameterManager::parameterCacheDir()); dir.removeRecursively(); - QFile airframe(FirmwareImage::cachedAirframeMetaDataFile()); + QFile airframe(cachedAirframeMetaDataFile()); airframe.remove(); - QFile parameter(FirmwareImage::cachedParameterMetaDataFile()); + QFile parameter(cachedParameterMetaDataFile()); parameter.remove(); } @@ -851,3 +851,16 @@ void QGCApplication::_gpsNumSatellites(int numSatellites) _gpsRtkFactGroup->numSatellites()->setRawValue(numSatellites); } +QString QGCApplication::cachedParameterMetaDataFile(void) +{ + QSettings settings; + QDir parameterDir = QFileInfo(settings.fileName()).dir(); + return parameterDir.filePath(QStringLiteral("ParameterFactMetaData.xml")); +} + +QString QGCApplication::cachedAirframeMetaDataFile(void) +{ + QSettings settings; + QDir airframeDir = QFileInfo(settings.fileName()).dir(); + return airframeDir.filePath(QStringLiteral("PX4AirframeFactMetaData.xml")); +} diff --git a/src/QGCApplication.h b/src/QGCApplication.h index fa83c39b6..052bf53f0 100644 --- a/src/QGCApplication.h +++ b/src/QGCApplication.h @@ -98,6 +98,9 @@ public: FactGroup* gpsRtkFactGroup(void) { return _gpsRtkFactGroup; } + static QString cachedParameterMetaDataFile(void); + static QString cachedAirframeMetaDataFile(void); + public slots: /// You can connect to this slot to show an information message box from a different thread. void informationMessageBoxOnMainThread(const QString& title, const QString& msg); diff --git a/src/VehicleSetup/FirmwareImage.cc b/src/VehicleSetup/FirmwareImage.cc index 9c0a6357a..95145a93c 100644 --- a/src/VehicleSetup/FirmwareImage.cc +++ b/src/VehicleSetup/FirmwareImage.cc @@ -215,21 +215,6 @@ bool FirmwareImage::isCompatible(uint32_t boardId, uint32_t firmwareId) { return result; } -QString FirmwareImage::cachedParameterMetaDataFile(void) -{ - QSettings settings; - QDir parameterDir = QFileInfo(settings.fileName()).dir(); - return parameterDir.filePath(QStringLiteral("ParameterFactMetaData.xml")); -} - -QString FirmwareImage::cachedAirframeMetaDataFile(void) -{ - QSettings settings; - QDir airframeDir = QFileInfo(settings.fileName()).dir(); - return airframeDir.filePath(QStringLiteral("PX4AirframeFactMetaData.xml")); -} - - bool FirmwareImage::_px4Load(const QString& imageFilename) { _imageSize = 0; @@ -290,8 +275,8 @@ bool FirmwareImage::_px4Load(const QString& imageFilename) _jsonParamXmlKey, // key which holds compressed bytes decompressedBytes); // Returned decompressed bytes if (success) { - QString parameterFilename = cachedParameterMetaDataFile(); - QFile parameterFile(cachedParameterMetaDataFile()); + QString parameterFilename = QGCApplication::cachedParameterMetaDataFile(); + QFile parameterFile(QGCApplication::cachedParameterMetaDataFile()); if (parameterFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { qint64 bytesWritten = parameterFile.write(decompressedBytes); @@ -317,9 +302,9 @@ bool FirmwareImage::_px4Load(const QString& imageFilename) _jsonAirframeXmlKey, // key which holds compressed bytes decompressedBytes); // Returned decompressed bytes if (success) { - QString airframeFilename = cachedAirframeMetaDataFile(); + QString airframeFilename = QGCApplication::cachedAirframeMetaDataFile(); //qDebug() << airframeFilename; - QFile airframeFile(cachedAirframeMetaDataFile()); + QFile airframeFile(QGCApplication::cachedAirframeMetaDataFile()); if (airframeFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { qint64 bytesWritten = airframeFile.write(decompressedBytes); diff --git a/src/VehicleSetup/FirmwareImage.h b/src/VehicleSetup/FirmwareImage.h index f8b6d1e9f..5a9935dda 100644 --- a/src/VehicleSetup/FirmwareImage.h +++ b/src/VehicleSetup/FirmwareImage.h @@ -59,9 +59,6 @@ public: /// @return true: actual boardId is compatible with firmware boardId bool isCompatible(uint32_t boardId, uint32_t firmwareId); - static QString cachedParameterMetaDataFile(void); - static QString cachedAirframeMetaDataFile(void); - signals: void errorMessage(const QString& errorString); void statusMessage(const QString& warningtring); -- 2.22.0