summaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@theqtcompany.com>2015-02-20 15:13:19 +0100
committerKai Koehne <kai.koehne@theqtcompany.com>2015-02-23 08:41:19 +0000
commit356e73abeb03a79e784c7cced635ac524674e1fa (patch)
tree45755d2af5f582ef7372f36edfcf7e4ddbbbceb4 /src/libs
parentd5deffdeb7d48d49f8fa9ae2ad1d07675c904ba5 (diff)
Remove orphaned file
The file was supposed to be deleted in 6a38cb8df826216b7d already. Change-Id: I97b166bdc5707f683091065fd8ef47ab8b4cf038 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/installer/qtpatchoperation.cpp530
1 files changed, 0 insertions, 530 deletions
diff --git a/src/libs/installer/qtpatchoperation.cpp b/src/libs/installer/qtpatchoperation.cpp
deleted file mode 100644
index 1c9a2583c..000000000
--- a/src/libs/installer/qtpatchoperation.cpp
+++ /dev/null
@@ -1,530 +0,0 @@
-/**************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Installer Framework.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** As a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-**
-** $QT_END_LICENSE$
-**
-**************************************************************************/
-
-#include "qtpatchoperation.h"
-#include "qtpatch.h"
-#ifdef Q_OS_OSX
-#include "macreplaceinstallnamesoperation.h"
-#endif
-
-#include "packagemanagercore.h"
-
-#include <QSet>
-#include <QFile>
-#include <QTextStream>
-#include <QDir>
-#include <QDirIterator>
-#include <QtCore/QDebug>
-
-using namespace QInstaller;
-
-static QHash<QByteArray, QByteArray> generatePatchValueHash(const QByteArray &newQtPath,
- const QHash<QString, QByteArray> &qmakeValueHash, const QString &type)
-{
- QHash<QByteArray, QByteArray> replaceHash; //first == searchstring: second == replace string
- char nativeSeperator = QDir::separator().toLatin1();
- QByteArray oldValue;
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_PREFIX"));
- replaceHash.insert(QByteArray("qt_prfxpath=%1").replace("%1", oldValue),
- QByteArray("qt_prfxpath=%1/").replace("%1/", newQtPath));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_ARCHDATA"));
- replaceHash.insert(QByteArray("qt_adatpath=%1").replace("%1", oldValue),
- QByteArray("qt_adatpath=%1/").replace("%1/", newQtPath));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_DOCS"));
- replaceHash.insert(QByteArray("qt_docspath=%1").replace("%1", oldValue),
- QByteArray("qt_docspath=%1/doc").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_HEADERS"));
- replaceHash.insert(QByteArray("qt_hdrspath=%1").replace("%1", oldValue),
- QByteArray("qt_hdrspath=%1/include").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_LIBS"));
- replaceHash.insert(QByteArray("qt_libspath=%1").replace("%1", oldValue),
- QByteArray("qt_libspath=%1/lib").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_LIBEXECS"));
- if (type == QLatin1String("windows")) {
- replaceHash.insert(QByteArray("qt_lbexpath=%1").replace("%1", oldValue),
- QByteArray("qt_lbexpath=%1/bin").replace("%1/",
- newQtPath + nativeSeperator));
- } else {
- replaceHash.insert(QByteArray("qt_lbexpath=%1").replace("%1", oldValue),
- QByteArray("qt_lbexpath=%1/libexec").replace("%1/",
- newQtPath + nativeSeperator));
- }
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_BINS"));
- replaceHash.insert(QByteArray("qt_binspath=%1").replace("%1", oldValue),
- QByteArray("qt_binspath=%1/bin").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_PLUGINS"));
- replaceHash.insert(QByteArray("qt_plugpath=%1").replace("%1", oldValue),
- QByteArray("qt_plugpath=%1/plugins").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_IMPORTS"));
- replaceHash.insert(QByteArray("qt_impspath=%1").replace("%1", oldValue),
- QByteArray("qt_impspath=%1/imports").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_QML"));
- replaceHash.insert(QByteArray("qt_qml2path=%1").replace("%1", oldValue),
- QByteArray("qt_qml2path=%1/qml").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_DATA"));
- replaceHash.insert( QByteArray("qt_datapath=%1").replace("%1", oldValue),
- QByteArray("qt_datapath=%1/").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_TRANSLATIONS"));
- replaceHash.insert( QByteArray("qt_trnspath=%1").replace("%1", oldValue),
- QByteArray("qt_trnspath=%1/translations").replace("%1/", newQtPath + nativeSeperator));
-
- // This must not be patched!
- // On desktop there should be a correct default path (for example "/etc/xdg"),
- // but on some other targets you need to use "-sysconfdir </your/default/config/path"
- // while building Qt to get a correct QT_INSTALL_CONFIGURATION value
- // oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_CONFIGURATION"));
- // replaceMap.insert( QByteArray("qt_stngpath=%1").replace("%1", oldValue),
- // QByteArray("qt_stngpath=%1").replace("%1", newQtPath));
-
- //examples and demos can patched outside separately,
- //but for cosmetic reasons - if the qt version gets no examples later.
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_EXAMPLES"));
- replaceHash.insert( QByteArray("qt_xmplpath=%1").replace("%1", oldValue),
- QByteArray("qt_xmplpath=%1/examples").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_DEMOS"));
- replaceHash.insert( QByteArray("qt_demopath=%1").replace("%1", oldValue),
- QByteArray("qt_demopath=%1/demos").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_INSTALL_TESTS"));
- replaceHash.insert(QByteArray("qt_tstspath=%1").replace("%1", oldValue),
- QByteArray("qt_tstspath=%1/tests").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_HOST_PREFIX"));
- replaceHash.insert(QByteArray("qt_hpfxpath=%1").replace("%1", oldValue),
- QByteArray("qt_hpfxpath=%1/").replace("%1/", newQtPath));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_HOST_BINS"));
- replaceHash.insert( QByteArray("qt_hbinpath=%1").replace("%1", oldValue),
- QByteArray("qt_hbinpath=%1/bin").replace("%1/", newQtPath + nativeSeperator));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_HOST_DATA"));
- replaceHash.insert(QByteArray("qt_hdatpath=%1").replace("%1", oldValue),
- QByteArray("qt_hdatpath=%1/").replace("%1/", newQtPath));
-
- oldValue = qmakeValueHash.value(QLatin1String("QT_HOST_LIBS"));
- replaceHash.insert(QByteArray("qt_hlibpath=%1").replace("%1", oldValue),
- QByteArray("qt_hlibpath=%1/lib").replace("%1/", newQtPath + nativeSeperator));
-
- return replaceHash;
-}
-
-QtPatchOperation::QtPatchOperation()
-{
- setName(QLatin1String("QtPatch"));
-}
-
-void QtPatchOperation::backup()
-{
-}
-
-bool QtPatchOperation::performOperation()
-{
- // Arguments:
- // 1. type
- // 2. new/target qtpath
- // 3. version if greather Qt4
- // optional QmakeOutputInstallerKey=<used_installer_value>
-
- // the possible 2 argument case is here to support old syntax
- if (arguments().count() < 2 && arguments().count() > 4) {
- setError(InvalidArguments);
- setErrorString(tr("Invalid arguments in %0: %1 arguments given, %2 expected%3.")
- .arg(name()).arg(arguments().count()).arg(tr("3 or 4"), QLatin1String("")));
- return false;
- }
-
- QStringList args = arguments();
- QString qmakeOutputInstallerKey;
- QStringList filteredQmakeOutputInstallerKey = args.filter(QLatin1String("QmakeOutputInstallerKey="),
- Qt::CaseInsensitive);
- PackageManagerCore *const core = value(QLatin1String("installer")).value<PackageManagerCore*>();
- if (!filteredQmakeOutputInstallerKey.isEmpty()) {
- if (!core) {
- setError(UserDefinedError);
- setErrorString(tr("Needed installer object in \"%1\" operation is empty.").arg(name()));
- return false;
- }
- QString qmakeOutputInstallerKeyArgument = filteredQmakeOutputInstallerKey.at(0);
- qmakeOutputInstallerKey = qmakeOutputInstallerKeyArgument;
- qmakeOutputInstallerKey.replace(QLatin1String("QmakeOutputInstallerKey="), QString(), Qt::CaseInsensitive);
- args.removeAll(qmakeOutputInstallerKeyArgument);
- }
-
- QString type = args.at(0);
- bool isPlatformSupported = type.contains(QLatin1String("linux"), Qt::CaseInsensitive)
- || type.contains(QLatin1String("windows"), Qt::CaseInsensitive)
- || type.contains(QLatin1String("mac"), Qt::CaseInsensitive);
- if (!isPlatformSupported) {
- setError(InvalidArguments);
- setErrorString(tr("First argument should be 'linux', 'mac' or 'windows'. No other type is supported "
- "at this time."));
- return false;
- }
-
- if (core && !filteredQmakeOutputInstallerKey.isEmpty() && core->value(qmakeOutputInstallerKey).isEmpty()) {
- setError(UserDefinedError);
- setErrorString(tr("Could not find the needed QmakeOutputInstallerKey(%1) value on the installer "
- "object. The ConsumeOutput operation on the valid qmake needs to be called first.").arg(
- qmakeOutputInstallerKey));
- return false;
- }
-
- const QString newQtPathStr = QDir::toNativeSeparators(args.at(1));
- const QByteArray newQtPath = newQtPathStr.toUtf8();
- QString qmakePath = QString::fromUtf8(newQtPath) + QLatin1String("/bin/qmake");
-#ifdef Q_OS_WIN
- qmakePath = qmakePath + QLatin1String(".exe");
-#endif
-
- QHash<QString, QByteArray> qmakeValueHash;
- if (core && !core->value(qmakeOutputInstallerKey).isEmpty()) {
- qmakeValueHash = QtPatch::readQmakeOutput(core->value(qmakeOutputInstallerKey).toLatin1());
- } else {
- if (!QFile::exists(qmakePath)) {
- setError(UserDefinedError);
- setErrorString(tr("QMake from the current Qt version \n(%1)is not existing. Please file a bugreport "
- "with this dialog at https://bugreports.qt-project.org.").arg(QDir::toNativeSeparators(qmakePath)));
- return false;
- }
- QByteArray qmakeOutput;
- qmakeValueHash = QtPatch::qmakeValues(qmakePath, &qmakeOutput);
- if (qmakeValueHash.isEmpty()) {
- setError(UserDefinedError);
- setErrorString(tr("The output of \n%1 -query\nis not parseable. Please file a bugreport with this "
- "dialog https://bugreports.qt-project.org.\noutput: \"%2\"").arg(QDir::toNativeSeparators(qmakePath),
- QString::fromUtf8(qmakeOutput)));
- return false;
- }
- }
-
-
- const QByteArray oldQtPath = qmakeValueHash.value(QLatin1String("QT_INSTALL_PREFIX"));
- bool oldQtPathFromQMakeIsEmpty = oldQtPath.isEmpty();
-
- //maybe we don't need this, but I 255 should be a rational limit
- if (255 < newQtPath.size()) {
- setError(UserDefinedError);
- setErrorString(tr("Qt patch error: new Qt dir(%1)\nneeds to be less than 255 characters.")
- .arg(newQtPathStr));
- return false;
- }
-
-#ifdef Q_OS_OSX
- // looking for /lib/Qt wasn't enough for all libs and frameworks,
- // at the Qt4 case we had for example: /lib/libQtCLucene* and /lib/phonon*
- // so now we find every possible replace string inside dynlib dependencies
- // and we reduce it to few as possible search strings
- QStringList possibleSearchStringList;
- QDirIterator dirIterator(newQtPathStr + QLatin1String("/lib/"));
- while (dirIterator.hasNext()) {
- const QString possibleSearchString = QString(dirIterator.next()).remove(newQtPathStr);
- const QFileInfo fileInfo = dirIterator.fileInfo();
- if (fileInfo.isSymLink())
- continue;
- if (fileInfo.isDir()) {
- if (possibleSearchString.endsWith(QLatin1String(".framework")))
- possibleSearchStringList.append(possibleSearchString);
- else
- continue;
- }
- if (possibleSearchString.endsWith(QLatin1String(".dylib")))
- possibleSearchStringList.append(possibleSearchString);
- }
-
- // now we have this in possibleSearchStringList at Qt 4.8.6
-// "/lib/libQtCLucene.4.8.6.dylib"
-// "/lib/libQtCLucene_debug.4.8.6.dylib"
-// "/lib/phonon.framework"
-// "/lib/QtCore.framework"
-// "/lib/QtDeclarative.framework"
-// "/lib/QtDesigner.framework"
-// "/lib/QtDesignerComponents.framework"
-// "/lib/QtGui.framework"
-// "/lib/QtHelp.framework"
-// "/lib/QtMultimedia.framework"
-// "/lib/QtNetwork.framework"
-// "/lib/QtOpenGL.framework"
-// "/lib/QtScript.framework"
-// "/lib/QtScriptTools.framework"
-// "/lib/QtSql.framework"
-// "/lib/QtSvg.framework"
-// "/lib/QtTest.framework"
-// "/lib/QtWebKit.framework"
-// "/lib/QtXml.framework"
-// "/lib/QtXmlPatterns.framework"
-
- // so then we reduce the possible filter strings as much as possible
- QStringList searchStringList;
-
- // as the minimal search string use the subdirector lib + one letter from the name
- int minFilterLength = QString(QLatin1String("/lib/")).length() + 1;
-
- while (!possibleSearchStringList.isEmpty()) {
- QString firstSearchString = possibleSearchStringList.first();
- int filterLength = minFilterLength;
- int lastFilterCount = 0;
- QString lastFilterString;
- // now filter as long as we find something more then 1
- for (; filterLength < firstSearchString.length(); ++filterLength) {
- QString filterString(firstSearchString.left(filterLength));
- QStringList filteredStringList(possibleSearchStringList.filter(filterString));
- // found a valid filter
- if (lastFilterCount > filteredStringList.count()) {
- possibleSearchStringList = QList<QString>::fromSet(possibleSearchStringList.toSet() -
- possibleSearchStringList.filter(lastFilterString).toSet());
- searchStringList.append(lastFilterString);
- break;
- } else if (lastFilterCount == 1){ //in case there is only one we can use the complete name
- possibleSearchStringList = QList<QString>::fromSet(possibleSearchStringList.toSet() -
- possibleSearchStringList.filter(firstSearchString).toSet());
- searchStringList.append(firstSearchString);
- break;
- } else {
- lastFilterCount = possibleSearchStringList.filter(filterString).count();
- lastFilterString = filterString;
- }
- }
- }
-
- // in the tested Qt 4.8.6 case we have searchStringList ("/lib/libQtCLucene", "/lib/Qt", "/lib/phonon")
- foreach (const QString &searchString, searchStringList) {
- MacReplaceInstallNamesOperation operation;
- operation.setArguments(QStringList()
- //can not use the old path which is wrong in the webkit case
- //<< QString::fromUtf8(oldQtPath)
- << searchString
- << newQtPathStr + searchString //replace string
- << newQtPathStr //where
- );
- if (!operation.performOperation()) {
- setError(operation.error());
- setErrorString(operation.errorString());
- return false;
- }
- }
-#endif
-
- QString fileName;
- if (type == QLatin1String("windows"))
- fileName = QString::fromLatin1(":/files-to-patch-windows");
- else if (type == QLatin1String("linux"))
- fileName = QString::fromLatin1(":/files-to-patch-linux");
- else if (type == QLatin1String("mac"))
- fileName = QString::fromLatin1(":/files-to-patch-macx");
-
- QFile patchFileListFile(fileName);
- QString version = args.value(2).toLower();
- if (!version.isEmpty())
- patchFileListFile.setFileName(fileName + QLatin1Char('-') + version);
-
- if (!patchFileListFile.open(QFile::ReadOnly)) {
- setError(UserDefinedError);
- setErrorString(tr("Qt patch error: Can not open %1.(%2)").arg(patchFileListFile.fileName(),
- patchFileListFile.errorString()));
- return false;
- }
-
- QStringList filters;
- QStringList filesToPatch, textFilesToPatch;
- bool readingTextFilesToPatch = false;
-
- // read the input file
- QTextStream in(&patchFileListFile);
-
- forever {
- const QString line = in.readLine();
-
- if (line.isNull())
- break;
-
- else if (line.isEmpty())
- continue;
-
- else if (line.startsWith(QLatin1String("%%")))
- readingTextFilesToPatch = true;
-
- //with empty old path we don't know what we want to replace
- else if (readingTextFilesToPatch && !oldQtPathFromQMakeIsEmpty) {
- // check if file mask filter
- if (line.startsWith(QLatin1String("*."), Qt::CaseInsensitive)) {
- filters << line;
- }
- textFilesToPatch.append(line);
- }
- else
- filesToPatch.append(line);
- }
-
- QString prefix = QFile::decodeName(newQtPath);
-
- if (! prefix.endsWith(QLatin1Char('/')))
- prefix += QLatin1Char('/');
-
-//BEGIN - patch binary files
- QHash<QByteArray, QByteArray> patchValueHash = generatePatchValueHash(newQtPath, qmakeValueHash, type);
-
- foreach (QString fileName, filesToPatch) {
- fileName.prepend(prefix);
- QFile file(fileName);
-
- //without a file we can't do anything
- if (!file.exists()) {
- continue;
- }
-
- if (!QtPatch::openFileForPatching(&file)) {
- setError(UserDefinedError);
- setErrorString(tr("Qt patch error: Can not open %1.(%2)").arg(file.fileName())
- .arg(file.errorString()));
- return false;
- }
-
- QHashIterator<QByteArray, QByteArray> it(patchValueHash);
- while (it.hasNext()) {
- it.next();
- bool isPatched = QtPatch::patchBinaryFile(&file, it.key(), it.value());
- if (!isPatched) {
- qDebug() << QString::fromLatin1("qpatch: warning: file '%1' could not patched").arg(fileName);
- }
- }
- } //foreach (QString fileName, filesToPatch)
-//END - patch binary files
-
-//BEGIN - patch text files
- QByteArray newQtPathWithNormalSlashes = QDir::fromNativeSeparators(newQtPathStr).toUtf8();
-
- QHash<QByteArray, QByteArray> searchReplacePairs;
- searchReplacePairs.insert(oldQtPath, newQtPathWithNormalSlashes);
- searchReplacePairs.insert(QByteArray(oldQtPath).replace("/", "\\"), newQtPathWithNormalSlashes);
- searchReplacePairs.insert(QByteArray(oldQtPath).replace("\\", "/"), newQtPathWithNormalSlashes);
-
-#ifdef Q_OS_WIN
- QByteArray newQtPathWithDoubleBackSlashes = QByteArray(newQtPathWithNormalSlashes).replace("/", "\\\\");
- searchReplacePairs.insert(QByteArray(oldQtPath).replace("/", "\\\\"), newQtPathWithDoubleBackSlashes);
- searchReplacePairs.insert(QByteArray(oldQtPath).replace("\\", "\\\\"), newQtPathWithDoubleBackSlashes);
-
- //this is checking for a possible drive letter, which could be upper or lower
- if (oldQtPath.mid(1,1) == ":") {
- QHash<QByteArray, QByteArray> tempSearchReplacePairs;
- QHashIterator<QByteArray, QByteArray> it(searchReplacePairs);
- QByteArray driveLetter = oldQtPath.left(1);
- while (it.hasNext()) {
- it.next();
- QByteArray currentPossibleSearchByteArrayWithoutDriveLetter = QByteArray(it.key()).remove(0, 1);
- tempSearchReplacePairs.insert(driveLetter.toLower()
- + currentPossibleSearchByteArrayWithoutDriveLetter, it.value());
- tempSearchReplacePairs.insert(driveLetter.toUpper()
- + currentPossibleSearchByteArrayWithoutDriveLetter, it.value());
- }
- searchReplacePairs = tempSearchReplacePairs;
- }
-#endif
-
- // get file list defined by filters and patch them
- if (filters.count() > 0) {
- const QStringList filteredContent = getDirContent(prefix, filters);
- foreach (const QString &fileName, filteredContent) {
- if (QFile::exists(fileName)) {
- QtPatch::patchTextFile(fileName, searchReplacePairs);
- }
- }
- }
-
- // patch single items
- foreach (QString fileName, textFilesToPatch) {
- fileName.prepend(prefix);
-
- if (QFile::exists(fileName)) {
- //TODO: use the return value for an error message at the end of the operation
- QtPatch::patchTextFile(fileName, searchReplacePairs);
- }
- }
-//END - patch text files
-
- if (oldQtPathFromQMakeIsEmpty) {
- setError(UserDefinedError);
- setErrorString(tr("The installer was not able to get the unpatched path from \n%1.(maybe it is "
- "broken or removed)\nIt tried to patch the Qt binaries, but all other files in Qt are unpatched."
- "\nThis could result in a broken Qt version.\nSometimes it helps to restart the installer with a "
- "switched off antivirus software.").arg(QDir::toNativeSeparators(qmakePath)));
- return false;
- }
-
- return true;
-}
-
-QStringList QtPatchOperation::getDirContent(const QString& aPath, QStringList aFilters)
-{
- QStringList list;
- QDirIterator dirIterator(aPath, aFilters, QDir::AllDirs|QDir::Files|QDir::NoSymLinks,
- QDirIterator::Subdirectories);
- while (dirIterator.hasNext()) {
- dirIterator.next();
- if (!dirIterator.fileInfo().isDir()) {
- list.append(dirIterator.fileInfo().absoluteFilePath());
- qDebug() << QString::fromLatin1("QtPatchOperation::getDirContent match: '%1'").arg(dirIterator.fileInfo().absoluteFilePath());
- }
- }
-
- return list;
-}
-
-bool QtPatchOperation::undoOperation()
-{
- return true;
-}
-
-bool QtPatchOperation::testOperation()
-{
- return true;
-}
-
-Operation *QtPatchOperation::clone() const
-{
- return new QtPatchOperation();
-}
-