summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/environmentvariablesoperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/environmentvariablesoperation.cpp')
-rw-r--r--src/libs/installer/environmentvariablesoperation.cpp32
1 files changed, 11 insertions, 21 deletions
diff --git a/src/libs/installer/environmentvariablesoperation.cpp b/src/libs/installer/environmentvariablesoperation.cpp
index 00444f870..b80951d2b 100644
--- a/src/libs/installer/environmentvariablesoperation.cpp
+++ b/src/libs/installer/environmentvariablesoperation.cpp
@@ -40,7 +40,8 @@
using namespace QInstaller;
using namespace KDUpdater;
-EnvironmentVariableOperation::EnvironmentVariableOperation()
+EnvironmentVariableOperation::EnvironmentVariableOperation(PackageManagerCore *core)
+ : UpdateOperation(core)
{
setName(QLatin1String("EnvironmentVariable"));
}
@@ -74,7 +75,7 @@ UpdateOperation::Error writeSetting(const QString &regPath,
oldValue->clear();
SettingsType registry(regPath, QSettingsWrapper::NativeFormat);
if (!registry.isWritable()) {
- *errorString = UpdateOperation::tr("Registry path %1 is not writable").arg(regPath);
+ *errorString = UpdateOperation::tr("Registry path %1 is not writable.").arg(regPath);
return UpdateOperation::UserDefinedError;
}
@@ -86,7 +87,7 @@ UpdateOperation::Error writeSetting(const QString &regPath,
registry.sync();
if (registry.status() != QSettingsWrapper::NoError) {
- *errorString = UpdateOperation::tr("Could not write to registry path %1").arg(regPath);
+ *errorString = UpdateOperation::tr("Cannot write to registry path %1.").arg(regPath);
return UpdateOperation::UserDefinedError;
}
@@ -115,21 +116,16 @@ UpdateOperation::Error undoSetting(const QString &regPath,
bool EnvironmentVariableOperation::performOperation()
{
- QStringList args = arguments();
- if (args.count() < 2 || args.count() > 4) {
- setError(InvalidArguments);
- setErrorString(tr("Invalid arguments in %0: %1 arguments given, %2 expected%3.")
- .arg(name()).arg(arguments().count()).arg(tr("2 to 4"), QLatin1String("")));
+ if (!checkArgumentCount(2, 4))
return false;
- }
- const QString name = arguments().at(0);
- const QString value = arguments().at(1);
- bool isPersistent = false;
+ const QStringList args = arguments();
+ const QString name = args.at(0);
+ const QString value = args.at(1);
#ifdef Q_OS_WIN
- isPersistent = arguments().count() >= 3 ? arguments().at(2) == QLatin1String("true") : true;
- const bool isSystemWide = arguments().count() >= 4 ? arguments().at(3) == QLatin1String("true") : false;
+ const bool isPersistent = arguments().count() > 2 ? arguments().at(2) == QLatin1String("true") : true;
+ const bool isSystemWide = arguments().count() > 3 ? arguments().at(3) == QLatin1String("true") : false;
QString oldvalue;
if (isPersistent) {
const QString regPath = isSystemWide ? QLatin1String("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet"
@@ -152,9 +148,8 @@ bool EnvironmentVariableOperation::performOperation()
setValue(QLatin1String("oldvalue"), oldvalue);
return true;
}
-#endif
Q_ASSERT(!isPersistent);
- Q_UNUSED(isPersistent)
+#endif
setValue(QLatin1String("oldvalue"), Environment::instance().value(name));
Environment::instance().setTemporaryValue(name, value);
@@ -209,8 +204,3 @@ bool EnvironmentVariableOperation::testOperation()
{
return true;
}
-
-Operation *EnvironmentVariableOperation::clone() const
-{
- return new EnvironmentVariableOperation();
-}