summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/assistant/tools/assistant/main.cpp9
-rw-r--r--tools/assistant/tools/qcollectiongenerator/main.cpp10
2 files changed, 16 insertions, 3 deletions
diff --git a/tools/assistant/tools/assistant/main.cpp b/tools/assistant/tools/assistant/main.cpp
index 1b3a5f9..a5a9ef5 100644
--- a/tools/assistant/tools/assistant/main.cpp
+++ b/tools/assistant/tools/assistant/main.cpp
@@ -293,9 +293,14 @@ int main(int argc, char *argv[])
}
QString fileName = QFileInfo(cmdCollectionFile).fileName();
- QString dir = MainWindow::collectionFileDirectory(false,
+ const QString &cacheDir =
caller.customValue(QLatin1String("CacheDirectory"),
- QString()).toString());
+ QString()).toString();
+ const QString dir = !cacheDir.isEmpty()
+ && caller.customValue(QLatin1String("CacheDirRelativeToCollection")).toBool()
+ ? QFileInfo(cmdCollectionFile).dir().absolutePath()
+ + QDir::separator() + cacheDir
+ : MainWindow::collectionFileDirectory(false, cacheDir);
bool collectionFileExists = true;
QFileInfo fi(dir + QDir::separator() + fileName);
diff --git a/tools/assistant/tools/qcollectiongenerator/main.cpp b/tools/assistant/tools/qcollectiongenerator/main.cpp
index a2df6ab..a92cc56 100644
--- a/tools/assistant/tools/qcollectiongenerator/main.cpp
+++ b/tools/assistant/tools/qcollectiongenerator/main.cpp
@@ -87,6 +87,7 @@ public:
QStringList filesToRegister() const { return m_filesToRegister; }
QString cacheDirectory() const { return m_cacheDirectory; }
+ bool cacheDirRelativeToCollection() const { return m_cacheDirRelativeToCollection; }
private:
void raiseErrorWithLine();
@@ -115,6 +116,7 @@ private:
QMap<QString, QString> m_filesToGenerate;
QStringList m_filesToRegister;
QString m_cacheDirectory;
+ bool m_cacheDirRelativeToCollection;
};
void CollectionConfigReader::raiseErrorWithLine()
@@ -198,6 +200,9 @@ void CollectionConfigReader::readAssistantSettings()
} else if (name() == QLatin1String("aboutDialog")) {
readAboutDialog();
} else if (name() == "cacheDirectory") {
+ m_cacheDirRelativeToCollection =
+ attributes().value(QLatin1String("base"))
+ == QLatin1String("collection");
m_cacheDirectory = readElementText();
} else {
raiseErrorWithLine();
@@ -461,8 +466,11 @@ int main(int argc, char *argv[])
if (!config.currentFilter().isEmpty())
helpEngine.setCustomValue(QLatin1String("CurrentFilter"), config.currentFilter());
- if (!config.cacheDirectory().isEmpty())
+ if (!config.cacheDirectory().isEmpty()) {
helpEngine.setCustomValue(QLatin1String("CacheDirectory"), config.cacheDirectory());
+ helpEngine.setCustomValue(QLatin1String("CacheDirRelativeToCollection"),
+ config.cacheDirRelativeToCollection());
+ }
helpEngine.setCustomValue(QLatin1String("EnableFilterFunctionality"),
config.enableFilterFunctionality());