From b96112479788a9893eb2e908e922a4f6963006d6 Mon Sep 17 00:00:00 2001 From: ck Date: Wed, 18 Nov 2009 15:11:01 +0100 Subject: Assistant: Cache directory can be given relative to collection file. Task-number: QT-2286 Reviewed-by: kh1 --- tools/assistant/tools/assistant/main.cpp | 9 +++++++-- tools/assistant/tools/qcollectiongenerator/main.cpp | 10 +++++++++- 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 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()); -- cgit v0.12