summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/linereplaceoperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/linereplaceoperation.cpp')
-rw-r--r--src/libs/installer/linereplaceoperation.cpp24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/libs/installer/linereplaceoperation.cpp b/src/libs/installer/linereplaceoperation.cpp
index 670ebbd63..1a3d2c670 100644
--- a/src/libs/installer/linereplaceoperation.cpp
+++ b/src/libs/installer/linereplaceoperation.cpp
@@ -39,7 +39,8 @@
using namespace QInstaller;
-LineReplaceOperation::LineReplaceOperation()
+LineReplaceOperation::LineReplaceOperation(PackageManagerCore *core)
+ : UpdateOperation(core)
{
setName(QLatin1String("LineReplace"));
}
@@ -50,18 +51,14 @@ void LineReplaceOperation::backup()
bool LineReplaceOperation::performOperation()
{
- const QStringList args = arguments();
-
// Arguments:
// 1. filename
// 2. startsWith Search-String
// 3. Replace-Line-String
- if (args.count() != 3) {
- setError(InvalidArguments);
- setErrorString(tr("Invalid arguments in %0: %1 arguments given, %2 expected%3.")
- .arg(name()).arg(arguments().count()).arg(tr("exactly 3"), QLatin1String("")));
+ if (!checkArgumentCount(3))
return false;
- }
+
+ const QStringList args = arguments();
const QString fileName = args.at(0);
const QString searchString = args.at(1);
const QString replaceString = args.at(2);
@@ -69,7 +66,8 @@ bool LineReplaceOperation::performOperation()
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
setError(UserDefinedError);
- setErrorString(tr("Failed to open '%1' for reading.").arg(fileName));
+ setErrorString(tr("Cannot open file \"%1\" for reading: %2").arg(
+ QDir::toNativeSeparators(fileName), file.errorString()));
return false;
}
@@ -86,7 +84,8 @@ bool LineReplaceOperation::performOperation()
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
setError(UserDefinedError);
- setErrorString(tr("Failed to open '%1' for writing.").arg(fileName));
+ setErrorString(tr("Cannot open file \"%1\" for writing: %2").arg(
+ QDir::toNativeSeparators(fileName), file.errorString()));
return false;
}
@@ -106,8 +105,3 @@ bool LineReplaceOperation::testOperation()
{
return true;
}
-
-Operation *LineReplaceOperation::clone() const
-{
- return new LineReplaceOperation();
-}