From 5049bac6ff91d21d27e27a121aa8739159079de4 Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Tue, 23 Jan 2018 12:25:22 -0800 Subject: [PATCH] Add helper function for QFileSelector --- libraries/shared/src/shared/FileUtils.cpp | 12 +++++++++++- libraries/shared/src/shared/FileUtils.h | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/libraries/shared/src/shared/FileUtils.cpp b/libraries/shared/src/shared/FileUtils.cpp index 7b88321e99..9bdd65bf11 100644 --- a/libraries/shared/src/shared/FileUtils.cpp +++ b/libraries/shared/src/shared/FileUtils.cpp @@ -38,6 +38,16 @@ const QStringList& FileUtils::getFileSelectors() { } +QString FileUtils::selectFile(const QString& path) { + QFileSelector fileSelector; + fileSelector.setExtraSelectors(FileUtils::getFileSelectors()); + QString result = fileSelector.select(path); + if (path != result) { + qDebug() << "Using" << result << "instead of" << path; + } + return result; +} + QString FileUtils::readFile(const QString& filename) { QFile file(filename); @@ -51,7 +61,7 @@ QStringList FileUtils::readLines(const QString& filename, QString::SplitBehavior return readFile(filename).split(QRegularExpression("[\\r\\n]"), QString::SkipEmptyParts); } -void FileUtils::locateFile(QString filePath) { +void FileUtils::locateFile(const QString& filePath) { // adapted from // http://stackoverflow.com/questions/3490336/how-to-reveal-in-finder-or-show-in-explorer-with-qt diff --git a/libraries/shared/src/shared/FileUtils.h b/libraries/shared/src/shared/FileUtils.h index 9a5e2d5aba..2f5e11f005 100644 --- a/libraries/shared/src/shared/FileUtils.h +++ b/libraries/shared/src/shared/FileUtils.h @@ -18,7 +18,8 @@ class FileUtils { public: static const QStringList& getFileSelectors(); - static void locateFile(QString fileName); + static QString selectFile(const QString& fileName); + static void locateFile(const QString& fileName); static QString standardPath(QString subfolder); static QString readFile(const QString& filename); static QStringList readLines(const QString& filename, QString::SplitBehavior splitBehavior = QString::KeepEmptyParts);