24 #include <QtCore/QCoreApplication>
25 #include <QtCore/QDir>
26 #include <QtGui/QIcon>
27 #include <QtQml/QQmlEngine>
28 #include <QStandardPaths>
30 inline bool isRunningInstalled() {
31 static bool installed = (QCoreApplication::applicationDirPath() ==
32 QDir((
"/usr/bin")).canonicalPath());
36 inline QString translationDirectory() {
37 if (isRunningInstalled()) {
38 return QString(
"/usr/share/locale");
40 return QString(
"/build/buildd/unity8-8.02+15.04.20150320/obj-x86_64-linux-gnu/po/locale");
44 inline QString qmlDirectory() {
45 if (isRunningInstalled()) {
46 return QString(
"/usr/share/unity8/");
48 return QString(
"/build/buildd/unity8-8.02+15.04.20150320/qml/");
52 inline QStringList overrideImportPaths() {
54 if (!isRunningInstalled()) {
55 paths << QString(
"/build/buildd/unity8-8.02+15.04.20150320/obj-x86_64-linux-gnu/plugins");
60 inline QStringList nonMirImportPaths() {
62 if (isRunningInstalled()) {
63 paths << QString(
"/usr/lib/x86_64-linux-gnu/unity8/qml/nonmirplugins");
65 paths << QString(
"/build/buildd/unity8-8.02+15.04.20150320/obj-x86_64-linux-gnu/nonmirplugins");
70 inline QStringList fallbackImportPaths() {
72 if (isRunningInstalled()) {
73 paths << QString(
"/usr/lib/x86_64-linux-gnu/unity8/qml");
74 paths << QString(
"/usr/lib/x86_64-linux-gnu/ubuntu-system-settings/private");
75 paths << QString(
"/usr/lib/x86_64-linux-gnu/unity8/qml");
76 paths << QString(
"/usr/lib/x86_64-linux-gnu/unity8/qml/mocks");
78 paths << QString(
"/usr/lib/x86_64-linux-gnu/ubuntu-system-settings/private");
79 paths << QString(
"/usr/lib/x86_64-linux-gnu/unity8/qml");
80 paths << QString(
"/build/buildd/unity8-8.02+15.04.20150320/obj-x86_64-linux-gnu/tests/mocks");
85 inline QString mockPluginsDir() {
86 if (isRunningInstalled()) {
87 return QString(
"/usr/lib/x86_64-linux-gnu/unity8/qml/mocks");
89 return QString(
"/build/buildd/unity8-8.02+15.04.20150320/obj-x86_64-linux-gnu/tests/mocks");
93 inline QStringList shellDataDirs() {
94 QStringList dirs = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
95 if (!isRunningInstalled()) {
96 if (getenv(
"UNITY_TEST_ENV")==
nullptr) {
97 dirs.prepend(
"/build/buildd/unity8-8.02+15.04.20150320/obj-x86_64-linux-gnu/share");
102 dirs.append(qmlDirectory());
107 inline QString sourceDirectory() {
108 return QString(
"/build/buildd/unity8-8.02+15.04.20150320/");
111 inline void prependImportPaths(QQmlEngine *engine,
const QStringList &paths)
113 QStringList importPathList = engine->importPathList();
114 for (
int i = paths.count() -1; i >= 0; i--) {
116 const QString& path = paths[i];
117 QStringList::iterator iter = qFind(importPathList.begin(), importPathList.end(), path);
118 if (iter == importPathList.end()) {
119 engine->addImportPath(path);
127 inline void appendImportPaths(QQmlEngine *engine,
const QStringList &paths)
129 QStringList importPathList = engine->importPathList();
130 Q_FOREACH(
const QString& path, paths) {
132 QStringList::iterator iter = qFind(importPathList.begin(), importPathList.end(), path);
133 if (iter == importPathList.end()) {
134 importPathList.append(path);
137 engine->setImportPathList(importPathList);