diff options
Diffstat (limited to 'src/libs/installer/environmentvariablesoperation.cpp')
-rw-r--r-- | src/libs/installer/environmentvariablesoperation.cpp | 32 |
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 ®Path, 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 ®Path, 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 ®Path, 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(); -} |