From 5f4612dd07362c6da07e4ba3d7ffe4133b26043b Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 5 Oct 2022 11:05:19 +0200 Subject: [PATCH] Squish: Fix handling of object map Fix resolving the path to the object map and if no object map exists yet create it. As on it fix a typo inside the writing of the file. Change-Id: I832a2f71bbf5c5d4947e3edba8f79a00a3b6a536 Reviewed-by: David Schulz Reviewed-by: --- src/plugins/squish/objectsmapdocument.cpp | 2 +- src/plugins/squish/squishfilehandler.cpp | 16 +++++++++------- src/plugins/squish/suiteconf.cpp | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/plugins/squish/objectsmapdocument.cpp b/src/plugins/squish/objectsmapdocument.cpp index 31958ba3003..32d0804efa2 100644 --- a/src/plugins/squish/objectsmapdocument.cpp +++ b/src/plugins/squish/objectsmapdocument.cpp @@ -226,7 +226,7 @@ Core::IDocument::OpenResult ObjectsMapDocument::openImpl(QString *error, bool ObjectsMapDocument::writeFile(const Utils::FilePath &fileName) const { - if (fileName.endsWith("object.map")) { + if (fileName.endsWith("objects.map")) { Utils::FileSaver saver(fileName); return saver.write(contents()) && saver.finalize(); } diff --git a/src/plugins/squish/squishfilehandler.cpp b/src/plugins/squish/squishfilehandler.cpp index 4bfe8eea299..99ee316bf2b 100644 --- a/src/plugins/squish/squishfilehandler.cpp +++ b/src/plugins/squish/squishfilehandler.cpp @@ -465,13 +465,15 @@ void SquishFileHandler::openObjectsMap(const QString &suiteName) const SuiteConf conf = SuiteConf::readSuiteConf(m_suites.value(suiteName)); const Utils::FilePath objectsMapPath = conf.objectMapPath(); - if (objectsMapPath.exists()) { - if (!Core::EditorManager::openEditor(objectsMapPath, Constants::OBJECTSMAP_EDITOR_ID)) { - QMessageBox::critical(Core::ICore::dialogParent(), - Tr::tr("Error"), - Tr::tr("Failed to open objects.map file at \"%1\".") - .arg(objectsMapPath.toUserOutput())); - } + QTC_ASSERT(!objectsMapPath.isEmpty(), return); + + QTC_ASSERT(conf.ensureObjectMapExists(), return); + + if (!Core::EditorManager::openEditor(objectsMapPath, Constants::OBJECTSMAP_EDITOR_ID)) { + QMessageBox::critical(Core::ICore::dialogParent(), + Tr::tr("Error"), + Tr::tr("Failed to open objects.map file at \"%1\".") + .arg(objectsMapPath.toUserOutput())); } } diff --git a/src/plugins/squish/suiteconf.cpp b/src/plugins/squish/suiteconf.cpp index d1a97e0847a..787f14698ea 100644 --- a/src/plugins/squish/suiteconf.cpp +++ b/src/plugins/squish/suiteconf.cpp @@ -189,7 +189,7 @@ Utils::FilePath SuiteConf::objectMapPath() const if (m_objectMapStyle == "script") return suiteDir.resolvePath("shared/scripts/names" + scriptExtension()); - return suiteDir.resolvePath(m_objectMap); + return suiteDir.resolvePath(m_objectMap.isEmpty() ? QString{"objects.map"} : m_objectMap); } QString SuiteConf::scriptExtension() const