diff --git a/src/cmd/main.cpp b/src/cmd/main.cpp index 6024854ec21341ce6b567d40cb472f07c44ed008..8dac28dc855f3f49d50e7b5717cc2eaa05e1ec3e 100644 --- a/src/cmd/main.cpp +++ b/src/cmd/main.cpp @@ -5,6 +5,7 @@ #include "../utils.h" #include "../cam.h" +#include "qdebug.h" #include "qobjectdefs.h" #include <QCoreApplication> #include <QTimer> @@ -16,6 +17,9 @@ int main(int argc, char *argv[]) QCoreApplication::setApplicationVersion(utils::getVersion()); QCoreApplication::setApplicationName("recorder"); + qDebug() << utils::getFirstFileInAppDirEndingWith("json"); + qDebug() << utils::getFirstFileInAppDirEndingWith("xml"); + //parse args QStringList arguments = a.arguments(); for (int i = 1; i < arguments.size(); ++i) diff --git a/src/utils.cpp b/src/utils.cpp index 1945ba9e0b55842e99b95452de327abd67a53aa6..b4450d6c8d99763cc0683ef781282de930c6d40d 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -157,17 +157,19 @@ QString configFile(QString filename) { static QString _configFile; if( _configFile.isEmpty() ) - { - if(filename.isEmpty()) - { - _configFile = QCoreApplication::applicationDirPath() + "/config.json" ; //default - } - else - { - _configFile = filename; - } - } - return _configFile; + _configFile = filename; + + return _configFile.isEmpty() ? utils::getFirstFileInAppDirEndingWith("json") : _configFile; +} + +QString getFirstFileInAppDirEndingWith( QString const& suffix ) +{ + QDir dir(QCoreApplication::applicationDirPath()); + QStringList files = dir.entryList(QStringList() << "*."+suffix, QDir::Files); + // QStringList const folders = source.entryList(QDir::NoDot | QDir::NoDotDot | QDir::Dirs); + // auto file = QCoreApplication::applicationDirPath()+QDir::separator()+files.first(); + auto file = files.first(); + return files.isEmpty() || suffix.isEmpty() ? QString() : file; } // optional - only set cam settings when they changed @@ -175,13 +177,11 @@ QString settingsFile(QString filename) { static QString _settingsFile; if( _settingsFile.isEmpty() ) - { - if(filename.isEmpty()) - _settingsFile = QCoreApplication::applicationDirPath() + "/settings.xml" ; //default - else - _settingsFile = filename; - } - return _settingsFile; -} + _settingsFile = filename; + return _settingsFile.isEmpty() ? utils::getFirstFileInAppDirEndingWith("xml") : _settingsFile; } + + + +} // namespace utils diff --git a/src/utils.h b/src/utils.h index dec1dbdca640e8000e79a69adb7ee0869c37bc00..b5b1afc2e35904c68c6c01bd52ba0baa099c85e3 100644 --- a/src/utils.h +++ b/src/utils.h @@ -13,9 +13,11 @@ class QDir; namespace utils { -bool parseConfig(QList<QPair<QString,QString>>& parsedCameras); +bool parseConfig(QList<QPair<QString,QString>>&); QString configFile(QString filename=""); QString settingsFile(QString filename=""); +QString getFirstFileInAppDirEndingWith( QString const&); + const QStringList getVersions(); const QString getVersion();