summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/setqtcreatorvalueoperation.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@nokia.com>2012-05-16 12:11:25 +0200
committerTim Jenssen <tim.jenssen@nokia.com>2012-05-16 13:21:08 +0200
commitdfc9887310118de98146f1a7282198f89fae8c18 (patch)
tree3fe785db1287863e041e35ffa6258cbd3e191124 /src/libs/installer/setqtcreatorvalueoperation.cpp
parent089fb8b740d0d56522e5def0af93a10eaa6abddc (diff)
now the qt creator releated locations are more flexible
- tried to remove or move Qt/Qt Creator related things from the core classes Change-Id: I168ae3c56785e389ac34b761be98a7782a683de7 Reviewed-by: Karsten Heimrich <karsten.heimrich@nokia.com> Reviewed-by: Niels Weber <niels.2.weber@nokia.com>
Diffstat (limited to 'src/libs/installer/setqtcreatorvalueoperation.cpp')
-rw-r--r--src/libs/installer/setqtcreatorvalueoperation.cpp39
1 files changed, 37 insertions, 2 deletions
diff --git a/src/libs/installer/setqtcreatorvalueoperation.cpp b/src/libs/installer/setqtcreatorvalueoperation.cpp
index a63c46e58..dc5e6fd0a 100644
--- a/src/libs/installer/setqtcreatorvalueoperation.cpp
+++ b/src/libs/installer/setqtcreatorvalueoperation.cpp
@@ -37,6 +37,7 @@
#include "packagemanagercore.h"
#include <QtCore/QSettings>
+#include <QDebug>
using namespace QInstaller;
@@ -65,13 +66,30 @@ bool SetQtCreatorValueOperation::performOperation()
return false;
}
+ 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 = args.at(0); //for example "C:\\Nokia_SDK\\"
+ if (!rootInstallPath.isEmpty()) {
+ qWarning() << QString::fromLatin1("Because of internal changes the first argument(\"%1\") on %2 "\
+ "operation is just ignored, please be aware of that").arg(rootInstallPath, name());
+ }
const QString &group = groupName(args.at(1));
const QString &key = args.at(2);
const QString &settingsValue = args.at(3);
{
- QSettings settings(rootInstallPath + QLatin1String(QtCreatorSettingsSuffixPath), QSettings::IniFormat);
+ if (core->value(scQtCreatorInstallerSettingsFile).isEmpty()) {
+ setError(UserDefinedError);
+ setErrorString(tr("There is no value set for %1 on the installer object.").arg(
+ scQtCreatorInstallerSettingsFile));
+ return false;
+ }
+ QSettings settings(core->value(scQtCreatorInstallerSettingsFile), QSettings::IniFormat);
if (!group.isEmpty())
settings.beginGroup(group);
@@ -110,11 +128,28 @@ bool SetQtCreatorValueOperation::undoOperation()
const QStringList args = arguments();
const QString &rootInstallPath = args.at(0); //for example "C:\\Nokia_SDK\\"
+ if (!rootInstallPath.isEmpty()) {
+ qWarning() << QString::fromLatin1("Because of internal changes the first argument(\"%1\") on %2 "\
+ "operation is just ignored, please be aware of that").arg(rootInstallPath, name());
+ }
const QString &group = groupName(args.at(1));
const QString &key = args.at(2);
- QSettings settings(rootInstallPath + QLatin1String(QtCreatorSettingsSuffixPath), QSettings::IniFormat);
+ 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;
+ }
+
+ if (core->value(scQtCreatorInstallerSettingsFile).isEmpty()) {
+ setError(UserDefinedError);
+ setErrorString(tr("There is no value set for %1 on the installer object.").arg(
+ scQtCreatorInstallerSettingsFile));
+ return false;
+ }
+ QSettings settings(core->value(scQtCreatorInstallerSettingsFile), QSettings::IniFormat);
if (!group.isEmpty())
settings.beginGroup(group);