bool CreateLinkOperation::undoOperation() { QStringList args = arguments(); const QString& linkPath = args.at(0); const QString& targetPath = args.at(1); Link link = Link(linkPath); if (!link.exists()) { return true; } if (!link.remove()) { setError(UserDefinedError); setErrorString(QObject::tr("Could not remove link from %1 to %2.").arg(linkPath, targetPath)); return false; } return !QFileInfo(linkPath).exists(); }
bool CreateLinkOperation::performOperation() { QStringList args = arguments(); if (args.count() != 2) { setError(InvalidArguments); setErrorString(tr("Invalid arguments in %0: %1 arguments given, %2 expected%3.") .arg(name()).arg(arguments().count()).arg(tr("exactly 2"), QLatin1String(""))); return false; } const QString& linkPath = args.at(0); const QString& targetPath = args.at(1); Link link = Link::create(linkPath, targetPath); if (!link.exists()) { setError(UserDefinedError); setErrorString(QObject::tr("Could not create link from %1 to %2.").arg(linkPath, targetPath)); return false; } return true; }