diff options
Diffstat (limited to 'patch/comercial/rsync-copy-engine.patch')
-rw-r--r-- | patch/comercial/rsync-copy-engine.patch | 902 |
1 files changed, 0 insertions, 902 deletions
diff --git a/patch/comercial/rsync-copy-engine.patch b/patch/comercial/rsync-copy-engine.patch deleted file mode 100644 index f469d50..0000000 --- a/patch/comercial/rsync-copy-engine.patch +++ /dev/null @@ -1,902 +0,0 @@ -diff -U 3 -H -d -r -N -- Ultracopier-0.3/ListThread.cpp Rsync/ListThread.cpp ---- Ultracopier-0.3/ListThread.cpp 2012-06-26 14:12:53.082114806 +0200 -+++ Rsync/ListThread.cpp 2012-06-29 22:21:40.395733284 +0200 -@@ -28,6 +28,7 @@ - numberOfInodeOperation = 0; - maxSpeed = 0; - doRightTransfer = false; -+ rsync = false; - keepDate = false; - blockSize = 1024; - osBufferLimit = 512; -@@ -265,6 +266,21 @@ - this->autoStart=autoStart; - } - -+/// \brief set rsync -+void ListThread::setRsync(const bool rsync) -+{ -+ this->rsync=rsync; -+ int index=0; -+ loop_sub_size_transfer_thread_search=transferThreadList.size(); -+ while(index<loop_sub_size_transfer_thread_search) -+ { -+ transferThreadList.at(index)->setRsync(rsync); -+ index++; -+ } -+ for(int i=0;i<scanFileOrFolderThreadsPool.size();i++) -+ scanFileOrFolderThreadsPool.at(i)->setRsync(rsync); -+} -+ - //set check destination folder - void ListThread::setCheckDestinationFolderExists(const bool checkDestinationFolderExists) - { -@@ -327,11 +343,13 @@ - #endif - connect(scanFileOrFolderThreadsPool.last(),SIGNAL(newFolderListing(QString)), this,SIGNAL(newFolderListing(QString))); - connect(scanFileOrFolderThreadsPool.last(),SIGNAL(addToRmPath(QString,int)), this,SLOT(addToRmPath(QString,int)), Qt::QueuedConnection); -+ connect(scanFileOrFolderThreadsPool.last(),SIGNAL(addToRmForRsync(QString)), this,SLOT(addToRmForRsync(QString)), Qt::QueuedConnection); - connect(scanFileOrFolderThreadsPool.last(),SIGNAL(addToMkPath(QString)), this,SLOT(addToMkPath(QString)), Qt::QueuedConnection); - - connect(scanFileOrFolderThreadsPool.last(),SIGNAL(errorOnFolder(QFileInfo,QString)), this,SLOT(errorOnFolder(QFileInfo,QString)), Qt::QueuedConnection); - connect(scanFileOrFolderThreadsPool.last(),SIGNAL(folderAlreadyExists(QFileInfo,QFileInfo,bool)), this,SLOT(folderAlreadyExists(QFileInfo,QFileInfo,bool)), Qt::QueuedConnection); - -+ scanFileOrFolderThreadsPool.last()->setRsync(rsync); - scanFileOrFolderThreadsPool.last()->setFilters(include,exclude); - scanFileOrFolderThreadsPool.last()->setCheckDestinationFolderExists(checkDestinationFolderExists && alwaysDoThisActionForFolderExists!=FolderExists_Merge); - if(scanFileOrFolderThreadsPool.size()==1) -@@ -761,6 +779,18 @@ - actionToDoListInode_afterTheTransfer << temp; - } - -+//rsync rm -+void ListThread::addToRmForRsync(const QString& inode) -+{ -+ ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"inode: "+inode); -+ actionToDoInode temp; -+ temp.type = ActionType_RmSync; -+ temp.id = generateIdNumber(); -+ temp.folder.setFile(inode); -+ temp.isRunning = false; -+ actionToDoListInode << temp; -+} -+ - //send action done - void ListThread::sendActionDone() - { -@@ -1526,7 +1556,7 @@ - loop_size=actionToDoListInode.size(); - while(int_for_loop<loop_size) - { -- if(actionToDoListInode.at(int_for_loop).type==ActionType_RmPath) -+ if(actionToDoListInode.at(int_for_loop).type==ActionType_RmPath || actionToDoListInode.at(int_for_loop).type==ActionType_RmSync) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("stop rmpath: %1").arg(actionToDoListInode.at(int_for_loop).folder.absoluteFilePath())); - actionToDoListInode.removeAt(int_for_loop); -@@ -1658,6 +1688,7 @@ - last->set_osBuffer(osBuffer); - last->set_osBufferLimited(osBufferLimited); - last->set_osBufferLimit(osBufferLimit); -+ last->setRsync(rsync); - - #ifdef ULTRACOPIER_PLUGIN_DEBUG - connect(last,SIGNAL(debugInformation(DebugLevel,QString,QString,QString,int)),this,SIGNAL(debugInformation(DebugLevel,QString,QString,QString,int)), Qt::QueuedConnection); -@@ -1669,7 +1700,7 @@ - connect(last,SIGNAL(preOperationStopped()), this,SLOT(doNewActions_start_transfer()), Qt::QueuedConnection); - connect(last,SIGNAL(postOperationStopped()), this,SLOT(transferInodeIsClosed()), Qt::QueuedConnection); - connect(last,SIGNAL(checkIfItCanBeResumed()), this,SLOT(restartTransferIfItCan()), Qt::QueuedConnection); -- connect(last,SIGNAL(pushStat(TransferStat,quint64)), this,SLOT(newTransferStat(TransferStat,quint64)), Qt::QueuedConnection); -+ connect(last,SIGNAL(pushStat(TransferStat,quint64)), this,SLOT(newTransferStat(TransferStat,quint64)), Qt::QueuedConnection); - - connect(this,SIGNAL(send_sendNewRenamingRules(QString,QString)), last,SLOT(setRenamingRules(QString,QString)), Qt::QueuedConnection); - -diff -U 3 -H -d -r -N -- Ultracopier-0.3/ListThread.h Rsync/ListThread.h ---- Ultracopier-0.3/ListThread.h 2012-06-25 16:46:19.931261209 +0200 -+++ Rsync/ListThread.h 2012-06-29 21:53:37.495762350 +0200 -@@ -77,7 +77,8 @@ - enum ActionType - { - ActionType_MkPath=1, -- ActionType_RmPath=2 -+ ActionType_RmPath=2, -+ ActionType_RmSync=3 - }; - /// \brief to store one action to do - struct actionToDoInode -@@ -155,6 +156,8 @@ - void setBlockSize(const int blockSize); - /// \brief set auto start - void setAutoStart(const bool autoStart); -+ /// \brief set rsync -+ void setRsync(const bool rsync); - /// \brief set check destination folder - void setCheckDestinationFolderExists(const bool checkDestinationFolderExists); - /// \brief set data local to the thread -@@ -196,6 +199,7 @@ - quint64 bytesToTransfer; - quint64 bytesTransfered; - bool autoStart; -+ bool rsync; - bool putInPause; - QList<returnActionOnCopyList> actionDone;///< to action to send to the interface - quint64 idIncrementNumber;///< to store the last id returned -@@ -302,6 +306,8 @@ - quint64 addToMkPath(const QString& folder); - //add rm path to do - void addToRmPath(const QString& folder,const int& inodeToRemove); -+ //rsync rm -+ void addToRmForRsync(const QString& inode); - //send the progression, after full reset of the interface (then all is empty) - void syncTransferList_internal(); - signals: -diff -U 3 -H -d -r -N -- Ultracopier-0.3/ListThread_InodeAction.cpp Rsync/ListThread_InodeAction.cpp ---- Ultracopier-0.3/ListThread_InodeAction.cpp 2012-06-29 21:57:47.000000000 +0200 -+++ Rsync/ListThread_InodeAction.cpp 2012-06-29 22:19:11.515735854 +0200 -@@ -19,6 +19,14 @@ - if(numberOfInodeOperation>=ULTRACOPIER_PLUGIN_MAXPARALLELINODEOPT) - return; - break; -+case ActionType_RmSync: -+ ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("launch rm to sync: %1").arg(currentActionToDoInode.folder.absoluteFilePath())); -+ rmPathQueue.addPath(currentActionToDoInode.folder.absoluteFilePath(),true); -+ currentActionToDoInode.isRunning=true; -+ numberOfInodeOperation++; -+ if(numberOfInodeOperation>=ULTRACOPIER_PLUGIN_MAXPARALLELINODEOPT) -+ return; -+break; - case ActionType_RmPath: - /* What is this code? - if((int_for_loop+number_rm_path_moved)>=(loop_size-1)) -@@ -34,7 +42,7 @@ - if(numberOfTranferRuning>0) - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,QString("skipped because already inode = 0 and transfer is running: %1").arg(currentActionToDoInode.folder.absoluteFilePath())); - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("launch rmpath: %1").arg(currentActionToDoInode.folder.absoluteFilePath())); -- rmPathQueue.addPath(currentActionToDoInode.folder.absoluteFilePath()); -+ rmPathQueue.addPath(currentActionToDoInode.folder.absoluteFilePath(),false); - currentActionToDoInode.isRunning=true; - numberOfInodeOperation++; - if(numberOfInodeOperation>=ULTRACOPIER_PLUGIN_MAXPARALLELINODEOPT) -diff -U 3 -H -d -r -N -- Ultracopier-0.3/RmPath.cpp Rsync/RmPath.cpp ---- Ultracopier-0.3/RmPath.cpp 2012-06-29 22:37:41.715716675 +0200 -+++ Rsync/RmPath.cpp 2012-06-29 22:42:25.105711780 +0200 -@@ -16,12 +16,12 @@ - wait(); - } - --void RmPath::addPath(const QString &path) -+void RmPath::addPath(const QString &path,const bool &toSync) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start: "+path); - if(stopIt) - return; -- emit internalStartAddPath(path); -+ emit internalStartAddPath(path,toSync); - } - - void RmPath::skip() -@@ -38,7 +38,7 @@ - - void RmPath::run() - { -- connect(this,SIGNAL(internalStartAddPath(QString)),this,SLOT(internalAddPath(QString)),Qt::QueuedConnection); -+ connect(this,SIGNAL(internalStartAddPath(QString,bool)),this,SLOT(internalAddPath(QString,bool)),Qt::QueuedConnection); - connect(this,SIGNAL(internalStartDoThisPath()),this,SLOT(internalDoThisPath()),Qt::QueuedConnection); - connect(this,SIGNAL(internalStartSkip()),this,SLOT(internalSkip()),Qt::QueuedConnection); - connect(this,SIGNAL(internalStartRetry()),this,SLOT(internalRetry()),Qt::QueuedConnection); -@@ -50,23 +50,63 @@ - if(waitAction || pathList.isEmpty()) - return; - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start: "+pathList.first()); -- if(!rmpath(pathList.first())) -+ if(!toSyncList.first()) - { -- if(stopIt) -+ if(!rmpath(pathList.first(),false)) -+ { -+ if(stopIt) -+ return; -+ waitAction=true; -+ ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,"Unable to remove the folder: "+pathList.first()); -+ emit errorOnFolder(pathList.first(),tr("Unable to remove the folder")); - return; -- waitAction=true; -- ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,"Unable to remove the folder: "+pathList.first()); -- emit errorOnFolder(pathList.first(),tr("Unable to remove the folder")); -- return; -+ } -+ } -+ else -+ { -+ if(QFileInfo(pathList.first()).isDir()) -+ { -+ if(!rmpath(pathList.first(),true)) -+ { -+ if(stopIt) -+ return; -+ waitAction=true; -+ ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,"Unable to remove the folder: "+pathList.first()); -+ emit errorOnFolder(pathList.first(),tr("Unable to remove the folder")); -+ return; -+ } -+ } -+ else if(!rmfile(pathList.first())) -+ { -+ if(stopIt) -+ return; -+ waitAction=true; -+ ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,"Unable to remove the file: "+pathList.first()); -+ emit errorOnFolder(pathList.first(),tr("Unable to remove the file")); -+ return; -+ } - } - pathList.removeFirst(); -+ toSyncList.removeFirst(); - emit firstFolderFinish(); - checkIfCanDoTheNext(); - } - -+bool RmPath::rmfile(QString filePath) -+{ -+ QFile file(filePath); -+ if(!file.remove()) -+ { -+ ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,"unable to remove the file: "+file.fileName()+", error: "+file.errorString()); -+ return false; -+ } -+ else -+ return true; -+} -+ - /** remplace QDir::rmpath() because it return false if the folder not exists - and seam bug with parent folder */ --bool RmPath::rmpath(const QDir &dir) -+bool RmPath::rmpath(const QDir &dir,const bool &toSync) - { - if(!dir.exists()) - return true; -@@ -77,28 +117,40 @@ - QFileInfo fileInfo(list.at(i)); - if(!fileInfo.isDir()) - { -- ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,"found a file: "+fileInfo.fileName()); -- allHaveWork=false; -+ if(toSync) -+ { -+ if(!rmfile(fileInfo.absoluteFilePath())) -+ { -+ ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,"unable to remove a file: "+fileInfo.fileName()); -+ allHaveWork=false; -+ } -+ } -+ else -+ { -+ ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,"found a file: "+fileInfo.fileName()); -+ allHaveWork=false; -+ } - } - else - { - //return the fonction for scan the new folder -- if(!rmpath(dir.absolutePath()+'/'+fileInfo.fileName()+'/')) -+ if(!rmpath(dir.absolutePath()+'/'+fileInfo.fileName()+'/',toSync)) - allHaveWork=false; - } - } - if(!allHaveWork) -- return allHaveWork; -+ return false; - allHaveWork=dir.rmdir(dir.absolutePath()); - if(!allHaveWork) - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,"unable to remove the folder: "+dir.absolutePath()); - return allHaveWork; - } - --void RmPath::internalAddPath(const QString &path) -+void RmPath::internalAddPath(const QString &path,const bool &toSync) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start: "+path); - pathList << path; -+ toSyncList << toSync; - if(!waitAction) - checkIfCanDoTheNext(); - } -diff -U 3 -H -d -r -N -- Ultracopier-0.3/RmPath.h Rsync/RmPath.h ---- Ultracopier-0.3/RmPath.h 2012-03-19 17:34:43.572371290 +0100 -+++ Rsync/RmPath.h 2012-06-29 22:36:02.135718395 +0200 -@@ -24,11 +24,11 @@ - explicit RmPath(); - ~RmPath(); - /// \brief add new path to remove -- void addPath(const QString &path); -+ void addPath(const QString &path,const bool &toSync); - signals: - void errorOnFolder(const QFileInfo &,const QString &); - void firstFolderFinish(); -- void internalStartAddPath(const QString &path); -+ void internalStartAddPath(const QString &path,const bool &toSync); - void internalStartDoThisPath(); - void internalStartSkip(); - void internalStartRetry(); -@@ -42,12 +42,14 @@ - bool stopIt; - bool skipIt; - QStringList pathList; -+ QList<bool> toSyncList; - void checkIfCanDoTheNext(); - QDir dir; -- bool rmpath(const QDir &dir); -+ bool rmpath(const QDir &dir,const bool &toSync); -+ bool rmfile(QString filePath); - private slots: - void internalDoThisPath(); -- void internalAddPath(const QString &path); -+ void internalAddPath(const QString &path,const bool &toSync); - void internalSkip(); - void internalRetry(); - }; -diff -U 3 -H -d -r -N -- Ultracopier-0.3/TransferThread.cpp Rsync/TransferThread.cpp ---- Ultracopier-0.3/TransferThread.cpp 2012-06-29 15:58:31.546130402 +0200 -+++ Rsync/TransferThread.cpp 2012-06-29 18:58:24.095943961 +0200 -@@ -26,6 +26,7 @@ - alwaysDoFileExistsAction= FileExists_NotSet; - readError = false; - writeError = false; -+ rsync = false; - this->mkpathTransfer = mkpathTransfer; - readThread.setWriteThread(&writeThread); - -@@ -278,7 +279,7 @@ - { - //check if destination exists - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"["+QString::number(id)+"] overwrite: "+QString::number(fileExistsAction)+", always action: "+QString::number(alwaysDoFileExistsAction)); -- if(alwaysDoFileExistsAction==FileExists_Overwrite || readError || writeError) -+ if(alwaysDoFileExistsAction==FileExists_Overwrite || rsync || readError || writeError) - return false; - if(destinationInfo.exists()) - { -@@ -1124,6 +1125,12 @@ - emit tryPutAtBottom(); - } - -+/// \brief set rsync -+void TransferThread::setRsync(const bool rsync) -+{ -+ this->rsync=rsync; -+} -+ - void TransferThread::set_osBufferLimit(unsigned int osBufferLimit) - { - this->osBufferLimit=osBufferLimit; -diff -U 3 -H -d -r -N -- Ultracopier-0.3/TransferThread.h Rsync/TransferThread.h ---- Ultracopier-0.3/TransferThread.h 2012-06-26 11:10:54.541994070 +0200 -+++ Rsync/TransferThread.h 2012-06-29 15:54:29.286134585 +0200 -@@ -113,6 +113,8 @@ - qint64 copiedSize(); - /// \brief put the current file at bottom - void putAtBottom(); -+ /// \brief set rsync -+ void setRsync(const bool rsync); - - void set_osBufferLimit(unsigned int osBufferLimit); - void setRenamingRules(QString firstRenamingRule,QString otherRenamingRule); -@@ -166,6 +168,7 @@ - bool readIsClosedVariable; - bool writeIsClosedVariable; - bool canBeMovedDirectlyVariable; -+ bool rsync; - QByteArray sourceChecksum,destinationChecksum; - volatile bool stopIt; - volatile bool canStartTransfer; -diff -U 3 -H -d -r -N -- Ultracopier-0.3/copyEngine.cpp Rsync/copyEngine.cpp ---- Ultracopier-0.3/copyEngine.cpp 2012-06-26 14:14:40.892116001 +0200 -+++ Rsync/copyEngine.cpp 2012-06-29 21:22:50.945794251 +0200 -@@ -186,6 +186,7 @@ - connect(ui->keepDate, SIGNAL(toggled(bool)), &threadOfTheTransfer, SLOT(setKeepDate(bool))); - connect(ui->blockSize, SIGNAL(valueChanged(int)), &threadOfTheTransfer, SLOT(setBlockSize(int)));*/ - connect(ui->autoStart, SIGNAL(toggled(bool)), this, SLOT(setAutoStart(bool))); -+ connect(ui->rsync, SIGNAL(toggled(bool)), this, SLOT(setRsync(bool))); - connect(ui->checkBoxDestinationFolderExists, SIGNAL(toggled(bool)), this, SLOT(setCheckDestinationFolderExists(bool))); - uiIsInstalled=true; - setRightTransfer(doRightTransfer); -@@ -193,6 +194,7 @@ - setSpeedLimitation(maxSpeed); - setBlockSize(blockSize); - setAutoStart(autoStart); -+ setRsync(rsync); - setCheckDestinationFolderExists(checkDestinationFolderExists); - set_doChecksum(doChecksum); - set_checksumIgnoreIfImpossible(checksumIgnoreIfImpossible); -@@ -216,6 +218,7 @@ - connect(ui->keepDate, SIGNAL(toggled(bool)), this,SLOT(setKeepDate(bool))); - connect(ui->blockSize, SIGNAL(valueChanged(int)), this,SLOT(setBlockSize(int))); - connect(ui->autoStart, SIGNAL(toggled(bool)), this,SLOT(setAutoStart(bool))); -+ connect(ui->rsync, SIGNAL(toggled(bool)), this,SLOT(setRsync(bool))); - connect(ui->doChecksum, SIGNAL(toggled(bool)), this,SLOT(doChecksum_toggled(bool))); - connect(ui->checksumIgnoreIfImpossible, SIGNAL(toggled(bool)), this,SLOT(checksumIgnoreIfImpossible_toggled(bool))); - connect(ui->checksumOnlyOnError, SIGNAL(toggled(bool)), this,SLOT(checksumOnlyOnError_toggled(bool))); -@@ -505,6 +508,13 @@ - /** \brief give the forced mode, to export/import transfer list */ - void copyEngine::forceMode(const CopyMode &mode) - { -+ if(mode==Move) -+ { -+ listThread->setRsync(false); -+ rsync=false; -+ } -+ if(uiIsInstalled) -+ ui->rsync->setEnabled(mode==Copy); - if(forcedMode) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,QString("Mode forced previously")); -@@ -617,6 +627,19 @@ - listThread->setAutoStart(autoStart); - } - -+/// \brief set rsync -+void copyEngine::setRsync(const bool rsync) -+{ -+ this->rsync=rsync; -+ if(uiIsInstalled) -+ { -+ ui->rsync->setChecked(rsync); -+ ui->rsync->setEnabled(forcedMode && mode==Copy); -+ ui->label_rsync->setEnabled(forcedMode && mode==Copy); -+ } -+ listThread->setRsync(rsync); -+} -+ - //set check destination folder - void copyEngine::setCheckDestinationFolderExists(const bool checkDestinationFolderExists) - { -diff -U 3 -H -d -r -N -- Ultracopier-0.3/copyEngine.h Rsync/copyEngine.h ---- Ultracopier-0.3/copyEngine.h 2012-06-25 16:50:12.191263770 +0200 -+++ Rsync/copyEngine.h 2012-06-29 15:49:45.856139485 +0200 -@@ -60,6 +60,7 @@ - bool keepDate; - int blockSize; - bool autoStart; -+ bool rsync; - bool checkDestinationFolderExists; - FileExistsAction alwaysDoThisActionForFileExists; - FileErrorAction alwaysDoThisActionForFileError; -@@ -273,6 +274,8 @@ - void setBlockSize(const int blockSize); - /// \brief set auto start - void setAutoStart(const bool autoStart); -+ /// \brief set rsync -+ void setRsync(const bool rsync); - /// \brief set if need check if the destination folder exists - void setCheckDestinationFolderExists(const bool checkDestinationFolderExists); - /// \brief reset widget -diff -U 3 -H -d -r -N -- Ultracopier-0.3/copyEngine.pro.user Rsync/copyEngine.pro.user ---- Ultracopier-0.3/copyEngine.pro.user 2012-06-26 15:50:53.722179836 +0200 -+++ Rsync/copyEngine.pro.user 2012-06-29 22:42:24.025711798 +0200 -@@ -1,6 +1,6 @@ - <?xml version="1.0" encoding="UTF-8"?> - <!DOCTYPE QtCreatorProject> --<!-- Written by Qt Creator 2.5.0, 2012-06-26T15:50:53. --> -+<!-- Written by Qt Creator 2.5.0, 2012-06-29T22:42:24. --> - <qtcreator> - <data> - <variable>ProjectExplorer.Project.ActiveTarget</variable> -@@ -163,7 +163,113 @@ - <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">2</value> - <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> - </valuemap> -- <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> -+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2"> -+ <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:{d6ee78f7-3364-4f54-a93f-b3c1e2a8c8c9}</value> -+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> -+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> -+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> -+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> -+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> -+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> -+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> -+ </valuemap> -+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> -+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> -+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> -+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> -+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> -+ </valuemap> -+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> -+ </valuemap> -+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> -+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> -+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> -+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> -+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> -+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> -+ </valuemap> -+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> -+ </valuemap> -+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> -+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> -+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.0.0 (qt-everywhere-opensource-src-5.0.0) Release</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> -+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> -+ <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/CopyEngine/copyEngine-build-desktop-Qt_5_0_0__qt-everywhere-opensource-src-5_0_0__Release</value> -+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">3</value> -+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> -+ </valuemap> -+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3"> -+ <value type="QString" key="ProjectExplorer.BuildCOnfiguration.ToolChain">ProjectExplorer.ToolChain.Gcc:{d6ee78f7-3364-4f54-a93f-b3c1e2a8c8c9}</value> -+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> -+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> -+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> -+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> -+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> -+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> -+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> -+ </valuemap> -+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> -+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> -+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> -+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> -+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> -+ </valuemap> -+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> -+ </valuemap> -+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> -+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> -+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> -+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> -+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> -+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> -+ </valuemap> -+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> -+ </valuemap> -+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> -+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> -+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.0.0 (qt-everywhere-opensource-src-5.0.0) Debug</value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> -+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> -+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> -+ <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/CopyEngine/copyEngine-build-desktop-Qt_5_0_0__qt-everywhere-opensource-src-5_0_0__Debug</value> -+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId">3</value> -+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> -+ </valuemap> -+ <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">4</value> - <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> - <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> - <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> -diff -U 3 -H -d -r -N -- Ultracopier-0.3/factory.cpp Rsync/factory.cpp ---- Ultracopier-0.3/factory.cpp 2012-06-26 14:10:39.972113336 +0200 -+++ Rsync/factory.cpp 2012-06-29 15:40:43.606148853 +0200 -@@ -35,6 +35,7 @@ - connect(ui->keepDate, SIGNAL(toggled(bool)), this,SLOT(setKeepDate(bool))); - connect(ui->blockSize, SIGNAL(valueChanged(int)), this,SLOT(setBlockSize(int))); - connect(ui->autoStart, SIGNAL(toggled(bool)), this,SLOT(setAutoStart(bool))); -+ connect(ui->rsync, SIGNAL(toggled(bool)), this,SLOT(setRsync(bool))); - connect(ui->doChecksum, SIGNAL(toggled(bool)), this,SLOT(doChecksum_toggled(bool))); - connect(ui->checksumIgnoreIfImpossible, SIGNAL(toggled(bool)), this,SLOT(checksumIgnoreIfImpossible_toggled(bool))); - connect(ui->checksumOnlyOnError, SIGNAL(toggled(bool)), this,SLOT(checksumOnlyOnError_toggled(bool))); -@@ -71,6 +72,7 @@ - realObject->setKeepDate( optionsEngine->getOptionValue("keepDate").toBool()); - realObject->setBlockSize( optionsEngine->getOptionValue("blockSize").toInt()); - realObject->setAutoStart( optionsEngine->getOptionValue("autoStart").toBool()); -+ realObject->setRsync( optionsEngine->getOptionValue("rsync").toBool()); - realObject->on_comboBoxFolderColision_currentIndexChanged(ui->comboBoxFolderColision->currentIndex()); - realObject->on_comboBoxFolderError_currentIndexChanged(ui->comboBoxFolderError->currentIndex()); - realObject->setCheckDestinationFolderExists( optionsEngine->getOptionValue("checkDestinationFolder").toBool()); -@@ -123,6 +125,7 @@ - KeysList.append(qMakePair(QString("keepDate"),QVariant(true))); - KeysList.append(qMakePair(QString("blockSize"),QVariant(1024)));//1024KB as default - KeysList.append(qMakePair(QString("autoStart"),QVariant(true))); -+ KeysList.append(qMakePair(QString("rsync"),QVariant(true))); - KeysList.append(qMakePair(QString("folderError"),QVariant(0))); - KeysList.append(qMakePair(QString("folderColision"),QVariant(0))); - KeysList.append(qMakePair(QString("checkDestinationFolder"),QVariant(true))); -@@ -151,6 +154,7 @@ - ui->keepDate->setChecked(optionsEngine->getOptionValue("keepDate").toBool()); - ui->blockSize->setValue(optionsEngine->getOptionValue("blockSize").toUInt()); - ui->autoStart->setChecked(optionsEngine->getOptionValue("autoStart").toBool()); -+ ui->rsync->setChecked(optionsEngine->getOptionValue("rsync").toBool()); - ui->comboBoxFolderError->setCurrentIndex(optionsEngine->getOptionValue("folderError").toUInt()); - ui->comboBoxFolderColision->setCurrentIndex(optionsEngine->getOptionValue("folderColision").toUInt()); - ui->checkBoxDestinationFolderExists->setChecked(optionsEngine->getOptionValue("checkDestinationFolder").toBool()); -@@ -287,6 +291,15 @@ - else - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Critical,"internal error, crash prevented"); - } -+ -+void Factory::setRsync(bool rsync) -+{ -+ ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"the checkbox have changed"); -+ if(optionsEngine!=NULL) -+ optionsEngine->setOptionValue("rsync",rsync); -+ else -+ ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Critical,"internal error, crash prevented"); -+} - - void Factory::newLanguageLoaded() - { -diff -U 3 -H -d -r -N -- Ultracopier-0.3/factory.h Rsync/factory.h ---- Ultracopier-0.3/factory.h 2012-05-19 15:44:05.354039716 +0200 -+++ Rsync/factory.h 2012-06-29 15:40:20.016149261 +0200 -@@ -71,6 +71,7 @@ - void setKeepDate(bool keepDate); - void setBlockSize(int blockSize); - void setAutoStart(bool autoStart); -+ void setRsync(bool rsync); - void showFilterDialog(); - void sendNewFilters(QStringList includeStrings,QStringList includeOptions,QStringList excludeStrings,QStringList excludeOptions); - void doChecksum_toggled(bool); -diff -U 3 -H -d -r -N -- Ultracopier-0.3/informations.xml Rsync/informations.xml ---- Ultracopier-0.3/informations.xml 2012-06-25 17:31:49.331291383 +0200 -+++ Rsync/informations.xml 2012-06-29 15:11:53.696178734 +0200 -@@ -1,7 +1,7 @@ - <?xml version="1.0" encoding="UTF-8"?> - <package> -- <title xml:lang="en"><![CDATA[Copy engine of Ultracopier 0.3]]></title><!-- english is required --> -- <title xml:lang="fr"><![CDATA[Moteur de copie d'ultracopier 0.3]]></title> -+ <title xml:lang="en"><![CDATA[Rsync copy engine]]></title><!-- english is required --> -+ <title xml:lang="fr"><![CDATA[Moteur de copie rsync]]></title> - <!-- What kind of plugin this is --> - <category>CopyEngine</category> - <!-- Who wrote this plugin --> -@@ -14,12 +14,12 @@ - <!-- the architecture code of this plugin, found PlatformMacro.h into ultracopier source --> - <architecture>linux-x86_64-pc</architecture> - <!-- Detailed description --> -- <description xml:lang="en"><![CDATA[Copy engine of Ultracopier 0.3, do in Qt for all platform, and copy by stream]]></description> -- <description xml:lang="fr"><![CDATA[Moteur de copie d'ultracopier 0.3, fait en Qt pour toutes les plateformes, et copie par stream]]></description> -+ <description xml:lang="en"><![CDATA[Rsync copy engine, variant of the official copy engine to provide simple way to do backups]]></description> -+ <description xml:lang="fr"><![CDATA[Moteur de copie rsync, variante du moteur de copie officiel pour fournir une maniƩre simple de faire des backups]]></description> - <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> - <version>0.3.0.10</version> - <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> -- <name>Ultracopier-0.3</name> -+ <name>Rsync</name> - <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> - <dependencies><![CDATA[ - >=ultracopier-0.3.0.10 -diff -U 3 -H -d -r -N -- Ultracopier-0.3/options.ui Rsync/options.ui ---- Ultracopier-0.3/options.ui 2012-06-20 14:56:21.509908805 +0200 -+++ Rsync/options.ui 2012-06-29 22:15:47.595739375 +0200 -@@ -6,8 +6,8 @@ - <rect> - <x>0</x> - <y>0</y> -- <width>356</width> -- <height>376</height> -+ <width>354</width> -+ <height>399</height> - </rect> - </property> - <layout class="QGridLayout" name="gridLayout"> -@@ -122,7 +122,7 @@ - <item row="6" column="2"> - <widget class="QCheckBox" name="checkBoxDestinationFolderExists"/> - </item> -- <item row="7" column="0" colspan="3"> -+ <item row="8" column="0" colspan="3"> - <widget class="QGroupBox" name="groupBox"> - <property name="title"> - <string>Checksum</string> -@@ -175,24 +175,24 @@ - </layout> - </widget> - </item> -- <item row="8" column="1"> -+ <item row="9" column="1"> - <widget class="QLabel" name="label_3"> - <property name="text"> - <string>Enable OS buffer</string> - </property> - </widget> - </item> -- <item row="8" column="2"> -+ <item row="9" column="2"> - <widget class="QCheckBox" name="osBuffer"/> - </item> -- <item row="9" column="0" colspan="2"> -+ <item row="10" column="0" colspan="2"> - <widget class="QCheckBox" name="osBufferLimited"> - <property name="text"> - <string>OS buffer only if smaller than</string> - </property> - </widget> - </item> -- <item row="9" column="2"> -+ <item row="10" column="2"> - <widget class="QSpinBox" name="osBufferLimit"> - <property name="suffix"> - <string>KB</string> -@@ -215,7 +215,7 @@ - </property> - </widget> - </item> -- <item row="12" column="1"> -+ <item row="13" column="1"> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> -@@ -228,20 +228,34 @@ - </property> - </spacer> - </item> -- <item row="11" column="1"> -+ <item row="12" column="1"> - <widget class="QPushButton" name="filters"> - <property name="text"> - <string>Filters</string> - </property> - </widget> - </item> -- <item row="10" column="1"> -+ <item row="11" column="1"> - <widget class="QPushButton" name="renamingRules"> - <property name="text"> - <string>Renaming rules</string> - </property> - </widget> - </item> -+ <item row="7" column="2"> -+ <widget class="QCheckBox" name="rsync"> -+ <property name="text"> -+ <string/> -+ </property> -+ </widget> -+ </item> -+ <item row="7" column="0" colspan="2"> -+ <widget class="QLabel" name="label_rsync"> -+ <property name="text"> -+ <string>Rsync (only in copy mode)</string> -+ </property> -+ </widget> -+ </item> - </layout> - </widget> - <resources/> -diff -U 3 -H -d -r -N -- Ultracopier-0.3/scanFileOrFolder.cpp Rsync/scanFileOrFolder.cpp ---- Ultracopier-0.3/scanFileOrFolder.cpp 2012-05-23 11:06:25.001037392 +0200 -+++ Rsync/scanFileOrFolder.cpp 2012-06-29 21:54:15.555761695 +0200 -@@ -1,9 +1,10 @@ - #include "scanFileOrFolder.h" - --#include <QMessageBox> -+#include <QDateTime> - - scanFileOrFolder::scanFileOrFolder(CopyMode mode) - { -+ rsync=false; - stopped = true; - stopIt = false; - this->mode=mode; -@@ -427,7 +428,17 @@ - if(!included) - {} - else -- emit fileTransfer(fileInfo.absoluteFilePath(),finalDest+fileName,mode); -+ { -+ bool sendToTransfer=false; -+ if(!rsync) -+ sendToTransfer=true; -+ else if(!QFile::exists(finalDest+fileName)) -+ sendToTransfer=true; -+ else if(fileInfo.lastModified()!=QFileInfo(finalDest+fileName).lastModified()) -+ sendToTransfer=true; -+ if(sendToTransfer) -+ emit fileTransfer(fileInfo.absoluteFilePath(),finalDest+fileName,mode); -+ } - } - } - } -@@ -437,9 +448,43 @@ - //listFolder(source,destination,suffixPath+fileInfo.fileName()+QDir::separator()); - listFolder(source,destination,sourceSuffixPath+fileInfo.fileName()+"/",destinationSuffixPath+fileInfo.fileName()+"/");//put unix separator because it's transformed into that's under windows too - else -- emit fileTransfer(fileInfo.absoluteFilePath(),finalDest+fileInfo.fileName(),mode); -+ { -+ bool sendToTransfer=false; -+ if(!rsync) -+ sendToTransfer=true; -+ else if(!QFile::exists(finalDest+fileInfo.fileName())) -+ sendToTransfer=true; -+ else if(fileInfo.lastModified()!=QFileInfo(finalDest+fileInfo.fileName()).lastModified()) -+ sendToTransfer=true; -+ if(sendToTransfer) -+ emit fileTransfer(fileInfo.absoluteFilePath(),finalDest+fileInfo.fileName(),mode); -+ } - } - } -+ if(rsync) -+ { -+ //check the reverse path here -+ QFileInfoList entryListDestination=QDir(finalDest).entryInfoList(QDir::AllEntries|QDir::NoDotAndDotDot|QDir::Hidden|QDir::System,QDir::DirsFirst|QDir::Name|QDir::IgnoreCase);//possible wait time here -+ int sizeEntryListDestination=entryListDestination.size(); -+ int index=0; -+ for (int indexDestination=0;indexDestination<sizeEntryListDestination;++indexDestination) -+ { -+ index=0; -+ while(index<sizeEntryList) -+ { -+ if(entryListDestination.at(indexDestination).fileName()==entryList.at(index).fileName()) -+ break; -+ index++; -+ } -+ if(index==sizeEntryList) -+ { -+ //then not found, need be remove -+ emit addToRmForRsync(finalDest+entryListDestination.at(indexDestination).fileName()); -+ } -+ } -+ return; -+ } -+ - if(mode==Move) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"newSource: "+newSource+", sizeEntryList: "+QString::number(sizeEntryList)); -@@ -458,3 +503,9 @@ - this->firstRenamingRule=firstRenamingRule; - this->otherRenamingRule=otherRenamingRule; - } -+ -+/// \brief set rsync -+void scanFileOrFolder::setRsync(const bool rsync) -+{ -+ this->rsync=rsync; -+} -diff -U 3 -H -d -r -N -- Ultracopier-0.3/scanFileOrFolder.h Rsync/scanFileOrFolder.h ---- Ultracopier-0.3/scanFileOrFolder.h 2012-05-20 20:32:43.695874620 +0200 -+++ Rsync/scanFileOrFolder.h 2012-06-29 21:51:45.235764294 +0200 -@@ -38,6 +38,8 @@ - /// \brief set if need check if the destination exists - void setCheckDestinationFolderExists(const bool checkDestinationFolderExists); - void setRenamingRules(QString firstRenamingRule,QString otherRenamingRule); -+ /// \brief set rsync -+ void setRsync(const bool rsync); - signals: - void fileTransfer(const QFileInfo &source,const QFileInfo &destination,const CopyMode &mode); - /// \brief To debug source -@@ -49,6 +51,7 @@ - void newFolderListing(const QString &path); - void addToMkPath(const QString& folder); - void addToRmPath(const QString& folder,const int& inodeToRemove); -+ void addToRmForRsync(const QString& inode); - public slots: - void addToList(const QStringList& sources,const QString& destination); - void setFilters(QList<Filters_rules> include,QList<Filters_rules> exclude); -@@ -69,6 +72,7 @@ - QString prefix; - QString suffix; - CopyMode mode; -+ bool rsync; - QList<Filters_rules> include,exclude; - QList<Filters_rules> include_send,exclude_send; - bool reloadTheNewFilters; |