12 #ifndef hifi_PathUtils_h
13 #define hifi_PathUtils_h
15 #include <QtCore/QObject>
16 #include <QtCore/QUrl>
17 #include <QtCore/QDir>
19 #include "DependencyManager.h"
35 class PathUtils :
public QObject,
public Dependency {
38 Q_PROPERTY(QString resources READ resourcesPath CONSTANT)
39 Q_PROPERTY(QUrl defaultScripts READ defaultScriptsLocation CONSTANT)
41 static const QString& getRccPath();
42 static const QString& resourcesUrl();
43 static QUrl resourcesUrl(
const QString& relative);
44 static const QString& resourcesPath();
45 static const QString& qmlBaseUrl();
46 static QUrl expandToLocalDataAbsolutePath(
const QUrl& fileUrl);
47 static QUrl qmlUrl(
const QString& relative);
49 static const QString& projectRootPath();
52 static QString getAppDataPath();
53 static QString getAppLocalDataPath();
55 static QString getAppDataFilePath(
const QString& filename);
56 static QString getAppLocalDataFilePath(
const QString& filename);
58 static QString generateTemporaryDir();
59 static bool deleteMyTemporaryDir(QString dirName);
61 static int removeTemporaryApplicationDirs(QString appName = QString());
63 static Qt::CaseSensitivity getFSCaseSensitivity();
64 static QString stripFilename(
const QUrl& url);
66 static bool isDescendantOf(
const QUrl& childURL,
const QUrl& parentURL);
67 static QUrl defaultScriptsLocation(
const QString& newDefault =
"");
70 QString fileNameWithoutExtension(
const QString& fileName,
const QVector<QString> possibleExtensions);
71 QString findMostRecentFileExtension(
const QString& originalFileName, QVector<QString> possibleExtensions);