summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/registerdefaultdebuggeroperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/registerdefaultdebuggeroperation.cpp')
-rw-r--r--src/libs/installer/registerdefaultdebuggeroperation.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/libs/installer/registerdefaultdebuggeroperation.cpp b/src/libs/installer/registerdefaultdebuggeroperation.cpp
index 2cdb4e6bc..3b8c97250 100644
--- a/src/libs/installer/registerdefaultdebuggeroperation.cpp
+++ b/src/libs/installer/registerdefaultdebuggeroperation.cpp
@@ -32,7 +32,6 @@
#include "registerdefaultdebuggeroperation.h"
-#include "constants.h"
#include "persistentsettings.h"
#include "packagemanagercore.h"
#include "qtcreator_constants.h"
@@ -95,8 +94,13 @@ bool RegisterDefaultDebuggerOperation::performOperation()
setErrorString(tr("Needed installer object in \"%1\" operation is empty.").arg(name()));
return false;
}
- const QString &rootInstallPath = core->value(scTargetDir);
- toolChainsXmlFilePath = rootInstallPath + QLatin1String(ToolChainSettingsSuffixPath);
+ if (core->value(scQtCreatorInstallerToolchainsFile).isEmpty()) {
+ setError(UserDefinedError);
+ setErrorString(tr("There is no value set for %1 on the installer object.").arg(
+ scQtCreatorInstallerToolchainsFile));
+ return false;
+ }
+ toolChainsXmlFilePath = core->value(scQtCreatorInstallerToolchainsFile);
int argCounter = 0;
const QString &abiString = args.at(argCounter++); //for example x86-windows-msys-pe-32bit
@@ -126,16 +130,23 @@ bool RegisterDefaultDebuggerOperation::undoOperation()
return false;
}
- QString toolChainsXmlFilePath;
-
PackageManagerCore *const core = qVariantValue<PackageManagerCore *>(value(QLatin1String("installer")));
if (!core) {
setError(UserDefinedError);
setErrorString(tr("Needed installer object in \"%1\" operation is empty.").arg(name()));
return false;
}
- const QString &rootInstallPath = core->value(scTargetDir);
- toolChainsXmlFilePath = rootInstallPath + QLatin1String(ToolChainSettingsSuffixPath);
+
+ // default value is the old value to keep the possibility that old saved operations can run undo
+#ifdef Q_OS_MAC
+ QString toolChainsXmlFilePath = core->value(scQtCreatorInstallerToolchainsFile,
+ QString::fromLatin1("%1/Qt Creator.app/Contents/Resources/Nokia/toolChains.xml").arg(
+ core->value(QLatin1String("TargetDir"))));
+#else
+ QString toolChainsXmlFilePath = core->value(scQtCreatorInstallerToolchainsFile,
+ QString::fromLatin1("%1/QtCreator/share/qtcreator/Nokia/toolChains.xml").arg(core->value(
+ QLatin1String("TargetDir"))));
+#endif
int argCounter = 0;
const QString &abiString = args.at(argCounter++); //for example x86-windows-msys-pe-32bit