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.00+14.10.20141006/obj-i686-linux-gnu/po/locale");
44 inline QString qmlDirectory() {
45 if (isRunningInstalled()) {
46 return QString(
"/usr/share/unity8/");
48 return QString(
"/build/buildd/unity8-8.00+14.10.20141006/qml/");
52 inline QStringList overrideImportPaths() {
54 if (!isRunningInstalled()) {
55 paths << QString(
"/build/buildd/unity8-8.00+14.10.20141006/obj-i686-linux-gnu/plugins");
60 inline QStringList nonMirImportPaths() {
62 if (isRunningInstalled()) {
63 paths << QString(
"/usr/lib/i386-linux-gnu/unity8/qml/nonmirplugins");
65 paths << QString(
"/build/buildd/unity8-8.00+14.10.20141006/obj-i686-linux-gnu/nonmirplugins");
70 inline QStringList fallbackImportPaths() {
72 if (isRunningInstalled()) {
73 paths << QString(
"/usr/lib/i386-linux-gnu/unity8/qml");
74 paths << QString(
"/usr/lib/i386-linux-gnu/unity8/qml");
75 paths << QString(
"/usr/lib/i386-linux-gnu/unity8/qml/mocks");
77 paths << QString(
"/usr/lib/i386-linux-gnu/unity8/qml");
78 paths << QString(
"/build/buildd/unity8-8.00+14.10.20141006/obj-i686-linux-gnu/tests/mocks");
83 inline QString mockPluginsDir() {
84 if (isRunningInstalled()) {
85 return QString(
"/usr/lib/i386-linux-gnu/unity8/qml/mocks");
87 return QString(
"/build/buildd/unity8-8.00+14.10.20141006/obj-i686-linux-gnu/tests/mocks");
91 inline QStringList shellDataDirs() {
92 QStringList dirs = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
93 if (!isRunningInstalled()) {
94 if (getenv(
"UNITY_TEST_ENV")==
nullptr) {
95 dirs.prepend(
"/build/buildd/unity8-8.00+14.10.20141006/obj-i686-linux-gnu/share");
100 dirs.append(qmlDirectory());
105 inline QString sourceDirectory() {
106 return QString(
"/build/buildd/unity8-8.00+14.10.20141006/");
109 inline void prependImportPaths(QQmlEngine *engine,
const QStringList &paths)
111 QStringList importPathList = engine->importPathList();
112 for (
int i = paths.count() -1; i >= 0; i--) {
114 const QString& path = paths[i];
115 QStringList::iterator iter = qFind(importPathList.begin(), importPathList.end(), path);
116 if (iter == importPathList.end()) {
117 engine->addImportPath(path);
125 inline void appendImportPaths(QQmlEngine *engine,
const QStringList &paths)
127 QStringList importPathList = engine->importPathList();
128 Q_FOREACH(
const QString& path, paths) {
130 QStringList::iterator iter = qFind(importPathList.begin(), importPathList.end(), path);
131 if (iter == importPathList.end()) {
132 importPathList.append(path);
135 engine->setImportPathList(importPathList);