summaryrefslogtreecommitdiff
path: root/plugins/CopyEngine
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/CopyEngine')
-rwxr-xr-xplugins/CopyEngine/Random/informations.xml2
-rwxr-xr-xplugins/CopyEngine/Rsync/informations.xml2
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/CopyEngine-collision-and-error.cpp165
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/CopyEngine.cpp63
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/CopyEngine.h12
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp8
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/DebugDialog.cpp1
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp11
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp18
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp9
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp14
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.qmbin20287 -> 20075 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.ts237
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.qmbin19546 -> 19323 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.ts237
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.ts235
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.qmbin334 -> 341 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.ts235
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.qmbin23560 -> 25398 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.ts253
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.qmbin23074 -> 25040 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.ts253
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.ts235
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.qmbin15971 -> 15780 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.ts229
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.ts235
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.qmbin23932 -> 25354 bytes
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.ts461
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.ts235
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.qmbin6371 -> 6381 bytes
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.ts237
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.ts235
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.ts235
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.ts235
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.ts235
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.qmbin6529 -> 6433 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.ts237
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.ts235
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.ts235
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.ts235
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThread.cpp93
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThreadNew.cpp32
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/MkPath.cpp154
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp76
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.h2
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition_CopyEngine.h3
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/TransferThread.cpp32
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/TransferThread.h13
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/async/ReadThread.cpp20
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/async/ReadThread.h8
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp225
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.h9
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/async/WriteThread.cpp38
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/async/WriteThread.h8
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/copyEngineOptions.ui2
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/debugDialog.ui46
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/fileExistsDialog.ui8
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/informations.xml2
58 files changed, 3473 insertions, 2567 deletions
diff --git a/plugins/CopyEngine/Random/informations.xml b/plugins/CopyEngine/Random/informations.xml
index 88f79bd..3145f44 100755
--- a/plugins/CopyEngine/Random/informations.xml
+++ b/plugins/CopyEngine/Random/informations.xml
@@ -15,7 +15,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[TODO]]></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>2.2.4.7</version>
+ <version>2.2.6.0</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>Random</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. -->
diff --git a/plugins/CopyEngine/Rsync/informations.xml b/plugins/CopyEngine/Rsync/informations.xml
index 92f21c7..d2f698f 100755
--- a/plugins/CopyEngine/Rsync/informations.xml
+++ b/plugins/CopyEngine/Rsync/informations.xml
@@ -17,7 +17,7 @@
<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>2.2.4.7</version>
+ <version>2.2.6.0</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>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. -->
diff --git a/plugins/CopyEngine/Ultracopier-Spec/CopyEngine-collision-and-error.cpp b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine-collision-and-error.cpp
index fcf43ff..2262b95 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/CopyEngine-collision-and-error.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine-collision-and-error.cpp
@@ -38,7 +38,7 @@ void CopyEngine::mkPathErrorOnFolderSlot(INTERNALTYPEPATH folder,std::string err
}
/// \note Can be call without queue because all call will be serialized
-void CopyEngine::fileAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,TransferThreadAsync * thread,bool isCalledByShowOneNewDialog)
+void CopyEngine::fileAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,TransferThreadAsync * thread)
{
if(stopIt)
return;
@@ -106,13 +106,9 @@ void CopyEngine::fileAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH dest
else
thread->setFileRename(dialog.getNewName());
dialogIsOpen=false;
- if(!isCalledByShowOneNewDialog)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
- emit queryOneNewDialog();
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"NOT emit queryOneNewDialog(), !isCalledByShowOneNewDialog");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
+ //always call to check if pending dialog
+ emit queryOneNewDialog();
return;
break;
}
@@ -161,11 +157,14 @@ void CopyEngine::fileAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH dest
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"close dialog: "+std::to_string(newAction));
if(newAction==FileExists_Cancel)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"cancel");
emit cancelAll();
return;
}
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"close dialog: newAction!=FileExists_Cancel");
if(dialog.getAlways() && newAction!=alwaysDoThisActionForFileExists)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"close dialog: always");
alwaysDoThisActionForFileExists=newAction;
listThread->setAlwaysFileExistsAction(alwaysDoThisActionForFileExists);
if(uiIsInstalled)
@@ -198,18 +197,16 @@ void CopyEngine::fileAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH dest
break;
}
}
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"close dialog: post always");
if(dialog.getAlways() || newAction!=FileExists_Rename)
thread->setFileExistsAction(newAction);
else
thread->setFileRename(dialog.getNewName());
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"close dialog: post set thread");
dialogIsOpen=false;
- if(!isCalledByShowOneNewDialog)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
- emit queryOneNewDialog();
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"NOT emit queryOneNewDialog(), !isCalledByShowOneNewDialog");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
+ //always call to check if pending dialog
+ emit queryOneNewDialog();
return;
break;
}
@@ -254,7 +251,7 @@ void CopyEngine::missingDiskSpace(std::vector<Diskspace> list)
}
/// \note Can be call without queue because all call will be serialized
-void CopyEngine::errorOnFile(INTERNALTYPEPATH fileInfo,std::string errorString,TransferThreadAsync * thread,const ErrorType &errorType,bool isCalledByShowOneNewDialog)
+void CopyEngine::errorOnFile(INTERNALTYPEPATH fileInfo, std::string errorString, TransferThreadAsync * thread, const ErrorType &errorType)
{
if(stopIt)
return;
@@ -309,9 +306,13 @@ void CopyEngine::errorOnFile(INTERNALTYPEPATH fileInfo,std::string errorString,T
WIN32_FILE_ATTRIBUTE_DATA sourceW;
if(GetFileAttributesExW(fileInfo.c_str(),GetFileExInfoStandard,&sourceW))
{
- mdate=sourceW.ftLastWriteTime.dwHighDateTime;
+ LARGE_INTEGER li;
+ li.LowPart = sourceW.ftLastWriteTime.dwLowDateTime;
+ li.HighPart = sourceW.ftLastWriteTime.dwHighDateTime;
+ mdate=(li.QuadPart - 0x019DB1DED53E8000) / 10000000;
+ /*mdate=sourceW.ftLastWriteTime.dwHighDateTime;
mdate<<=32;
- mdate|=sourceW.ftLastWriteTime.dwLowDateTime;
+ mdate|=sourceW.ftLastWriteTime.dwLowDateTime;*/
size=sourceW.nFileSizeHigh;
size<<=32;
size|=sourceW.nFileSizeLow;
@@ -381,13 +382,9 @@ void CopyEngine::errorOnFile(INTERNALTYPEPATH fileInfo,std::string errorString,T
break;
}
dialogIsOpen=false;
- if(!isCalledByShowOneNewDialog)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
- emit queryOneNewDialog();
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"isCalledByShowOneNewDialog==true then not show other dial");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
+ //always call to check if pending dialog
+ emit queryOneNewDialog();
return;
break;
}
@@ -395,7 +392,7 @@ void CopyEngine::errorOnFile(INTERNALTYPEPATH fileInfo,std::string errorString,T
}
/// \note Can be call without queue because all call will be serialized
-void CopyEngine::folderAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,ScanFileOrFolder * thread,bool isCalledByShowOneNewDialog)
+void CopyEngine::folderAlreadyExists(INTERNALTYPEPATH source, INTERNALTYPEPATH destination, bool isSame, ScanFileOrFolder * thread)
{
if(stopIt)
return;
@@ -445,13 +442,9 @@ void CopyEngine::folderAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH de
else
thread->setFolderExistsAction(newAction);
dialogIsOpen=false;
- if(!isCalledByShowOneNewDialog)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
- emit queryOneNewDialog();
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"NOT emit queryOneNewDialog(), !isCalledByShowOneNewDialog");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
+ //always call to check if pending dialog
+ emit queryOneNewDialog();
return;
break;
}
@@ -459,7 +452,7 @@ void CopyEngine::folderAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH de
/// \note Can be call without queue because all call will be serialized
/// \todo all this part
-void CopyEngine::errorOnFolder(INTERNALTYPEPATH fileInfo, std::string errorString, ScanFileOrFolder * thread, ErrorType errorType, bool isCalledByShowOneNewDialog)
+void CopyEngine::errorOnFolder(INTERNALTYPEPATH fileInfo, std::string errorString, ScanFileOrFolder * thread, ErrorType errorType)
{
if(stopIt)
return;
@@ -500,9 +493,13 @@ void CopyEngine::errorOnFolder(INTERNALTYPEPATH fileInfo, std::string errorStrin
WIN32_FILE_ATTRIBUTE_DATA sourceW;
if(GetFileAttributesExW(fileInfo.c_str(),GetFileExInfoStandard,&sourceW))
{
- mdate=sourceW.ftLastWriteTime.dwHighDateTime;
+ LARGE_INTEGER li;
+ li.LowPart = sourceW.ftLastWriteTime.dwLowDateTime;
+ li.HighPart = sourceW.ftLastWriteTime.dwHighDateTime;
+ mdate=(li.QuadPart - 0x019DB1DED53E8000) / 10000000;
+ /*mdate=sourceW.ftLastWriteTime.dwHighDateTime;
mdate<<=32;
- mdate|=sourceW.ftLastWriteTime.dwLowDateTime;
+ mdate|=sourceW.ftLastWriteTime.dwLowDateTime;*/
size=sourceW.nFileSizeHigh;
size<<=32;
size|=sourceW.nFileSizeLow;
@@ -546,13 +543,9 @@ void CopyEngine::errorOnFolder(INTERNALTYPEPATH fileInfo, std::string errorStrin
}
dialogIsOpen=false;
thread->setFolderErrorAction(newAction);
- if(!isCalledByShowOneNewDialog)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
- emit queryOneNewDialog();
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"NOT emit queryOneNewDialog(), !isCalledByShowOneNewDialog");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
+ //always call to check if pending dialog
+ emit queryOneNewDialog();
return;
break;
}
@@ -562,7 +555,7 @@ void CopyEngine::errorOnFolder(INTERNALTYPEPATH fileInfo, std::string errorStrin
// -----------------------------------------------------
//mkpath event
-void CopyEngine::mkPathErrorOnFolder(INTERNALTYPEPATH folder, std::string errorString, const ErrorType &errorType, bool isCalledByShowOneNewDialog)
+void CopyEngine::mkPathErrorOnFolder(INTERNALTYPEPATH folder, std::string errorString, const ErrorType &errorType)
{
if(stopIt)
return;
@@ -600,9 +593,13 @@ void CopyEngine::mkPathErrorOnFolder(INTERNALTYPEPATH folder, std::string errorS
WIN32_FILE_ATTRIBUTE_DATA sourceW;
if(GetFileAttributesExW(folder.c_str(),GetFileExInfoStandard,&sourceW))
{
- mdate=sourceW.ftLastWriteTime.dwHighDateTime;
+ LARGE_INTEGER li;
+ li.LowPart = sourceW.ftLastWriteTime.dwLowDateTime;
+ li.HighPart = sourceW.ftLastWriteTime.dwHighDateTime;
+ mdate=(li.QuadPart - 0x019DB1DED53E8000) / 10000000;
+ /*mdate=sourceW.ftLastWriteTime.dwHighDateTime;
mdate<<=32;
- mdate|=sourceW.ftLastWriteTime.dwLowDateTime;
+ mdate|=sourceW.ftLastWriteTime.dwLowDateTime;*/
size=sourceW.nFileSizeHigh;
size<<=32;
size|=sourceW.nFileSizeLow;
@@ -656,13 +653,9 @@ void CopyEngine::mkPathErrorOnFolder(INTERNALTYPEPATH folder, std::string errorS
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unknow switch case: "+std::to_string(newAction));
break;
}
- if(!isCalledByShowOneNewDialog)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
- emit queryOneNewDialog();
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"NOT emit queryOneNewDialog(), !isCalledByShowOneNewDialog");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
+ //always call to check if pending dialog
+ emit queryOneNewDialog();
return;
break;
}
@@ -676,44 +669,42 @@ void CopyEngine::showOneNewDialog()
return;
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"alreadyExistsQueue.size(): "+std::to_string(alreadyExistsQueue.size()));
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"errorQueue.size(): "+std::to_string(errorQueue.size()));
- //reset to always show the dialog
- dialogIsOpen=false;
- int loop_size=alreadyExistsQueue.size();
- while(loop_size>0)
+ if(dialogIsOpen)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"dialogIsOpen should false here");
{
- if(alreadyExistsQueue.front().transfer!=NULL)
+ const std::vector<alreadyExistsQueueItem> alreadyExistsQueue=this->alreadyExistsQueue;
+ this->alreadyExistsQueue.clear();
+ for(const alreadyExistsQueueItem &u : alreadyExistsQueue)
{
- fileAlreadyExists(alreadyExistsQueue.front().source,
- alreadyExistsQueue.front().destination,
- alreadyExistsQueue.front().isSame,
- alreadyExistsQueue.front().transfer,
- true);
+ if(u.transfer!=NULL)
+ {
+ fileAlreadyExists(u.source,
+ u.destination,
+ u.isSame,
+ u.transfer);
+ }
+ else if(u.scan!=NULL)
+ folderAlreadyExists(u.source,
+ u.destination,
+ u.isSame,
+ u.scan);
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"bug, no thread actived");
}
- else if(alreadyExistsQueue.front().scan!=NULL)
- folderAlreadyExists(alreadyExistsQueue.front().source,
- alreadyExistsQueue.front().destination,
- alreadyExistsQueue.front().isSame,
- alreadyExistsQueue.front().scan,
- true);
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"bug, no thread actived");
- alreadyExistsQueue.erase(alreadyExistsQueue.cbegin());
- loop_size--;
}
- loop_size=errorQueue.size();
- while(errorQueue.size()>0 && loop_size>0)
{
- if(errorQueue.front().transfer!=NULL)
- errorOnFile(errorQueue.front().inode,errorQueue.front().errorString,errorQueue.front().transfer,errorQueue.front().errorType,true);
- else if(errorQueue.front().scan!=NULL)
- errorOnFolder(errorQueue.front().inode,errorQueue.front().errorString,errorQueue.front().scan,errorQueue.front().errorType,true);
- else if(errorQueue.front().mkPath)
- mkPathErrorOnFolder(errorQueue.front().inode,errorQueue.front().errorString,errorQueue.front().errorType,true);
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"bug, no thread actived");
- errorQueue.erase(errorQueue.cbegin());
- loop_size--;
+ const std::vector<errorQueueItem> errorQueue=this->errorQueue;
+ this->errorQueue.clear();
+ for(const errorQueueItem &u : errorQueue)
+ {
+ if(u.transfer!=NULL)
+ errorOnFile(u.inode,u.errorString,u.transfer,u.errorType);
+ else if(u.scan!=NULL)
+ errorOnFolder(u.inode,u.errorString,u.scan,u.errorType);
+ else if(u.mkPath)
+ mkPathErrorOnFolder(u.inode,u.errorString,u.errorType);
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"bug, no thread actived");
+ }
}
- //no more to show then reset
- dialogIsOpen=false;
}
diff --git a/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.cpp b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.cpp
index 8ec21e1..0061f0a 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.cpp
@@ -5,6 +5,10 @@
#include <QFileDialog>
#include <QMessageBox>
#include <cmath>
+#ifdef ULTRACOPIER_PLUGIN_DEBUG
+#include <sys/stat.h>
+#include <regex>
+#endif
#include "CopyEngine.h"
#include "FolderExistsDialog.h"
@@ -464,8 +468,50 @@ bool CopyEngine::newCopy(const std::vector<std::string> &sources,const std::stri
return listThread->newCopy(sources,destination);
}
+#ifdef ULTRACOPIER_PLUGIN_DEBUG
+bool stringStartWithC(std::string const &fullString, std::string const &starting)
+{
+ if (fullString.length() >= starting.length()) {
+ return (fullString.substr(0,starting.length())==starting);
+ } else {
+ return false;
+ }
+}
+#endif
+
bool CopyEngine::newMove(const std::vector<std::string> &sources)
{
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ {
+ std::regex base_regex("^[a-z][a-z][a-z]*:/.*");
+ std::smatch base_match;
+
+ unsigned int index=0;
+ while(index<sources.size())
+ {
+ std::string source=sources.at(index);
+ //can be: file://192.168.0.99/share/file.txt
+ //can be: file:///C:/file.txt
+ //can be: file:///home/user/fileatrootunderunix
+ #ifndef Q_OS_WIN
+ if(stringStartWithC(source,"file:///"))
+ source.replace(0,7,"");
+ #else
+ if(stringStartWithC(source,"file:///"))
+ source.replace(0,8,"");
+ else if(stringStartWithC(source,"file://"))
+ source.replace(0,5,"");
+ else if(stringStartWithC(source,"file:/"))
+ source.replace(0,6,"");
+ #endif
+ if(index<99)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,sources.at(index)+" -> "+source);
+ index++;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source is_file: "+std::to_string(TransferThread::is_file(TransferThread::stringToInternalString(source)))+" is_dir: "+std::to_string(TransferThread::is_dir(TransferThread::stringToInternalString(source))));
+ }
+ }
+ #endif
+
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,stringimplode(sources,", "));
if(forcedMode && mode!=Ultracopier::Move)
{
@@ -764,8 +810,14 @@ void CopyEngine::setFileCollision(int index)
case 6:
alwaysDoThisActionForFileExists=FileExists_Rename;
break;
+ case 7:
+ alwaysDoThisActionForFileExists=FileExists_OverwriteIfNotSameSize;
+ break;
+ case 8:
+ alwaysDoThisActionForFileExists=FileExists_OverwriteIfNotSameSizeAndDate;
+ break;
default:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Error, unknow index, ignored");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Error, unknow index, ignored: "+std::to_string(index));
alwaysDoThisActionForFileExists=FileExists_NotSet;
break;
}
@@ -790,7 +842,7 @@ void CopyEngine::setFileError(int index)
alwaysDoThisActionForFileError=FileError_PutToEndOfTheList;
break;
default:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Error, unknow index, ignored");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Error, unknow index, ignored: "+std::to_string(index));
alwaysDoThisActionForFileError=FileError_NotSet;
break;
}
@@ -826,7 +878,14 @@ void CopyEngine::setNativeCopy(const bool native_copy)
{
this->native_copy=native_copy;
if(uiIsInstalled)
+ {
ui->native_copy->setChecked(native_copy);
+ #ifndef Q_OS_WIN32
+ ui->native_copy->setEnabled(false);
+ ui->label_native_copy->setEnabled(false);
+ ui->native_copy->setToolTip(tr("Supported only on Windows"));
+ #endif
+ }
listThread->setNativeCopy(native_copy);
}
diff --git a/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.h b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.h
index caba5b5..2a43986 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.h
@@ -75,7 +75,7 @@ private:
FileErrorAction alwaysDoThisActionForFileError;
FileErrorAction alwaysDoThisActionForFolderError;
FolderExistsAction alwaysDoThisActionForFolderExists;
- bool dialogIsOpen;
+ volatile bool dialogIsOpen;
volatile bool stopIt;
std::string defaultDestinationFolder;
/// \brief error queue
@@ -140,15 +140,15 @@ private slots:
//dialog message
/// \note Can be call without queue because all call will be serialized
- void fileAlreadyExists(INTERNALTYPEPATH source, INTERNALTYPEPATH destination, bool isSame, TransferThreadAsync * thread, bool isCalledByShowOneNewDialog=false);
+ void fileAlreadyExists(INTERNALTYPEPATH source, INTERNALTYPEPATH destination, bool isSame, TransferThreadAsync * thread);
/// \note Can be call without queue because all call will be serialized
- void errorOnFile(INTERNALTYPEPATH fileInfo, std::string errorString, TransferThreadAsync * thread, const ErrorType &errorType, bool isCalledByShowOneNewDialog=false);
+ void errorOnFile(INTERNALTYPEPATH fileInfo, std::string errorString, TransferThreadAsync * thread, const ErrorType &errorType);
/// \note Can be call without queue because all call will be serialized
- void folderAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,ScanFileOrFolder * thread,bool isCalledByShowOneNewDialog=false);
+ void folderAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,ScanFileOrFolder * thread);
/// \note Can be call without queue because all call will be serialized
- void errorOnFolder(INTERNALTYPEPATH fileInfo, std::string errorString, ScanFileOrFolder * thread, ErrorType errorType, bool isCalledByShowOneNewDialog=false);
+ void errorOnFolder(INTERNALTYPEPATH fileInfo, std::string errorString, ScanFileOrFolder * thread, ErrorType errorType);
//mkpath event
- void mkPathErrorOnFolder(INTERNALTYPEPATH, std::string, const ErrorType &errorType, bool isCalledByShowOneNewDialog=false);
+ void mkPathErrorOnFolder(INTERNALTYPEPATH, std::string, const ErrorType &errorType);
//show one new dialog if needed
void showOneNewDialog();
diff --git a/plugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp b/plugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp
index 9dc9bc2..d437ff5 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp
@@ -54,6 +54,11 @@ CopyEngineFactory::CopyEngineFactory() :
connect(ui->doRightTransfer, &QCheckBox::toggled, this,&CopyEngineFactory::setDoRightTransfer);
connect(ui->keepDate, &QCheckBox::toggled, this,&CopyEngineFactory::setKeepDate);
connect(ui->native_copy, &QCheckBox::toggled, this,&CopyEngineFactory::setNativeCopy);
+ #ifndef Q_OS_WIN32
+ ui->native_copy->setEnabled(false);
+ ui->label_native_copy->setEnabled(false);
+ ui->native_copy->setToolTip(tr("Supported only on Windows"));
+ #endif
connect(ui->os_spec_flags, &QCheckBox::toggled, this,&CopyEngineFactory::setOsSpecFlags);
connect(ui->inodeThreads, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,&CopyEngineFactory::on_inodeThreads_editingFinished);
connect(ui->autoStart, &QCheckBox::toggled, this,&CopyEngineFactory::setAutoStart);
@@ -298,8 +303,9 @@ void CopyEngineFactory::resetOptions()
ui->keepDate->setChecked(stringtobool(options->getOptionValue("keepDate")));
ui->os_spec_flags->setChecked(stringtobool(options->getOptionValue("os_spec_flags")));
ui->native_copy->setChecked(stringtobool(options->getOptionValue("native_copy")));
- #ifdef Q_OS_WIN32
+ #ifndef Q_OS_WIN32
ui->native_copy->setEnabled(false);
+ ui->label_native_copy->setEnabled(false);
ui->native_copy->setToolTip(tr("Supported only on Windows"));
#endif
ui->autoStart->setChecked(stringtobool(options->getOptionValue("autoStart")));
diff --git a/plugins/CopyEngine/Ultracopier-Spec/DebugDialog.cpp b/plugins/CopyEngine/Ultracopier-Spec/DebugDialog.cpp
index 79e1088..8f04867 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/DebugDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/DebugDialog.cpp
@@ -58,6 +58,7 @@ void DebugDialog::updateOnTimer()
{
ui->alreadyExistsQueue->setValue(copyEngine->alreadyExistsQueue.size());
ui->errorQueue->setValue(copyEngine->errorQueue.size());
+ ui->realByteTransfered->setValue(copyEngine->realByteTransfered()/1024);
}
#endif
diff --git a/plugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp b/plugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp
index 587a889..d5f23c8 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp
@@ -25,14 +25,19 @@ FileErrorDialog::FileErrorDialog(QWidget *parent, INTERNALTYPEPATH fileInfo, std
WIN32_FILE_ATTRIBUTE_DATA fileInfoW;
if(GetFileAttributesExW(fileInfo.c_str(),GetFileExInfoStandard,&fileInfoW))
{
- uint64_t mdate=fileInfoW.ftLastWriteTime.dwHighDateTime;
- mdate<<=32;
- mdate|=fileInfoW.ftLastWriteTime.dwLowDateTime;
+ LARGE_INTEGER li;
+ li.LowPart = fileInfoW.ftLastWriteTime.dwLowDateTime;
+ li.HighPart = fileInfoW.ftLastWriteTime.dwHighDateTime;
+ const uint64_t mdate=(li.QuadPart - 0x019DB1DED53E8000) / 10000000;
+ //uint64_t mdate=fileInfoW.ftLastWriteTime.dwHighDateTime;
+ /*mdate<<=32;
+ mdate|=fileInfoW.ftLastWriteTime.dwLowDateTime;*/
uint64_t size=fileInfoW.nFileSizeHigh;
size<<=32;
size|=fileInfoW.nFileSizeLow;
#else
struct stat p_statbuf;
+ memset(&p_statbuf,0,sizeof(p_statbuf));
if(stat(TransferThread::internalStringTostring(fileInfo).c_str(), &p_statbuf)==0)
{
#ifdef Q_OS_UNIX
diff --git a/plugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp b/plugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp
index e0d841e..e6b554d 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp
@@ -52,14 +52,19 @@ FileExistsDialog::FileExistsDialog(QWidget *parent, INTERNALTYPEPATH source,
WIN32_FILE_ATTRIBUTE_DATA sourceW;
if(GetFileAttributesExW(source.c_str(),GetFileExInfoStandard,&sourceW))
{
- uint64_t mdate=sourceW.ftLastWriteTime.dwHighDateTime;
+ LARGE_INTEGER li;
+ li.LowPart = sourceW.ftLastWriteTime.dwLowDateTime;
+ li.HighPart = sourceW.ftLastWriteTime.dwHighDateTime;
+ const uint64_t mdate=(li.QuadPart - 0x019DB1DED53E8000) / 10000000;
+ /*uint64_t mdate=sourceW.ftLastWriteTime.dwHighDateTime;
mdate<<=32;
- mdate|=sourceW.ftLastWriteTime.dwLowDateTime;
+ mdate|=sourceW.ftLastWriteTime.dwLowDateTime;*/
uint64_t size=sourceW.nFileSizeHigh;
size<<=32;
size|=sourceW.nFileSizeLow;
#else
struct stat source_statbuf;
+ memset(&source_statbuf,0,sizeof(source_statbuf));
#ifdef Q_OS_UNIX
if(lstat(TransferThread::internalStringTostring(source).c_str(), &source_statbuf)==0)
#else
@@ -96,14 +101,19 @@ FileExistsDialog::FileExistsDialog(QWidget *parent, INTERNALTYPEPATH source,
WIN32_FILE_ATTRIBUTE_DATA destinationW;
if(GetFileAttributesExW(destination.c_str(),GetFileExInfoStandard,&destinationW))
{
- uint64_t mdate=destinationW.ftLastWriteTime.dwHighDateTime;
+ LARGE_INTEGER li;
+ li.LowPart = destinationW.ftLastWriteTime.dwLowDateTime;
+ li.HighPart = destinationW.ftLastWriteTime.dwHighDateTime;
+ const uint64_t mdate=(li.QuadPart - 0x019DB1DED53E8000) / 10000000;
+ /*uint64_t mdate=destinationW.ftLastWriteTime.dwHighDateTime;
mdate<<=32;
- mdate|=destinationW.ftLastWriteTime.dwLowDateTime;
+ mdate|=destinationW.ftLastWriteTime.dwLowDateTime;*/
uint64_t size=destinationW.nFileSizeHigh;
size<<=32;
size|=destinationW.nFileSizeLow;
#else
struct stat destination_statbuf;
+ memset(&destination_statbuf,0,sizeof(destination_statbuf));
#ifdef Q_OS_UNIX
if(lstat(TransferThread::internalStringTostring(destination).c_str(), &destination_statbuf)==0)
#else
diff --git a/plugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp b/plugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp
index 69d63d0..c99ad10 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp
@@ -39,14 +39,19 @@ FileIsSameDialog::FileIsSameDialog(QWidget *parent, INTERNALTYPEPATH fileInfo,
WIN32_FILE_ATTRIBUTE_DATA fileInfoW;
if(GetFileAttributesExW(fileInfo.c_str(),GetFileExInfoStandard,&fileInfoW))
{
- uint64_t mdate=fileInfoW.ftLastWriteTime.dwHighDateTime;
+ LARGE_INTEGER li;
+ li.LowPart = fileInfoW.ftLastWriteTime.dwLowDateTime;
+ li.HighPart = fileInfoW.ftLastWriteTime.dwHighDateTime;
+ const uint64_t mdate=(li.QuadPart - 0x019DB1DED53E8000) / 10000000;
+ /*uint64_t mdate=fileInfoW.ftLastWriteTime.dwHighDateTime;
mdate<<=32;
- mdate|=fileInfoW.ftLastWriteTime.dwLowDateTime;
+ mdate|=fileInfoW.ftLastWriteTime.dwLowDateTime;*/
uint64_t size=fileInfoW.nFileSizeHigh;
size<<=32;
size|=fileInfoW.nFileSizeLow;
#else
struct stat source_statbuf;
+ memset(&source_statbuf,0,sizeof(source_statbuf));
#ifdef Q_OS_UNIX
if(lstat(TransferThread::internalStringTostring(fileInfo).c_str(), &source_statbuf)==0)
#else
diff --git a/plugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp b/plugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp
index f37acd1..7ad06d9 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp
@@ -2,6 +2,8 @@
#include "ui_folderExistsDialog.h"
#include "TransferThread.h"
#include "../../../cpp11addition.h"
+#include <cstring>
+#include <QDateTime>
#ifdef Q_OS_WIN32
#define CURRENTSEPARATOR "\\"
@@ -32,15 +34,20 @@ FolderExistsDialog::FolderExistsDialog(QWidget *parent, INTERNALTYPEPATH source,
WIN32_FILE_ATTRIBUTE_DATA fileInfoW;
if(GetFileAttributesExW(source.c_str(),GetFileExInfoStandard,&fileInfoW))
{
- uint64_t mdate=fileInfoW.ftLastWriteTime.dwHighDateTime;
+ LARGE_INTEGER li;
+ li.LowPart = fileInfoW.ftLastWriteTime.dwLowDateTime;
+ li.HighPart = fileInfoW.ftLastWriteTime.dwHighDateTime;
+ const uint64_t mdate=(li.QuadPart - 0x019DB1DED53E8000) / 10000000;
+ /*uint64_t mdate=fileInfoW.ftLastWriteTime.dwHighDateTime;
mdate<<=32;
- mdate|=fileInfoW.ftLastWriteTime.dwLowDateTime;
+ mdate|=fileInfoW.ftLastWriteTime.dwLowDateTime;*/
uint64_t size=fileInfoW.nFileSizeHigh;
size<<=32;
size|=fileInfoW.nFileSizeLow;
#else
struct stat source_statbuf;
- if(TransferThread::exists(source))
+ memset(&source_statbuf,0,sizeof(source_statbuf));
+ if (lstat(TransferThread::internalStringTostring(source).c_str(), &source_statbuf) < 0)
{
#ifdef Q_OS_UNIX
#ifdef Q_OS_MAC
@@ -83,6 +90,7 @@ FolderExistsDialog::FolderExistsDialog(QWidget *parent, INTERNALTYPEPATH source,
this->destinationInfo=TransferThread::internalStringTostring(destination);
this->setWindowTitle(tr("Folder already exists"));
struct stat destination_statbuf;
+ memset(&destination_statbuf,0,sizeof(destination_statbuf));
if(TransferThread::exists(destination))
{
#ifdef Q_OS_UNIX
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.qm
index a48b608..cadeaf2 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.qm
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.ts
index d2b3fda..7ff11cf 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation>تم إجبار المحرك على الحركة ، لا يمكنك نسخه</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation>تم إجبار المحرك على النسخ ، لا يمكنك التحرك معه</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation>الوجهه</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation>استخدام الوجهة الفعلية &quot;%1&quot; ؟</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation>تم فرض الوضع مسبقا. هذا خطا داخلي ، الرجاء الإبلاغ عنه</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation>اسال</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation>تخطي</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation>دمج</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation>اعاده تسميه</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation>وضع في نهاية</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation>الكتابة فوق</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation>الكتابة فوق إذا كان مختلفا</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation>الكتابة فوق إذا كان أحدث</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation>الكتابة فوق إذا كان أقدم</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation>خطا في الخيارات</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>لم يتم تحميل محرك الخيارات. غير قادر علي الوصول إلى الفلاتر</translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation>اسال</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation>تخطي</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation>دمج</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation>اعاده تسميه</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation>وضع في نهاية</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation>الكتابة فوق</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation>الكتابة فوق إذا كان مختلفا</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation>الكتابة فوق إذا كان أحدث</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation>الكتابة فوق إذا كان أقدم</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation>خطا في الخيارات</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>لم يتم تحميل محرك الخيارات. غير قادر علي الوصول إلى الفلاتر</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation>لم يتم تحميل محرك الخيارات. غير قادر علي الوصول إلى الفلاتر</translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation>خطأ في المجلد</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation>اسم المجلد</translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation>% اسم%-نسخ% لاحقه%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>(% الاسم%-النسخ (% العدد%% اللاحق +ه%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation>الخطا</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation>حاول أعاده تسميه باستخدام أحرف خاصه</translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation>% اسم%-نسخ% لاحقه%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>(% الاسم%-النسخ (% العدد%% اللاحق +ه%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation>الخطا</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation>حاول أعاده تسميه باستخدام أحرف خاصه</translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation>المجلد موجود بالفعل</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation>% اسم%-نسخ% لاحقه%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>(% الاسم%-النسخ (% العدد%% اللاحق +ه%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation>الخطا</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation>حاول أعاده التسميه باستخدام أحرف خاصه</translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation>غير قادر على إنشاء المجلد</translation>
</message>
@@ -487,28 +495,33 @@
<translation>مجلد المصدر غير موجود</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation>غير قادر على أعاده تسميه المجلد المؤقت</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation>غير قادر على القيام بالخطوة الحقيقية النهائية المجلد</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation>غير قادر على نقل المجلد</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation>errno: %1 :غير قادر على نقل المجلد</translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation>غير قادر على أزاله</translation>
</message>
@@ -521,12 +534,12 @@
<translation>خطا داخلي ، يرجى الإبلاغ عن ذلك!</translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation>غير قادر على قراءه الملف المصدر:</translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation>تم اقتطاع الملف اثناء القراءة ، وتغيير البيانات المحتملة</translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
- <translation>%1-نسخ</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
+ <source>%1 - copy</source>
+ <translation>%1-نسخ</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
<source>%1 - copy (%2)</source>
<translation>%1 - نسخ (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="587"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="589"/>
<source>%name% - copy</source>
<translation>%اسم% - نسخ</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="587"/>
- <location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation>% الاسم%-النسخة (% العدد%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation>مشكله في قراءه المجلد</translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation>% اسم%-نسخ% لاحقه%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>(% الاسم%-النسخ (% العدد%% اللاحق +ه%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation>الملف غير موجود</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation>غير قادر على تغيير التاريخ</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation>حاول أعاده تسميه باستخدام أحرف خاصه</translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation>تاريخ تعديل خاطئ أو غير قادر علي الحصول عليه ، يمكنك تعطيل نقل الوقت للقيام بذلك</translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished">غير قادر على إنشاء مجلد الوجهة:</translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished">errno: %1 غير قادر علي إنشاء المجلد الوجهة</translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation>(خطأ في دقة المسار (مسار فارغ</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation>غير قادر على إنشاء مجلد الوجهة:</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation>errno: %1 غير قادر علي إنشاء المجلد الوجهة</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation>خطا داخلي ، يرجى الإبلاغ عن ذلك!</translation>
</message>
@@ -976,12 +995,27 @@
<translation>&amp; تنفيذ هذا الاجراء دوما</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation>الكتابة فوق إذا اختلف تاريخ التعديل</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation>&amp;الغاء الامر</translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation>الكتابة فوق إذا كان أحدث</translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation>الكتابة فوق إذا كان أقدم</translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.qm
index 10475cf..6a89849 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.qm
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.ts
index 0a32a65..30906dd 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation>Verschiebemodus - Sie können nicht kopieren</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation>Kopiermodus - Sie können nicht verschieben</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation>Ziel</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation>Aktuelles Ziel: &quot;%1&quot; benutzen?</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation>Der Modus wurde vorher erzwungen. Interner Fehler - Bitte bei mir melden</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation>Fragen</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation>Überspringen</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation>Fusionieren</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation>Umbenennen</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation>Ans Ende verschieben</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation>Überschreiben</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation>Überschreiben, falls verschieden</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation>Überschreiben, falls neuer</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation>Überschreiben, falls älter</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation>Fehlerhafte Optionen</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>Optionen nicht geladen - Kein Zugriff auf Filter</translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation>Fragen</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation>Überspringen</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation>Fusionieren</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation>Umbenennen</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation>Ans Ende verschieben</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation>Überschreiben</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation>Überschreiben, falls verschieden</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation>Überschreiben, falls neuer</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation>Überschreiben, falls älter</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation>Fehlerhafte Optionen</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>Option nicht geladen - Kein Zugriff auf Filter</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation>Option nicht geladen - Kann nicht auf Filter zugreifen</translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation>Ordnerfehler</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation>Ordnername</translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished">%name% - Kopie%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished">%name% - Kopie% (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation>Versuche Umbenennung mit Sonderzeichen</translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished">%name% - Kopie%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished">%name% - Kopie% (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation>Versuche Umbenennung mit Sonderzeichen</translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation>Ordner existiert bereits</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished">%name% - Kopie%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished">%name% - Kopie% (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation>Versuche Umbenennung mit Sonderzeichen</translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation>Der Ordner kann nicht erstellt werden</translation>
</message>
@@ -487,28 +495,33 @@
<translation>Quell-Ordner existiert nicht</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation>Kann den Ordner nicht temporär umbenennen</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation>Kann den Ordner nicht endgültig verschieben</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation>Kann den Ordner nicht verschieben</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation>Kann Ordner nicht verschieben: Fehler Nummer: %1</translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation>Kann nicht löschen</translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
- <translation>%1 - Kopie</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
+ <source>%1 - copy</source>
+ <translation>%1 - Kopie</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
<source>%1 - copy (%2)</source>
<translation>%1 - Kopie (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="587"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="589"/>
<source>%name% - copy</source>
<translation>%name% - Kopie</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="587"/>
- <location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation>%name% - Kopie (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation>Problem beim Lesen des Ordners</translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished">%name% - Kopie%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished">%name% - Kopie% (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation>Datei nicht gefunden</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation>Kann Datum nicht ändern</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation>Versuche Umbenennung mit Sonderzeichen</translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation>Falsches Änderungsdatum oder Fehler beim Auslesen, Sie können die Übertragung des Zeitstempels deaktivieren</translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished">Zielordner konnte nicht erstellt werden: </translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished">Zielordner konnte nicht erstellt werden, Fehler Nummer: %1</translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished">Zielordner konnte nicht erstellt werden: </translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished">Zielordner konnte nicht erstellt werden, Fehler Nummer: %1</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation>&amp;Aktion immer ausführen</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation>Überschreiben, falls Änderungsdatum verschieden</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation>Abbrechen (&amp;C)</translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation>Überschreiben, falls neuer</translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation>Überschreiben, falls älter</translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.ts
index f608b09..f043c14 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.qm
index d925dd6..922339a 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.qm
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.ts
index 7bb754e..9d266b0 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.qm
index feaf1fc..f4883db 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.qm
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.ts
index 3565910..41a5dbb 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation>El motor se ve obligado a moverse, no se puede copiar con ella</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation>El motor se ve obligado a copiar, no te puedes mover con él</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation>Destino</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation>Utilice el destino &quot;%1&quot; actual?</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation>El modo se ha visto obligado previamente. Este es un error interno, por favor repórtelo</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation>Compatible solo con Windows</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation>Pedir</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation>Omitir</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation>Unir</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation>Cambiar el nombre</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation>Ponga al final</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation>Sobrescribir</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation>Sobrescribir si es diferente</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation>Sobrescribir si nuevo</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation>Sobrescribir si es mayor</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation>error Opciones</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>Opciones del motor no está cargado. No es posible acceder a los filtros</translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
- <translation type="unfinished"></translation>
+ <translation>Compatible solo con Windows</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation>Pedir</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation>Omitir</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation>Unir</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation>Cambiar el nombre</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation>Ponga al final</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation>Sobrescribir</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation>Sobrescribir si es diferente</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation>Sobrescribir si nuevo</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation>Sobrescribir si es mayor</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation>error Opciones</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>Opciones del motor no está cargado. No es posible acceder a los filtros</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation>Opciones del motor no está cargado, no se puede acceder a los filtros</translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation>Error en la carpeta</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation>Nombre de la carpeta</translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation>%name% - copia%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>%name% - copia (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation>Trate de cambiar el nombre con el uso de caracteres especiales</translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation>%name% - copia%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>%name% - copia (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation>Trate de cambiar el nombre con el uso de caracteres especiales</translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation>Carpeta ya existe</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation>%name% - copia%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>%name% - copia (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation>Trate de cambiar el nombre con el uso de caracteres especiales</translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation>No se puede crear la carpeta</translation>
</message>
@@ -487,28 +495,33 @@
<translation>La carpeta de origen no existe</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation>No es posible cambiar el nombre de la carpeta temporal</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation>No se puede revertir el cambio de nombre temporal para un movimiento real</translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation>No se puede hacer el movimiento final real de la carpeta</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation>No se puede mover la carpeta</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation>No se puede mover la carpeta: errno: %1</translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation>No se puede eliminar</translation>
</message>
@@ -521,12 +534,12 @@
<translation>¡Error interno, por favor repórtelo!</translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation>No se puede leer el archivo fuente: </translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation>Archivo truncado durante la lectura, posible cambio de datos</translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
- <translation>%1 - copia</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
+ <translation>Carpeta en la lista negra</translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
+ <source>%1 - copy</source>
+ <translation>%1 - copia</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
<source>%1 - copy (%2)</source>
<translation>%1 - copia (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="587"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="589"/>
<source>%name% - copy</source>
<translation>%name% - copia</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="587"/>
- <location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation>%name% - copia (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation>Problema con la carpeta leída</translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation>%name% - copia%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>%name% - copia (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation>Archivo no encontrado</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation>No se puede cambiar la fecha</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation>Trate de cambiar el nombre con el uso de caracteres especiales</translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation>Fecha de modificación incorrecta o incapaz de obtenerla, puede desactivar la transferencia de tiempo para hacerlo</translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation>No se puede crear la carpeta de destino: </translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation>No se puede crear la carpeta de destino, errno: %1</translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation>Error de resolución de ruta (ruta vacía)</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation>No se puede crear la carpeta de destino: </translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation>No se puede crear la carpeta de destino, errno: %1</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation>¡Error interno, por favor repórtelo!</translation>
</message>
@@ -793,7 +812,7 @@
<location filename="../../copyEngineOptions.ui" line="397"/>
<location filename="../../copyEngineOptions.ui" line="413"/>
<source>MB</source>
- <translation type="unfinished"></translation>
+ <translation>MB</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="429"/>
@@ -803,32 +822,32 @@
<message>
<location filename="../../copyEngineOptions.ui" line="436"/>
<source>OS Buffer</source>
- <translation type="unfinished"></translation>
+ <translation>Búfer del SO</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="456"/>
<source>Disable parallel transfer when are different devices</source>
- <translation type="unfinished"></translation>
+ <translation>Deshabilitar la transferencia paralela cuando hay diferentes dispositivos</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="463"/>
<source>Buffer for different device</source>
- <translation type="unfinished"></translation>
+ <translation>Búfer para diferentes dispositivos</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="470"/>
<source>OS FLags</source>
- <translation type="unfinished"></translation>
+ <translation>Banderas de SO</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="477"/>
<source>Buffer for same device</source>
- <translation type="unfinished"></translation>
+ <translation>Búfer para el mismo dispositivo</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="484"/>
<source>OS native copy (disable speed limitation)</source>
- <translation type="unfinished"></translation>
+ <translation>Copia nativa del sistema operativo (deshabilitar la limitación de velocidad)</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="514"/>
@@ -976,12 +995,27 @@
<translation>&amp;Siempre realice esta acción</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation>Sobrescribir si la fuente es más nueva que el destino</translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation>Sobrescribir si la fecha de modificación difiere</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation>Sobrescribir si la fuente es más antigua que el destino</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation>Sobrescribir si el destino es más antiguo</translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation>Ca&amp;ncelar</translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation>Sobrescribir si nuevo</translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation>Sobrescribir si es mayor</translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.qm
index c538b95..a40a9f1 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.qm
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.ts
index 19789ff..094e612 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation>Le moteur est forcé en déplacement, vous ne pouvez pas copier avec</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation>Le moteur est forcé en copie, vous ne pouvez pas déplacer avec</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation>Destination</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation>Utiliser la destination actuelle &quot;%1&quot;?</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation>Le mode a été forcé. C&apos;est une erreur interne, merci de la repporter</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation>Pris en charge uniquement sous Windows</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation>Demander</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation>Passer</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation>Fusionner</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation>Renommer</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation>Mettre à la fin</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation>Écraser</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation>Écraser si différent</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation>Écraser si plus récent</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation>Écraser si plus vieux</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation>Erreur d&apos;options</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>Le moteur d&apos;options n&apos;est pas chargé. Impossible d&apos;accédé aux filtres</translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
- <translation type="unfinished"></translation>
+ <translation>Pris en charge uniquement sous Windows</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation>Demander</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation>Passer</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation>Fusionner</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation>Renommer</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation>Mettre à la fin</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation>Écraser</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation>Écraser si différent</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation>Écraser si plus récent</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation>Écraser si plus vieux</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation>Erreur d&apos;options</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>Le moteur d&apos;options n&apos;est pas chargé. Impossible d&apos;accédé aux filtres</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation>Moteur d&apos;options non chargé, impossible d&apos;accéder aux filtres</translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation>Erreur sur un dossier</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation>Nom de répertoire</translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation>%name% - copie%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>%name% - copie (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation>Essaie de renommage avec caratéres interdits</translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation>%name% - copie%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>%name% - copie (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation>Essaie de renommage avec caratéres interdits</translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation>Dossier déjà existant</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation>%name% - copie%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>%name% - copie (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation>Essaie de renommage avec caratéres interdits</translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation>Impossible de créer le répertoire</translation>
</message>
@@ -487,28 +495,33 @@
<translation>Le dossier source n&apos;éxiste pas</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation>Impossible de renommer le dossier</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation>Impossible d&apos;inverser le renommage temporaire pour un déplacement réel</translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation>Impossible de faire le déplacement final du dossier</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation>Impossible de déplacer le dossier</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation>Impossible de déplacer le dossier: errno: %1</translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation>Impossible de supprimer</translation>
</message>
@@ -521,12 +534,12 @@
<translation>Erreur interne, veuillez la signaler!</translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation>Impossible de lire le fichier source: </translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation>Fichier tronqué lors de la lecture, modification possible des données</translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
- <translation>%1 - copie</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
+ <translation>Dossier sur liste noire</translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
+ <source>%1 - copy</source>
+ <translation>%1 - copie</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
<source>%1 - copy (%2)</source>
<translation>%1 - copie (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="587"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="589"/>
<source>%name% - copy</source>
<translation>%name% - copie</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="587"/>
- <location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation>%name% - copie (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation>Probléme avec la lecture du dossier</translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation>%name% - copie%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>%name% - copie (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation>Fichier non trouvé</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation>Essaie de renommage avec caratéres interdits</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation>Impossible de changer la date</translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation>Mauvaise date de modification ou impossible de l&apos;avoir, vous pouvez désactiver le transfert de celui-ci</translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation>Impossible de créer le dossier de destination: </translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation>Impossible de créer le dossier de destination, errno: %1</translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation>Erreur de résolution de chemin (chemin vide)</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation>Impossible de créer le dossier de destination: </translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation>Impossible de créer le dossier de destination, errno: %1</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation>Erreur interne, veuillez la signaler!</translation>
</message>
@@ -793,7 +812,7 @@
<location filename="../../copyEngineOptions.ui" line="397"/>
<location filename="../../copyEngineOptions.ui" line="413"/>
<source>MB</source>
- <translation type="unfinished"></translation>
+ <translation>Mo</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="429"/>
@@ -803,32 +822,32 @@
<message>
<location filename="../../copyEngineOptions.ui" line="436"/>
<source>OS Buffer</source>
- <translation type="unfinished"></translation>
+ <translation>Tampon du système d&apos;exploitation</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="456"/>
<source>Disable parallel transfer when are different devices</source>
- <translation type="unfinished"></translation>
+ <translation>Désactiver le transfert parallèle lorsque différents appareils</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="463"/>
<source>Buffer for different device</source>
- <translation type="unfinished"></translation>
+ <translation>Tampon pour différents appareils</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="470"/>
<source>OS FLags</source>
- <translation type="unfinished"></translation>
+ <translation>Drapeaux du système d&apos;exploitation</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="477"/>
<source>Buffer for same device</source>
- <translation type="unfinished"></translation>
+ <translation>Tampon pour le même appareil</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="484"/>
<source>OS native copy (disable speed limitation)</source>
- <translation type="unfinished"></translation>
+ <translation>Copie native du système d&apos;exploitation (désactiver la limitation de vitesse)</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="514"/>
@@ -976,12 +995,27 @@
<translation>&amp;Toujours faire cette action</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation>Écraser si la source est plus récente que la destination</translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation>Écraser si les dates différes</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation>Écraser si la source est antérieure à la destination</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation>Écraser si destination plus ancienne</translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation>&amp;Annuler</translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation>Écraser si plus récent</translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation>Écraser si plus vieux</translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.ts
index f608b09..f043c14 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.qm
index 6b6a991..37f9dac 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.qm
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.ts
index 5df5fab..09d41cc 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation>A motort mozgatásra kényszerítik, nem másolhatsz vele</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation>A motort másolásra kényszerítik, nem mozgathatsz vele</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation>Cél</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation>Használja a jelenlegi célt: &quot;%1&quot;?</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation>Ezt a módot már korábban kényszerítették. Belső hiba történt, kérlek jelentsd be</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation>Kérdezzen rá</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation>Kihagy</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation>Összeolvaszt</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation>Nevezze át</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation>Helyezze a végére</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation>Felülír</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation>Felülír, ha különbözik</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation>Felülír, ha újabb</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation>Felülír, ha régebbi</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation>Beállítási hiba</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>A beállítási motor nincs betöltve. A szűrők elérése nem lehetséges</translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation>Kérdezzen rá</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation>Kihagy</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation>Összeolvaszt</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation>Nevezze át</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation>Helyezze a végére</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation>Felülír</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation>Felülír, ha különbözik</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation>Felülír, ha újabb</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation>Felülír, ha régebbi</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation>Beállítási hiba</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>A beállítási motor nincs betöltve. A szűrők elérése nem lehetséges</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation>A beállítási motor nincs betöltve, a szűrők elérése nem lehetséges</translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation>Hiba a mappával</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation>Mappa neve</translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation>Átnevezés speciális karakterek használatával</translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation>Átnevezés speciális karakterek használatával</translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation>Mappa már létezik</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation>Átnevezés speciális karakterek használatával</translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation>Mappa létrehozása nem lehetséges</translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation>Eltávolítás nem lehetséges</translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
- <translation>%1 - másolás</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
+ <source>%1 - copy</source>
+ <translation>%1 - másolás</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
<source>%1 - copy (%2)</source>
<translation>%1 - másolás (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="587"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="589"/>
<source>%name% - copy</source>
<translation type="unfinished">%name% - másolás</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="587"/>
- <location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished">%name% - másolás (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation>Fájl nem található</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation>Átnevezés speciális karakterek használatával</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,6 +995,11 @@
<translation>&amp;Mindig hajtsa végre ezt a műveletet</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
@@ -983,9 +1007,13 @@
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation>Felülír, ha régebbi</translation>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="362"/>
@@ -1019,11 +1047,6 @@
<source>&amp;Cancel</source>
<translation>&amp;Mégse</translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation>Felülír, ha újabb</translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.ts
index f608b09..f043c14 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.qm
index 5090866..d9be48c 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.qm
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.ts
index 89d53ff..ad2cf8f 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
- <translation>Impossibile copiare, il motore di copia forzerà lo spostamento</translation>
+ <translation>Il motore è forzato a spostare, non potete copiare con esso</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
- <translation>Impossibile effettuare lo spostamento, il motore di copia forzerà la copia</translation>
+ <translation>Il motore è forzato a copiare, non potete spostare con esso</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
- <translation>Percorso di destinazione</translation>
+ <translation>Destinazione</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
- <translation>Usare l&apos;attuale destinazione? &quot;%1&quot;</translation>
+ <translation>Usare l&apos;attuale destinazione &quot;%1&quot;?</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
- <translation>La modalità è stata forzata precedentemente. Questo è un errore interno, si prega di riportatelo</translation>
+ <translation>La modalità è stata precedentemente forzata. Questo è un errore interno, si prega di riportatelo</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation>Supportato solo per Windows</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation>Chiedi</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation>Salta</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation>Unisci</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation>Rinomina</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation>Metti in coda</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation>Sovrascrivi</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
- <translation>Sovrascrivi se differente</translation>
+ <translation>Sovrascrivi se diverso</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation>Sovrascrivi se più recente</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation>Sovrascrivi se meno recente</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
- <translation>Errore opzioni</translation>
+ <translation>Errore nelle opzioni</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>Motore delle opzioni non caricato. Impossibile accedere ai filtri</translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
- <translation type="unfinished"></translation>
+ <translation>Supportato solo per Windows</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation>Chiedi</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation>Salta</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation>Unisci</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation>Rinomina</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation>Metti in coda</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation>Sovrascrivi</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
- <translation>Sovrascrivi se differente</translation>
+ <translation>Sovrascrivi se diverso</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation>Sovrascrivi se più recente</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation>Sovrascrivi se meno recente</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
- <translation>Errore opzioni</translation>
+ <translation>Errore nelle opzioni</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>Motore delle opzioni non caricato. Impossibile accedere ai filtri</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation>Le opzioni del motore di copia non sono state caricate. Impossibile accedere ai filtri</translation>
</message>
@@ -179,7 +185,7 @@
<message>
<location filename="../../DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
- <translation>Hai bisogno di più spazio su questo disco per finire il trasferimento</translation>
+ <translation>Necessario più spazio su questa unità per finire il trasferimento</translation>
</message>
<message>
<location filename="../../DiskSpace.ui" line="49"/>
@@ -194,18 +200,18 @@
<message>
<location filename="../../DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
- <translation>L&apos;unità %1 ha %2 disponibili, ma necessita di %3</translation>
+ <translation>Unità %1 hanno %2 disponibili, ma necessitano di %3</translation>
</message>
</context>
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
- <translation>Errore con la cartella</translation>
+ <translation>Errore sulla cartella</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation>Nome cartella</translation>
</message>
@@ -213,47 +219,47 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation>Copia di %name% %suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>Copia di %name% (%number%) %suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
- <translation>Tenta ridenominazione usando caratteri speciali</translation>
+ <translation>Tenta rinomina usando caratteri speciali</translation>
</message>
</context>
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation>Copia di %name% %suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>Copia di %name% (%number%) %suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
- <translation>Tenta ridenominazione usando caratteri speciali</translation>
+ <translation>Tenta rinomina usando caratteri speciali</translation>
</message>
</context>
<context>
@@ -271,22 +277,22 @@
<message>
<location filename="../../FilterRules.ui" line="51"/>
<source>Raw text</source>
- <translation>Testo nudo</translation>
+ <translation>Testo grezzo</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="56"/>
<source>Simplified regex</source>
- <translation>Espressione regolare semplificata</translation>
+ <translation>Regex semplificata</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
- <translation>Espressione regolare in Perl</translation>
+ <translation>Regex in Perl</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="69"/>
<source>Apply on:</source>
- <translation>Applicare a:</translation>
+ <translation>Applica per:</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="77"/>
@@ -311,17 +317,17 @@
<message>
<location filename="../../FilterRules.ui" line="102"/>
<source>Checking</source>
- <translation>Verifica</translation>
+ <translation>Verifica in corso</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="115"/>
<source>Test string:</source>
- <translation>Stringa di verifica:</translation>
+ <translation>Stringa di prova:</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="17"/>
<source>Filters dialog</source>
- <translation>Finestra dialogo dei filtri</translation>
+ <translation>Finestra di dialogo filtri</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="95"/>
@@ -331,7 +337,7 @@
<message>
<location filename="../../FilterRules.ui" line="108"/>
<source>The regex is valid</source>
- <translation>L&apos;espressione regolare è valida</translation>
+ <translation>Regex valida</translation>
</message>
</context>
<context>
@@ -354,25 +360,25 @@
<message>
<location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
- <translation>Nessuno = Includi tutti</translation>
+ <translation>Nessuno = Includere tutti</translation>
</message>
<message>
<location filename="../../Filters.cpp" line="94"/>
<location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
- <translation>Testo nudo</translation>
+ <translation>Testo grezzo</translation>
</message>
<message>
<location filename="../../Filters.cpp" line="97"/>
<location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
- <translation>Espressione regolare semplificata</translation>
+ <translation>Regex semplificata</translation>
</message>
<message>
<location filename="../../Filters.cpp" line="100"/>
<location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
- <translation>Espressione regolare in Perl</translation>
+ <translation>Regex in Perl</translation>
</message>
<message>
<location filename="../../Filters.cpp" line="108"/>
@@ -392,35 +398,35 @@
<location filename="../../Filters.cpp" line="217"/>
<location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
- <translation>Corrispondenza completa</translation>
+ <translation>Corrispondenza intera</translation>
</message>
</context>
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
- <translation>Cartella già presente</translation>
+ <translation>Cartella già eistente</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation>Copia di %name% %suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>Copia di %name% (%number%) %suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
- <translation>Tenta ridenominazione usando caratteri speciali</translation>
+ <translation>Tenta rinomina usando caratteri speciali</translation>
</message>
</context>
<context>
@@ -435,12 +441,12 @@
<location filename="../../ListThreadListChange.cpp" line="249"/>
<location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
- <translation>Impossibile salvare la lista di trasferimento %1</translation>
+ <translation>Impossibile salvare lista di trasferimento %1</translation>
</message>
<message>
<location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
- <translation>Problema durante la lettura del file o dimensione file nulla</translation>
+ <translation>Errore durante la lettura del file o dimensione file nulla</translation>
</message>
<message>
<location filename="../../ListThreadListChange.cpp" line="277"/>
@@ -450,17 +456,17 @@
<message>
<location filename="../../ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
- <translation>La lista di trasferimento è in modalità mista ma questa istanza non lo è</translation>
+ <translation>La lista di trasferimento è in modalità mista ma questa istanza no</translation>
</message>
<message>
<location filename="../../ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
- <translation>La lista di trasferimento è in modalità copia ma questa istanza non lo è</translation>
+ <translation>La lista di trasferimento è in modalità copia ma questa istanza no</translation>
</message>
<message>
<location filename="../../ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
- <translation>La lista di trasferimento è in modalità spostamento ma questa istanza non lo è</translation>
+ <translation>La lista di trasferimento è in modalità spostamento ma questa istanza no</translation>
</message>
<message>
<location filename="../../ListThreadListChange.cpp" line="365"/>
@@ -478,39 +484,46 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation>Impossibile creare la cartella</translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
- <translation>La cartella di origine non esiste</translation>
+ <translation>La cartella d&apos;origine non esiste</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
- <translation>Impossibile ridenominare temporaneamente la cartella</translation>
+ <translation>Impossibile rinominare temporaneamente la cartella</translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation>Impossibile invertire rinomina temporanea dello spostamento reale</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
- <translation>Impossibile fare il vero spostamento finale della cartella</translation>
+ <translation>Impossibile effettuare il reale spostamento finale della cartella</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation>Impossibile spostare la cartella</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation>Impossibile spostare la cartella: errore %1</translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
- <translation>Impossibile eliminare</translation>
+ <translation>Impossibile rimuovere</translation>
</message>
</context>
<context>
@@ -521,14 +534,14 @@
<translation>Errore interno, si prega di riportarlo!</translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation>Impossibile leggere file di origine: </translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
- <translation>File troncato durante la lettura. Possibile cambio dati</translation>
+ <translation>File troncato durante la lettura. Possibile modifica dati</translation>
</message>
</context>
<context>
@@ -536,7 +549,7 @@
<message>
<location filename="../../RenamingRules.ui" line="35"/>
<source>First renaming</source>
- <translation>Prima ridenominazione</translation>
+ <translation>Prima rinomina</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="41"/>
@@ -562,55 +575,61 @@
<message>
<location filename="../../RenamingRules.ui" line="51"/>
<source>Second renaming</source>
- <translation>Seconda ridenominazione</translation>
+ <translation>Seconda rinomina</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
- <translation>Regole di ridenominazione</translation>
+ <translation>Regole di rinomina</translation>
</message>
<message>
<location filename="../../RenamingRules.cpp" line="46"/>
<location filename="../../RenamingRules.cpp" line="71"/>
<source>%1 - copy%2</source>
- <translation>Copia di %1 %2</translation>
+ <translation>%1 - copia%2</translation>
</message>
<message>
<location filename="../../RenamingRules.cpp" line="50"/>
<location filename="../../RenamingRules.cpp" line="84"/>
<source>%1 - copy (%2)%3</source>
- <translation>Copia di %1 (%2) %3</translation>
+ <translation>%1 - copia (%2)%3</translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
- <translation>Copia di %1</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
+ <translation>Cartella in lista nera</translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
+ <source>%1 - copy</source>
+ <translation>%1 - copia</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
<source>%1 - copy (%2)</source>
- <translation>Copia di %1 (%2)</translation>
+ <translation>%1 - copia (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="587"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="589"/>
<source>%name% - copy</source>
<translation>Copia di %name%</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="587"/>
- <location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation>Copia di %name% (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation>Problema con la lettura della cartella</translation>
</message>
@@ -618,49 +637,49 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation>Copia di %name% %suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation>Copia di %name% (%number%) %suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation>File non trovato</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
- <translation>Tenta ridenominazione usando caratteri speciali</translation>
+ <translation>Tenta rinomina usando caratteri speciali</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
- <translation>Impossibile cambiare data</translation>
+ <translation>Impossibile cambiare la data</translation>
</message>
</context>
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
- <translation>Data di modifica sbagliata o impossibile ottenerla, potete disabilitare l&apos;orario di trasferimento per procedere</translation>
+ <translation>Data di modifica sbagliata o impossibile da ottenere, si può disabilitare l&apos;orario di trasferimento per procedere</translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
- <translation>Impossibile creare cartella di destinazione: </translation>
+ <translation>Impossibile creare cartella di destinazione:</translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation>Impossibile creare cartella di destinazione, error %1</translation>
</message>
@@ -668,24 +687,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
- <translation>Errore di risoluzione percorso (vuoto)</translation>
+ <translation>Errore nella risoluzione percorso (vuoto)</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
- <translation>Impossibile creare cartella di destinazione: </translation>
+ <translation>Impossibile creare cartella di destinazione:</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation>Impossibile creare cartella di destinazione, errore %1</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation>Errore interno, si prega di riportarlo!</translation>
</message>
@@ -695,27 +714,27 @@
<message>
<location filename="../../copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
- <translation>Trasferimento</translation>
+ <translation>Trasferisci</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
- <translation>Spostare intera cartella</translation>
+ <translation>Sposta l&apos;intera cartella</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
- <translation>Trasferire autorizzazioni dei file</translation>
+ <translation>Trasferisci autorizzazioni file</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
- <translation>Mantenere date dei file</translation>
+ <translation>Mantieni data file</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="114"/>
<source>Create full path if not exists</source>
- <translation>Creare percorso completo se non esistente</translation>
+ <translation>Crea percorso completo se non esistente</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="138"/>
@@ -730,57 +749,57 @@
<message>
<location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
- <translation>Errori di coincidenze</translation>
+ <translation>Errore di collisione</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
- <translation>Quando si verifica errore nelle cartelle</translation>
+ <translation>Quando si verifica un errore nelle cartelle</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
- <translation>Quando si verifica errore nei file</translation>
+ <translation>Quando si verifica un errore nei file</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
- <translation>Quando i file coincidono</translation>
+ <translation>Quando collidono i file</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="239"/>
<source>Overwrite if not same size</source>
- <translation>Sovrascrivere se dimensione differisce</translation>
+ <translation>Sovrascrivi se la dimensione differisce</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="244"/>
<source>Overwrite if modification date differs</source>
- <translation>Sovrascrivere se data di modifica differisce</translation>
+ <translation>Sovrascrivi se la data di modifica differisce</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="266"/>
<source>When folder collision</source>
- <translation>Quando le cartelle coincidono</translation>
+ <translation>Quando collidono le cartelle</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="297"/>
<source>Check if destination folder exists</source>
- <translation>Controllare esistenza cartella di destinazione</translation>
+ <translation>Controllare esistenza della cartella di destinazione</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="304"/>
<source>Renaming rules</source>
- <translation>Regole di ridenominazione</translation>
+ <translation>Regole di rinomina</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="324"/>
<source>Delete partially transferred files</source>
- <translation>Eliminare i file parzialmente trasferiti</translation>
+ <translation>Elimina file parzialmente trasferiti</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="337"/>
<source>Rename the original destination</source>
- <translation>Ridenominare destinazione all&apos;origine</translation>
+ <translation>Rinomina destinazione originale</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="368"/>
@@ -790,48 +809,48 @@
<message>
<location filename="../../copyEngineOptions.ui" line="387"/>
<source>Inode threads</source>
- <translation>Numero thread inode</translation>
+ <translation>Numero thread i-node</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="397"/>
<location filename="../../copyEngineOptions.ui" line="413"/>
<source>MB</source>
- <translation type="unfinished"></translation>
+ <translation>MB</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="429"/>
<source>Uncheck this under Windows create problem</source>
- <translation>Deselezionare ciò su Windows causa problemi</translation>
+ <translation>Deselezionare ciò in Windows crea problemi</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="436"/>
<source>OS Buffer</source>
- <translation type="unfinished"></translation>
+ <translation>Buffer SO</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="456"/>
<source>Disable parallel transfer when are different devices</source>
- <translation type="unfinished"></translation>
+ <translation>Disabilita trasferimenti paralleli quando i dispositivi sono diversi</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="463"/>
<source>Buffer for different device</source>
- <translation type="unfinished"></translation>
+ <translation>Buffer per diverso dispositivo</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="470"/>
<source>OS FLags</source>
- <translation type="unfinished"></translation>
+ <translation>Flags SO</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="477"/>
<source>Buffer for same device</source>
- <translation type="unfinished"></translation>
+ <translation>Buffer per stesso dispositivo</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="484"/>
<source>OS native copy (disable speed limitation)</source>
- <translation type="unfinished"></translation>
+ <translation>Copia nativa SO (disattiva limitazione di velocità)</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="514"/>
@@ -841,7 +860,7 @@
<message>
<location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
- <translation>Controllare spazio su disco</translation>
+ <translation>Controlla spazio su disco</translation>
</message>
<message>
<location filename="../../copyEngineOptions.ui" line="530"/>
@@ -864,7 +883,7 @@
<message>
<location filename="../../fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
- <translation>Errore con file</translation>
+ <translation>Errore con il file</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="20"/>
@@ -879,7 +898,7 @@
<message>
<location filename="../../fileErrorDialog.ui" line="76"/>
<source>Modified</source>
- <translation>Modificato</translation>
+ <translation>Modificata/o</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="93"/>
@@ -894,22 +913,22 @@
<message>
<location filename="../../fileErrorDialog.ui" line="127"/>
<source>Folder</source>
- <translation>Cartelle</translation>
+ <translation>Cartella</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
- <translation>Esegui sempre questa azione</translation>
+ <translation>&amp;Esegui sempre questa azione</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
- <translation>Tenta con privilegi superiori</translation>
+ <translation>Prova con privilegi superiori</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
- <translation>Metti in coda</translation>
+ <translation>Metti in fondo</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="207"/>
@@ -919,12 +938,12 @@
<message>
<location filename="../../fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
- <translation>Salta</translation>
+ <translation>&amp;Salta</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
- <translation>Annulla</translation>
+ <translation>&amp;Annulla</translation>
</message>
</context>
<context>
@@ -932,7 +951,7 @@
<message>
<location filename="../../fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
- <translation>File è già presente</translation>
+ <translation>File già eistente</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="34"/>
@@ -966,66 +985,70 @@
<location filename="../../fileExistsDialog.ui" line="133"/>
<location filename="../../fileExistsDialog.ui" line="221"/>
<source>Folder</source>
- <translation>Cartelle</translation>
+ <translation>Cartella</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
- <translation>Suggerisci nuovo nome</translation>
+ <translation>Suggerisci nuovo &amp;nome</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
- <translation>Esegui sempre questa azione</translation>
+ <translation>&amp;Esegui sempre questa azione</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation>Sovrascrivi se l&apos;origine è più recente della destinazione</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
- <translation>Sovrascrivere se data di modifica differisce</translation>
+ <translation>Sovrascrivi se la data di modifica differisce</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation>Sovrascrivi se l&apos;origine è meno recente della destinazione</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation>Sovrasccrivi se la destinazione è meno recente</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
- <translation>Sovrascrivere se dimensione differisce</translation>
+ <translation>Sovrascrivi se la dimensione differisce</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="370"/>
<location filename="../../fileExistsDialog.ui" line="373"/>
<source>Overwrite if not same size and date</source>
- <translation>Sovrascrivere se dimensione e data differiscono</translation>
+ <translation>Sovrascrivi se dimensione e data differiscono</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
- <translation>Rinomina</translation>
+ <translation>&amp;Rinomina</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
- <translation>Sovrascrivi</translation>
+ <translation>&amp;Sovrascrivi</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
- <translation>Salta</translation>
+ <translation>&amp;Salta</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
- <translation>Annulla</translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation>Sovrascrivi se più recente</translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation>Sovrascrivi se meno recente</translation>
+ <translation>&amp;Annulla</translation>
</message>
</context>
<context>
@@ -1038,7 +1061,7 @@
<message>
<location filename="../../fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
- <translation>Modificato</translation>
+ <translation>Modificata/o</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="70"/>
@@ -1048,37 +1071,37 @@
<message>
<location filename="../../fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
- <translation>Origine e destinazioni sono identiche</translation>
+ <translation>Origine e destinazione sono identiche</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
- <translation>Cartelle</translation>
+ <translation>Cartella</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
- <translation>Suggerisci nuovo nome</translation>
+ <translation>Suggerisci nuovo &amp;nome</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
- <translation>Esegui sempre questa azione</translation>
+ <translation>&amp;Esegui sempre questa azione</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
- <translation>Rinomina</translation>
+ <translation>&amp;Rinomina</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
- <translation>Salta</translation>
+ <translation>&amp;Salta</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
- <translation>Annulla</translation>
+ <translation>&amp;Annulla</translation>
</message>
</context>
<context>
@@ -1096,13 +1119,13 @@
<message>
<location filename="../../folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
- <translation>Origine e destinazioni sono identiche</translation>
+ <translation>Origine e destinazione sono identiche</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="82"/>
<location filename="../../folderExistsDialog.ui" line="150"/>
<source>Modified</source>
- <translation>Modificato</translation>
+ <translation>Modificata/o</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="99"/>
@@ -1114,22 +1137,22 @@
<location filename="../../folderExistsDialog.ui" line="116"/>
<location filename="../../folderExistsDialog.ui" line="184"/>
<source>Folder</source>
- <translation>Cartelle</translation>
+ <translation>Cartella</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
- <translation>Suggerisci nuovo nome</translation>
+ <translation>Suggerisci nuovo &amp;nome</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
- <translation>Esegui sempre questa azione</translation>
+ <translation>&amp;Esegui sempre questa azione</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
- <translation>Rinomina</translation>
+ <translation>&amp;Rinomina</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="252"/>
@@ -1144,7 +1167,7 @@
<message>
<location filename="../../folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
- <translation>Annulla</translation>
+ <translation>&amp;Annulla</translation>
</message>
</context>
</TS>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.ts
index ebb1c5a..5d3d997 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.qm
index 04477d6..1ffa2aa 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.qm
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.ts
index 74fbf13..0c57b9c 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation>엔진이 강제로 이동합니다. 사용자가 복사할 수 없습니다.</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation>엔진이 강제로 복사합니다. 사용자가 이동할 수 없습니다.</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished">대상</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished">실제 대상 &quot;%1&quot;를(을) 사용하시겠습니까?</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation>모드가 이전에 강제되었습니다. 내부 오류입니다. 문제를 보고해 주세요.</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished">Windows에서만 지원</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished">확인</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished">건너뛰기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished">합치기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished">이름 바꾸기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished">끝에 놓기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished">덮어쓰기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished">다르면 덮어쓰기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished">더 최신이면 덮어쓰기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished">더 이전이면 덮어쓰기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished">옵션 오류</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>옵션 엔진이 호출되지 않았습니다. 필터에 액세스할 수 없습니다. </translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished">Windows에서만 지원</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished">확인</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished">건너뛰기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished">합치기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished">이름 바꾸기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished">끝에 놓기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished">덮어쓰기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished">다르면 덮어쓰기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished">더 최신이면 덮어씌우기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished">더 이전이면 덮어쓰기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished">옵션 오류</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>옵션 엔진이 호출되지 않았습니다. 필터에 액세스할 수 없습니다.</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation>옵션 엔진이 호출되지 않았습니다. 필터에 액세스할 수 없습니다.</translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished">폴더 오류</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished">폴더 이름</translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished">%name% - 복사%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished">%name% - 복사 (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation>특수 문자를 사용하여 이름을 바꾸세요.</translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished">%name% - 복사%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished">%name% - 복사 (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation>특수 문자를 사용하여 이름을 바꾸세요.</translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation>폴더가 이미 존재합니다.</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished">%name% - 복사%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished">%name% - 복사 (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation>오류</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation>특수 문자를 사용하여 이름을 바꾸세요.</translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished">폴더를 만들 수 없습니다</translation>
</message>
@@ -487,28 +495,33 @@
<translation>원본 폴더가 존재하지 않습니다.</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation>폴더 이름을 임시로 바꿀 수 없습니다.</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation>폴더를 이동할 수 없습니다.</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation>폴더를 이동할 수 없습니다.</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished">폴더를 이동할 수 없습니다. Errno: %1 </translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation>제거할 수 없습니다.</translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished">내부 오류. 이 문제를 보고해 주세요!</translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished">원본 파일을 읽을 수 없습니다: </translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation>읽기 중 파일이 잘림. 데이터가 변경되었을 수 있습니다. </translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
- <translation type="unfinished">%1 - 복사</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
+ <source>%1 - copy</source>
+ <translation type="unfinished">%1 - 복사</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished">%1 - 복사 (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="587"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="589"/>
<source>%name% - copy</source>
<translation type="unfinished">%name% - 복사</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="587"/>
- <location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished">%name% - 복사 (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished">폴더 읽기 문제</translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished">%name% - 복사%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished">%name% - 복사 (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation>파일을 찾을 수 없습니다.</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation>날짜를 변경할 수 없습니다.</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation>특수 문자를 사용하여 이름을 바꾸세요.</translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation>수정 날짜가 잘못되었거나 가져올 수 없습니다. 시간 보내기를 비활성화할 수 있습니다.</translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished">대상 폴더를 만들 수 없음:</translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished">대상 폴더를 만들 수 없음. Errno: %1</translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished">경로 확인 오류 (빈 경로)</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished">대상 폴더를 만들 수 없음:</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished">대상 폴더를 만들 수 없음. Errno: %1</translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished">내부 오류. 문제를 보고해 주세요!</translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished">&amp;항상 이 동작 수행</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished">수정한 날짜가 다르면 덮어쓰기</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation>&amp;취소</translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished">더 최신이면 덮어쓰기</translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished">더 이전이면 덮어쓰기</translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.ts
index f608b09..f043c14 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.ts
index f608b09..f043c14 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.ts
index f608b09..f043c14 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.ts
index f608b09..f043c14 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.qm
index a1f6180..427ee00 100644
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.qm
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.ts
index 5ca2037..e507d1e 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished">Двигатель вынуждены покинуть свои дома, вы не можете скопировать с ним</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished">Двигатель вынужден копии, вы не можете двигаться вместе с ним</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished">назначение</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished">просить</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished">пропускать</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished">слияние</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished">переименовать</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Заменить, если новее</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished">Опции ошибке</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished">просить</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished">пропускать</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished">слияние</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished">переименовать</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Заменить, если новее</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished">Опции ошибке</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished">Параметры двигателя не загружается, не может получить доступ к фильтрам</translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished">Ошибка в папку</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished">имя папки</translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished">Папка уже существует</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation>Невозможно создать папку</translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
- <translation type="unfinished">%1 - копия</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
+ <source>%1 - copy</source>
+ <translation type="unfinished">%1 - копия</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished">%1 - копия (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="587"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="589"/>
<source>%name% - copy</source>
<translation type="unfinished">%name% - копия</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="587"/>
- <location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished">%name% - копия (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation>отменить</translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation>Заменить, если новее</translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.ts
index f608b09..f043c14 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.ts
index f608b09..f043c14 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.ts
index ebb1c5a..5d3d997 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.ts
@@ -4,91 +4,96 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="438"/>
- <location filename="../../CopyEngine.cpp" line="461"/>
+ <location filename="../../CopyEngine.cpp" line="442"/>
+ <location filename="../../CopyEngine.cpp" line="465"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="473"/>
- <location filename="../../CopyEngine.cpp" line="496"/>
+ <location filename="../../CopyEngine.cpp" line="519"/>
+ <location filename="../../CopyEngine.cpp" line="542"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="520"/>
+ <location filename="../../CopyEngine.cpp" line="566"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="685"/>
+ <location filename="../../CopyEngine.cpp" line="731"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="976"/>
- <location filename="../../CopyEngine.cpp" line="979"/>
- <location filename="../../CopyEngine.cpp" line="984"/>
- <location filename="../../CopyEngine.cpp" line="988"/>
+ <location filename="../../CopyEngine.cpp" line="886"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1035"/>
+ <location filename="../../CopyEngine.cpp" line="1038"/>
+ <location filename="../../CopyEngine.cpp" line="1043"/>
+ <location filename="../../CopyEngine.cpp" line="1047"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="977"/>
- <location filename="../../CopyEngine.cpp" line="981"/>
- <location filename="../../CopyEngine.cpp" line="985"/>
- <location filename="../../CopyEngine.cpp" line="989"/>
+ <location filename="../../CopyEngine.cpp" line="1036"/>
+ <location filename="../../CopyEngine.cpp" line="1040"/>
+ <location filename="../../CopyEngine.cpp" line="1044"/>
+ <location filename="../../CopyEngine.cpp" line="1048"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="980"/>
+ <location filename="../../CopyEngine.cpp" line="1039"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="982"/>
- <location filename="../../CopyEngine.cpp" line="994"/>
+ <location filename="../../CopyEngine.cpp" line="1041"/>
+ <location filename="../../CopyEngine.cpp" line="1053"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="986"/>
+ <location filename="../../CopyEngine.cpp" line="1045"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="990"/>
+ <location filename="../../CopyEngine.cpp" line="1049"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="991"/>
+ <location filename="../../CopyEngine.cpp" line="1050"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="992"/>
+ <location filename="../../CopyEngine.cpp" line="1051"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="993"/>
+ <location filename="../../CopyEngine.cpp" line="1052"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1064"/>
+ <location filename="../../CopyEngine.cpp" line="1123"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -96,75 +101,76 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <location filename="../../CopyEngineFactory.cpp" line="60"/>
+ <location filename="../../CopyEngineFactory.cpp" line="309"/>
<source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="438"/>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="449"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="454"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="450"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="451"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <location filename="../../CopyEngineFactory.cpp" line="452"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <location filename="../../CopyEngineFactory.cpp" line="453"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="469"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <location filename="../../CopyEngineFactory.cpp" line="508"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -200,12 +206,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <location filename="../../FileErrorDialog.cpp" line="92"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <location filename="../../FileErrorDialog.cpp" line="95"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -213,22 +219,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <location filename="../../FileExistsDialog.cpp" line="201"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <location filename="../../FileExistsDialog.cpp" line="208"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <location filename="../../FileExistsDialog.cpp" line="299"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,22 +242,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <location filename="../../FileIsSameDialog.cpp" line="145"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <location filename="../../FileIsSameDialog.cpp" line="152"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <location filename="../../FileIsSameDialog.cpp" line="225"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -398,27 +404,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <location filename="../../FolderExistsDialog.cpp" line="91"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <location filename="../../FolderExistsDialog.cpp" line="172"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <location filename="../../FolderExistsDialog.cpp" line="181"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <location filename="../../FolderExistsDialog.cpp" line="248"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -478,6 +484,8 @@
<message>
<location filename="../../MkPath.cpp" line="187"/>
<location filename="../../MkPath.cpp" line="210"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="363"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
@@ -487,28 +495,33 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="255"/>
+ <location filename="../../MkPath.cpp" line="304"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="278"/>
+ <location filename="../../MkPath.cpp" line="339"/>
+ <source>Unable to reverse temporary rename for real move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="348"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="309"/>
+ <location filename="../../MkPath.cpp" line="379"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="315"/>
+ <location filename="../../MkPath.cpp" line="385"/>
<source>Unable to move the folder: errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../MkPath.cpp" line="124"/>
- <location filename="../../MkPath.cpp" line="394"/>
+ <location filename="../../MkPath.cpp" line="464"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -521,12 +534,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="541"/>
+ <location filename="../../async/ReadThread.cpp" line="543"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/ReadThread.cpp" line="595"/>
+ <location filename="../../async/ReadThread.cpp" line="599"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -582,32 +595,38 @@
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="452"/>
- <location filename="../../ScanFileOrFolder.cpp" line="454"/>
- <source>%1 - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="331"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="681"/>
+ <source>Blacklisted folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="463"/>
<location filename="../../ScanFileOrFolder.cpp" line="465"/>
- <source>%1 - copy (%2)</source>
+ <source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="576"/>
- <location filename="../../ScanFileOrFolder.cpp" line="578"/>
- <source>%name% - copy</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="474"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="476"/>
+ <source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../ScanFileOrFolder.cpp" line="587"/>
<location filename="../../ScanFileOrFolder.cpp" line="589"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="598"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="600"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="673"/>
- <location filename="../../ScanFileOrFolder.cpp" line="677"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="691"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="695"/>
<source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
@@ -615,29 +634,29 @@
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="613"/>
+ <location filename="../../TransferThread.cpp" line="628"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="620"/>
+ <location filename="../../TransferThread.cpp" line="635"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="648"/>
- <location filename="../../TransferThread.cpp" line="889"/>
+ <location filename="../../TransferThread.cpp" line="663"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
<source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="889"/>
- <location filename="../../TransferThread.cpp" line="925"/>
+ <location filename="../../TransferThread.cpp" line="904"/>
+ <location filename="../../TransferThread.cpp" line="940"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="179"/>
+ <location filename="../../TransferThread.cpp" line="188"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -645,19 +664,19 @@
<context>
<name>TransferThreadAsync</name>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="342"/>
<source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="436"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="454"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
- <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="439"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="456"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -665,24 +684,24 @@
<context>
<name>WriteThread</name>
<message>
- <location filename="../../async/WriteThread.cpp" line="135"/>
+ <location filename="../../async/WriteThread.cpp" line="138"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="164"/>
- <location filename="../../async/WriteThread.cpp" line="197"/>
+ <location filename="../../async/WriteThread.cpp" line="167"/>
+ <location filename="../../async/WriteThread.cpp" line="200"/>
<source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="175"/>
- <location filename="../../async/WriteThread.cpp" line="199"/>
+ <location filename="../../async/WriteThread.cpp" line="178"/>
+ <location filename="../../async/WriteThread.cpp" line="202"/>
<source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../async/WriteThread.cpp" line="456"/>
+ <location filename="../../async/WriteThread.cpp" line="464"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
@@ -976,12 +995,27 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="341"/>
+ <source>Overwrite if source newer than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="346"/>
<location filename="../../fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="354"/>
+ <source>Overwrite if source older than destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="357"/>
+ <source>Overwrite if destination older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="362"/>
<location filename="../../fileExistsDialog.ui" line="365"/>
<source>Overwrite if not same size</source>
@@ -1013,17 +1047,6 @@
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="341"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="354"/>
- <location filename="../../fileExistsDialog.ui" line="357"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>fileIsSameDialog</name>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThread.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThread.cpp
index 9c5e8f8..b7a7a69 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/ListThread.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThread.cpp
@@ -166,7 +166,23 @@ void ListThread::transferInodeIsClosed()
{
if(actionToDoListTransfer.at(int_for_internal_loop).id==temp_transfer_thread->transferId)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("[%1] have finish, put at idle; for id: %2").arg(int_for_internal_loop).arg(temp_transfer_thread->transferId).toStdString());
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ std::string threadidstring="?";
+ {
+ size_t index=0;
+ while(index<transferThreadList.size())
+ {
+ if(transferThreadList.at(index)==temp_transfer_thread)
+ {
+ threadidstring=std::to_string(index);
+ break;
+ }
+ index++;
+ }
+ }
+ #endif
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("[%1] have finish, put at idle; for id: %2").arg(QString::fromStdString(threadidstring))
+ .arg(temp_transfer_thread->transferId).toStdString()+" "+TransferThread::internalStringTostring(temp_transfer_thread->getDestinationPath()));
Ultracopier::ReturnActionOnCopyList newAction;
newAction.type=Ultracopier::RemoveItem;
newAction.userAction.moveAt=0;
@@ -196,6 +212,8 @@ void ListThread::transferInodeIsClosed()
}
bytesTransfered+=temp_transfer_thread->transferSize;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+threadidstring+"] transferId=0 currentTransferThread->transferId: "+
+ std::to_string(temp_transfer_thread->transferId)+" on thread "+std::to_string((quint64)QThread::currentThread()));
temp_transfer_thread->transferId=0;
temp_transfer_thread->transferSize=0;
#ifdef ULTRACOPIER_PLUGIN_DEBUG
@@ -215,7 +233,9 @@ void ListThread::transferInodeIsClosed()
int_for_internal_loop++;
}
if(isFound)
- deleteTransferThread();
+ {
+ //deleteTransferThread();//why? generate use after free!
+ }
else
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,QStringLiteral("unable to found item into the todo list, id: %1, index: %2").arg(temp_transfer_thread->transferId).arg(int_for_internal_loop).toStdString());
@@ -271,6 +291,24 @@ void ListThread::transferPutAtBottom()
//move at the end
actionToDoListTransfer.push_back(actionToDoListTransfer.at(indexAction));
actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+indexAction);
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ {
+ size_t index=0;
+ while(index<transferThreadList.size())
+ {
+ if(transferThreadList.at(index)==transfer)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(index)+"] currentTransferThread->transferId: "+
+ std::to_string(transfer->transferId)+" on thread "+std::to_string((quint64)QThread::currentThread()));
+ break;
+ }
+ index++;
+ }
+ if(index>=transferThreadList.size())
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"[?] currentTransferThread->transferId: "+
+ std::to_string(transfer->transferId)+" on thread "+std::to_string((quint64)QThread::currentThread()));
+ }
+ #endif
transfer->transferId=0;
transfer->transferSize=0;
#ifdef ULTRACOPIER_PLUGIN_DEBUG
@@ -301,6 +339,13 @@ void ListThread::fileTransfer(const INTERNALTYPEPATH &sourceFileInfo,const INTER
{
if(stopIt)
return;
+ #ifdef Q_OS_WIN32
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"source: "+TransferThread::internalStringTostring(sourceFileInfo)+
+ ", destination: "+TransferThread::internalStringTostring(destinationFileInfo)+" windows");
+ #else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"source: "+TransferThread::internalStringTostring(sourceFileInfo)+
+ ", destination: "+TransferThread::internalStringTostring(destinationFileInfo)+" unix");
+ #endif
addToTransfer(sourceFileInfo,destinationFileInfo,mode);
}
@@ -310,9 +355,13 @@ void ListThread::fileTransferWithInode(const INTERNALTYPEPATH &sourceFileInfo,co
if(stopIt)
return;
#ifdef Q_OS_WIN32
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"source: "+TransferThread::internalStringTostring(sourceFileInfo)+
+ ", destination: "+TransferThread::internalStringTostring(destinationFileInfo)+" windows "+std::to_string(inode.isFolder));
addToTransfer(sourceFileInfo,destinationFileInfo,mode,inode.size);
#else
(void)inode;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"source: "+TransferThread::internalStringTostring(sourceFileInfo)+
+ ", destination: "+TransferThread::internalStringTostring(destinationFileInfo)+" unix");
addToTransfer(sourceFileInfo,destinationFileInfo,mode);
#endif
}
@@ -642,6 +691,13 @@ uint64_t ListThread::addToTransfer(const INTERNALTYPEPATH &source, const INTERNA
const int64_t tempSize=TransferThread::file_stat_size(source);
if(tempSize>=0)
size=tempSize;
+ else
+ {
+ if(TransferThread::is_file(source))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to detect size on "+TransferThread::internalStringTostring(source));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"File not existing during listing "+TransferThread::internalStringTostring(source));
+ }
}
const std::string &drive=driveManagement.getDrive(TransferThread::internalStringTostring(destination));
if(!drive.empty())//can be a network drive
@@ -850,6 +906,24 @@ void ListThread::doNewActions_inode_manipulation()
if(currentTransferThread->getStat()==TransferStat_Idle && currentTransferThread->transferId==0 &&
overCheckUsedThread.find(currentTransferThread)==overCheckUsedThread.cend()) // /!\ important!
{
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ {
+ size_t index=0;
+ while(index<transferThreadList.size())
+ {
+ if(transferThreadList.at(index)==currentTransferThread)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(index)+"] currentTransferThread->transferId: "+
+ std::to_string(currentTransferThread->transferId)+" on thread "+std::to_string((quint64)QThread::currentThread()));
+ break;
+ }
+ index++;
+ }
+ if(index>=transferThreadList.size())
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"[?] currentTransferThread->transferId: "+
+ std::to_string(currentTransferThread->transferId)+" on thread "+std::to_string((quint64)QThread::currentThread()));
+ }
+ #endif
overCheckUsedThread.insert(currentTransferThread);
std::string drive=driveManagement.getDrive(TransferThread::internalStringTostring(currentActionToDoTransfer.destination));
@@ -871,12 +945,19 @@ void ListThread::doNewActions_inode_manipulation()
currentActionToDoTransfer.mode
))
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(int_for_loop)+"] id: "+
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(int_for_loop)+"] id: "+
std::to_string(currentTransferThread->transferId)+
" is idle, but seam busy at set name: "+TransferThread::internalStringTostring(currentActionToDoTransfer.destination)
);
break;
}
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(int_for_loop)+"] id: "+
+ std::to_string(currentTransferThread->transferId)+
+ " is idle, but seam busy at set name: "+TransferThread::internalStringTostring(currentActionToDoTransfer.destination)
+ );
+ }
currentActionToDoTransfer.isRunning=true;
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(int_for_loop)+"] id: "+
@@ -1063,12 +1144,14 @@ void ListThread::mkPathFirstFolderFinish()
/// \note Can be call without queue because all call will be serialized
void ListThread::fileAlreadyExists(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const bool &isSame)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,TransferThread::internalStringTostring(source)+" to "+TransferThread::internalStringTostring(destination));
emit send_fileAlreadyExists(source,destination,isSame,qobject_cast<TransferThreadAsync *>(sender()));
}
/// \note Can be call without queue because all call will be serialized
void ListThread::errorOnFile(const INTERNALTYPEPATH &fileInfo, const std::string &errorString, const ErrorType &errorType)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,TransferThread::internalStringTostring(fileInfo)+" error: "+errorString);
TransferThreadAsync * transferThread=qobject_cast<TransferThreadAsync *>(sender());
if(transferThread==NULL)
{
@@ -1090,6 +1173,7 @@ void ListThread::errorOnFile(const INTERNALTYPEPATH &fileInfo, const std::string
/// \note Can be call without queue because all call will be serialized
void ListThread::folderAlreadyExists(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const bool &isSame)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,TransferThread::internalStringTostring(source)+" to "+TransferThread::internalStringTostring(destination));
emit send_folderAlreadyExists(source,destination,isSame,qobject_cast<ScanFileOrFolder *>(sender()));
}
@@ -1097,6 +1181,7 @@ void ListThread::folderAlreadyExists(const INTERNALTYPEPATH &source,const INTERN
/// \todo all this part
void ListThread::errorOnFolder(const INTERNALTYPEPATH &fileInfo,const std::string &errorString,const ErrorType &errorType)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,TransferThread::internalStringTostring(fileInfo)+" error: "+errorString);
emit send_errorOnFolder(fileInfo,errorString,qobject_cast<ScanFileOrFolder *>(sender()),errorType);
}
@@ -1121,6 +1206,7 @@ void ListThread::getNeedPutAtBottom(const INTERNALTYPEPATH &fileInfo, const std:
/// \to create transfer thread
void ListThread::createTransferThread()
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
if(stopIt)
return;
if(transferThreadList.size()>=(unsigned int)inodeThreads)
@@ -1206,6 +1292,7 @@ void ListThread::deleteTransferThread()
int index=0;
while(index<loop_size && loop_size>inodeThreads)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"delete thread ["+std::to_string(index)+"]");
if(transferThreadList.at(index)->getStat()==TransferStat_Idle && transferThreadList.at(index)->transferId==0)
{
transferThreadList.at(index)->stop();
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThreadNew.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThreadNew.cpp
index f4a1857..43b7a03 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/ListThreadNew.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThreadNew.cpp
@@ -8,7 +8,7 @@
// -> add thread safe, by Qt::BlockingQueuedConnection
bool ListThread::newCopy(const std::vector<std::string> &sources,const std::string &destination)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start: "+stringimplode(sources,";")+", destination: "+destination);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"sources: "+stringimplode(sources,";")+", destination: "+destination);
ScanFileOrFolder * scanFileOrFolderThread=newScanThread(Ultracopier::Copy);
if(scanFileOrFolderThread==NULL)
{
@@ -60,6 +60,35 @@ bool ListThread::newCopy(const std::vector<std::string> &sources,const std::stri
bool ListThread::newMove(const std::vector<std::string> &sources,const std::string &destination)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ {
+ unsigned int index=0;
+ while(index<sources.size())
+ {
+ std::string source=sources.at(index);
+ //can be: file://192.168.0.99/share/file.txt
+ //can be: file:///C:/file.txt
+ //can be: file:///home/user/fileatrootunderunix
+ #ifndef Q_OS_WIN
+ if(stringStartWith(source,"file:///"))
+ source.replace(0,7,"");
+ #else
+ if(stringStartWith(source,"file:///"))
+ source.replace(0,8,"");
+ else if(stringStartWith(source,"file://"))
+ source.replace(0,5,"");
+ else if(stringStartWith(source,"file:/"))
+ source.replace(0,6,"");
+ #endif
+ if(index<99)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,sources.at(index)+" -> "+source);
+ index++;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source is_file: "+std::to_string(TransferThread::is_file(TransferThread::stringToInternalString(source)))+" is_dir: "+std::to_string(TransferThread::is_dir(TransferThread::stringToInternalString(source))));
+ }
+ }
+ #endif
+
ScanFileOrFolder * scanFileOrFolderThread = newScanThread(Ultracopier::Move);
if(scanFileOrFolderThread==NULL)
{
@@ -92,6 +121,7 @@ bool ListThread::newMove(const std::vector<std::string> &sources,const std::stri
if(index<99)
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,sources.at(index)+" -> "+source);
index++;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source is_file: "+std::to_string(TransferThread::is_file(TransferThread::stringToInternalString(source)))+" is_dir: "+std::to_string(TransferThread::is_dir(TransferThread::stringToInternalString(source))));
sourcesClean.push_back(TransferThread::stringToInternalString(source));
}
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination: "+destination);
diff --git a/plugins/CopyEngine/Ultracopier-Spec/MkPath.cpp b/plugins/CopyEngine/Ultracopier-Spec/MkPath.cpp
index 3d6729c..d6aa0f9 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/MkPath.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/MkPath.cpp
@@ -238,63 +238,133 @@ void MkPath::internalDoThisPath()
}
if(stringStartWith(item.destination,(item.source+text_slash)))
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"move into it self: "+TransferThread::internalStringTostring(item.destination));
+ INTERNALTYPEPATH source=item.source;
+ INTERNALTYPEPATH destination=item.destination;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"move into it self: "+TransferThread::internalStringTostring(destination));
int random=rand();
- INTERNALTYPEPATH tempFolder=FSabsolutePath(item.source)+text_slash+TransferThread::stringToInternalString(std::to_string(random));
+ INTERNALTYPEPATH tempFolder=FSabsolutePath(source)+text_slash+TransferThread::stringToInternalString(std::to_string(random));
+ #ifdef _WIN32
+ #ifdef WIDESTRING
+ stringreplaceAll(tempFolder,L"\\",L"/");
+ #else
+ stringreplaceAll(tempFolder,"\\","/");
+ #endif
+ #endif
+ #ifdef WIDESTRING
+ stringreplaceAll(tempFolder,L"//",L"/");
+ #else
+ stringreplaceAll(tempFolder,"//","/");
+ #endif
while(TransferThread::is_dir(tempFolder))
{
random=rand();
- tempFolder=FSabsolutePath(item.source)+text_slash+TransferThread::stringToInternalString(std::to_string(random));
+ tempFolder=FSabsolutePath(source)+text_slash+TransferThread::stringToInternalString(std::to_string(random));
+ #ifdef _WIN32
+ #ifdef WIDESTRING
+ stringreplaceAll(tempFolder,L"\\",L"/");
+ #else
+ stringreplaceAll(tempFolder,"\\","/");
+ #endif
+ #endif
+ #ifdef WIDESTRING
+ stringreplaceAll(tempFolder,L"//",L"/");
+ #else
+ stringreplaceAll(tempFolder,"//","/");
+ #endif
}
- if(!TransferThread::rename(item.source,tempFolder))
+ #ifdef _WIN32
+ stringreplaceAll(tempFolder,L"/",L"\\");
+ #endif
+
+ #ifdef _WIN32
+ #ifdef WIDESTRING
+ stringreplaceAll(tempFolder,L"\\",L"/");
+ #else
+ stringreplaceAll(tempFolder,"\\","/");
+ #endif
+ #endif
+ #ifdef WIDESTRING
+ stringreplaceAll(tempFolder,L"//",L"/");
+ #else
+ stringreplaceAll(tempFolder,"//","/");
+ #endif
+ #ifdef _WIN32
+ #ifdef WIDESTRING
+ stringreplaceAll(tempFolder,L"/",L"\\");
+ #else
+ stringreplaceAll(tempFolder,"/","\\");
+ #endif
+ #endif
+ if(!TransferThread::rename(source,tempFolder))
{
if(stopIt)
return;
waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to temporary rename the folder: "+TransferThread::internalStringTostring(item.destination));
- emit errorOnFolder(item.destination,tr("Unable to temporary rename the folder").toStdString());
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to temporary rename the folder: from "+TransferThread::internalStringTostring(source)+" to "+TransferThread::internalStringTostring(tempFolder));
+ emit errorOnFolder(destination,tr("Unable to temporary rename the folder").toStdString());
return;
}
- /* http://doc.qt.io/qt-5/qdir.html#rename
- * On most file systems, rename() fails only if oldName does not exist, or if a file with the new name already exists.
- if(!dir.mkpath(FSabsolutePath(item.destination)))
+ if(!TransferThread::mkpath(FSabsolutePath(destination)))
{
- if(!dir.exists(FSabsolutePath(item.destination)))
+ if(!TransferThread::is_dir(FSabsolutePath(destination)))
{
if(stopIt)
return;
waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: "+item.destination.absoluteFilePath());
- emit errorOnFolder(item.destination,tr("Unable to create the folder"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: "+TransferThread::internalStringTostring(destination));
+ emit errorOnFolder(destination,tr("Unable to create the folder").toStdString());
return;
}
- }*/
- if(!TransferThread::rename(tempFolder,item.destination))
+ }
+ #ifdef _WIN32
+ #ifdef WIDESTRING
+ stringreplaceAll(tempFolder,L"\\",L"/");
+ #else
+ stringreplaceAll(tempFolder,"\\","/");
+ #endif
+ #endif
+ #ifdef WIDESTRING
+ stringreplaceAll(tempFolder,L"//",L"/");
+ #else
+ stringreplaceAll(tempFolder,"//","/");
+ #endif
+ if(!TransferThread::rename(tempFolder,destination))
{
- if(stopIt)
+ if(!TransferThread::rename(tempFolder,source))
+ {
+ if(stopIt)
+ return;
+ waitAction=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to reverse temporary rename the folder: from "+TransferThread::internalStringTostring(tempFolder)+" to "+TransferThread::internalStringTostring(destination));
+ emit errorOnFolder(destination,tr("Unable to reverse temporary rename for real move").toStdString());
return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to do the final real move the folder: "+TransferThread::internalStringTostring(item.destination));
- emit errorOnFolder(item.destination,tr("Unable to do the final real move the folder").toStdString());
- return;
+ }
+ else
+ {
+ if(stopIt)
+ return;
+ waitAction=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to temporary rename the folder: from "+TransferThread::internalStringTostring(tempFolder)+" to "+TransferThread::internalStringTostring(destination));
+ emit errorOnFolder(destination,tr("Unable to do the final real move the folder").toStdString());
+ return;
+ }
}
}
else
{
- /* http://doc.qt.io/qt-5/qdir.html#rename
- * On most file systems, rename() fails only if oldName does not exist, or if a file with the new name already exists.
- if(!dir.mkpath(FSabsolutePath(item.destination)))
+ if(!TransferThread::mkpath(FSabsolutePath(item.destination)))
{
- if(!dir.exists(FSabsolutePath(item.destination)))
+ if(!TransferThread::is_dir(FSabsolutePath(item.destination)))
{
if(stopIt)
return;
waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: "+item.destination.absoluteFilePath());
- emit errorOnFolder(item.destination,tr("Unable to create the folder"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: "+TransferThread::internalStringTostring(item.destination));
+ emit errorOnFolder(item.destination,tr("Unable to create the folder").toStdString());
return;
}
- }*/
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"move/rename: "+TransferThread::internalStringTostring(item.source)+" to "+TransferThread::internalStringTostring(item.destination));
if(!TransferThread::rename(item.source,item.destination)!=0)
{
if(stopIt)
@@ -318,22 +388,6 @@ void MkPath::internalDoThisPath()
}
}
}
- if(doTheDateTransfer)
- if(!writeFileDateTime(item.destination))
- {
- if(!TransferThread::exists(item.destination))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to set destination folder time (not exists): "+TransferThread::internalStringTostring(item.destination));
- else if(!TransferThread::is_dir(item.destination))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to set destination folder time (not a dir): "+TransferThread::internalStringTostring(item.destination));
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to set destination folder time: "+TransferThread::internalStringTostring(item.destination));
- /*if(stopIt)
- return;
- waitAction=true;
-
- emit errorOnFolder(item.source,tr("Unable to set time"));
- return;*/
- }
if(doRightTransfer && item.actionType!=ActionType_RealMove)
{
#ifdef Q_OS_UNIX
@@ -383,6 +437,22 @@ void MkPath::internalDoThisPath()
}
#endif
}
+ if(doTheDateTransfer)
+ if(!writeFileDateTime(item.destination))
+ {
+ if(!TransferThread::exists(item.destination))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to set destination folder time (not exists): "+TransferThread::internalStringTostring(item.destination));
+ else if(!TransferThread::is_dir(item.destination))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to set destination folder time (not a dir): "+TransferThread::internalStringTostring(item.destination));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to set destination folder time: "+TransferThread::internalStringTostring(item.destination));
+ /*if(stopIt)
+ return;
+ waitAction=true;
+
+ emit errorOnFolder(item.source,tr("Unable to set time"));
+ return;*/
+ }
if(item.actionType==ActionType_MovePath)
{
if(!rmpath(item.source))
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp b/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp
index b1d8ed2..035ed09 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp
@@ -45,17 +45,22 @@ ScanFileOrFolder::ScanFileOrFolder(const Ultracopier::CopyMode &mode) :
this->mode = mode;
folder_isolation = std::regex("^(.*/)?([^/]+)/$");
setObjectName(QStringLiteral("ScanFileOrFolder"));
- /*#ifdef Q_OS_WIN32
+ #ifdef Q_OS_WIN32
QString userName;
DWORD size=255;
WCHAR * userNameW=new WCHAR[size];
if(GetUserNameW(userNameW,&size))
{
- userName=QString::fromWCharArray(userNameW,size-1);
- blackList.push_back(QFileInfo(QStringLiteral("C:/Users/%1/AppData/Roaming/").arg(userName)));
+ #ifdef WIDESTRING
+ blackList.push_back(INTERNALTYPEPATH(L"C:/Users/")+userNameW+L"/AppData/Roaming/");
+ blackList.push_back(INTERNALTYPEPATH(L"C:\\Users\\")+userNameW+L"\\AppData\\Roaming\\");
+ #else
+ blackList.push_back(INTERNALTYPEPATH("C:/Users/")+userNameW+"/AppData/Roaming/");
+ blackList.push_back(INTERNALTYPEPATH("C:\\Users\\")+userNameW+"\\AppData\\Roaming\\");
+ #endif
}
delete userNameW;
- #endif*/
+ #endif
}
ScanFileOrFolder::~ScanFileOrFolder()
@@ -302,8 +307,8 @@ void ScanFileOrFolder::run()
}
else
{
- //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"tempString: "+tempString+" normal listing, blacklist size: "+std::to_string(blackList.size()));
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"tempString: "+TransferThread::internalStringTostring(tempString)+" normal listing");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"tempString: "+TransferThread::internalStringTostring(tempString)+" normal listing, blacklist size: "+std::to_string(blackList.size()));
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"tempString: "+TransferThread::internalStringTostring(tempString)+" normal listing");
if(stringEndsWith(source,'/'))
source.erase(source.end()-1);
if(stringEndsWith(tempString,'/'))
@@ -313,11 +318,23 @@ void ScanFileOrFolder::run()
}
else
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+" is file or symblink");
- if(stringEndsWith(destination,'/') || stringEndsWith(destination,'\\'))
- emit fileTransfer(source,destination+TransferThread::resolvedName(source),mode);
- else
- emit fileTransfer(source,destination+text_slash+TransferThread::resolvedName(source),mode);
+ INTERNALTYPEPATH destinationFinish=destination;
+ if(stringEndsWith(destinationFinish,'/') || stringEndsWith(destinationFinish,'\\'))
+ destinationFinish.pop_back();
+ destinationFinish+=text_slash;
+ do
+ {
+ fileErrorAction=FileError_NotSet;
+ if(isBlackListed(destination))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"isBlackListed: "+TransferThread::internalStringTostring(destination));
+ emit errorOnFolder(destination,tr("Blacklisted folder").toStdString(),ErrorType_Folder);
+ waitOneAction.acquire();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,std::string("actionNum: ")+std::to_string((int)fileErrorAction));
+ }
+ } while(fileErrorAction==FileError_Retry);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+" is file or symblink, is_file: "+std::to_string(TransferThread::is_file(source)));
+ emit fileTransfer(source,destinationFinish+TransferThread::resolvedName(source),mode);
}
sourceIndex++;
}
@@ -362,38 +379,32 @@ INTERNALTYPEPATH ScanFileOrFolder::resolvDestination(const INTERNALTYPEPATH &des
buf.resize(nbytes);
}
return temp;
- /*do
- {
- fileErrorAction=FileError_NotSet;
- if(isBlackListed(destination))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"isBlackListed: "+destination);
- emit errorOnFolder(destination,tr("Blacklisted folder").toStdString(),ErrorType_Folder);
- waitOneAction.acquire();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"actionNum: "+std::to_string(fileErrorAction));
- }
- } while(fileErrorAction==FileError_Retry || fileErrorAction==FileError_PutToEndOfTheList);
- return newDestination;*/
}
#endif
-/*bool ScanFileOrFolder::isBlackListed(const QFileInfo &destination)
+bool ScanFileOrFolder::isBlackListed(const INTERNALTYPEPATH &path)
{
int index=0;
int size=blackList.size();
+ INTERNALTYPEPATH path2=path;
while(index<size)
{
- if(stringStartWith(destination,blackList.at(index)))
+ #ifdef WIDESTRING
+ stringreplaceAll(path2,L"\\",L"/");
+ #else
+ stringreplaceAll(path2,"\\","/");
+ #endif
+ if(stringStartWith(path2,blackList.at(index)))
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,destination+" start with: "+blackList.at(index));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,TransferThread::internalStringTostring(path)+" start with: "+TransferThread::internalStringTostring(blackList.at(index)));
return true;
}
else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,destination+" not start with: "+blackList.at(index));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,TransferThread::internalStringTostring(path)+" not start with: "+TransferThread::internalStringTostring(blackList.at(index)));
index++;
}
return false;
-}*/
+}
void ScanFileOrFolder::listFolder(INTERNALTYPEPATH source,INTERNALTYPEPATH destination)
{
@@ -664,7 +675,14 @@ void ScanFileOrFolder::listFolder(INTERNALTYPEPATH source,INTERNALTYPEPATH desti
do
{
fileErrorAction=FileError_NotSet;
- if(!TransferThread::entryInfoList(source,entryList))
+ if(isBlackListed(destination))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"isBlackListed: "+TransferThread::internalStringTostring(destination));
+ emit errorOnFolder(destination,tr("Blacklisted folder").toStdString(),ErrorType_Folder);
+ waitOneAction.acquire();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,std::string("actionNum: ")+std::to_string((int)fileErrorAction));
+ }
+ else if(!TransferThread::entryInfoList(source,entryList))
{
#ifdef Q_OS_UNIX
int saveerrno=errno;
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.h b/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.h
index f74d355..bb6b5bd 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.h
@@ -79,6 +79,8 @@ private:
std::vector<INTERNALTYPEPATH> sources;
INTERNALTYPEPATH destination;
volatile bool stopIt;
+ std::vector<INTERNALTYPEPATH> blackList;
+ bool isBlackListed(const INTERNALTYPEPATH &path);
void listFolder(INTERNALTYPEPATH source, INTERNALTYPEPATH destination);
#ifdef Q_OS_UNIX
INTERNALTYPEPATH resolvDestination(const INTERNALTYPEPATH &destination);
diff --git a/plugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition_CopyEngine.h b/plugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition_CopyEngine.h
index 5898e5a..66163a4 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition_CopyEngine.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition_CopyEngine.h
@@ -42,7 +42,8 @@ enum TransferStat
TransferStat_WaitForTheTransfer=2,
TransferStat_Transfer=3,
TransferStat_PostTransfer=5,
- TransferStat_PostOperation=6
+ TransferStat_PostOperation=6,
+ TransferStat_Checksum=7
};
/// \brief Define overwrite mode
diff --git a/plugins/CopyEngine/Ultracopier-Spec/TransferThread.cpp b/plugins/CopyEngine/Ultracopier-Spec/TransferThread.cpp
index d986b49..0a56bd3 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/TransferThread.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/TransferThread.cpp
@@ -93,6 +93,10 @@ void TransferThread::run()
if(!connect(&driveManagement,&DriveManagement::debugInformation,this, &TransferThread::debugInformation, Qt::QueuedConnection))
abort();
#endif
+ if(!connect(this,&TransferThread::setFileRenameSend,this, &TransferThread::setFileRenameInternal, Qt::QueuedConnection))
+ abort();
+ if(!connect(this,&TransferThread::setAlwaysFileExistsActionSend,this, &TransferThread::setAlwaysFileExistsActionInternal, Qt::QueuedConnection))
+ abort();
}
TransferStat TransferThread::getStat() const
@@ -167,6 +171,11 @@ bool TransferThread::setFiles(const INTERNALTYPEPATH& source, const int64_t &siz
void TransferThread::setFileRename(const std::string &nameForRename)
{
+ emit setFileRenameSend(nameForRename);
+}
+
+void TransferThread::setFileRenameInternal(const std::string &nameForRename)
+{
if(transfer_stat!=TransferStat_PreOperation)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+
@@ -257,6 +266,11 @@ bool TransferThread::rename(const INTERNALTYPEPATH &source, const INTERNALTYPEPA
void TransferThread::setAlwaysFileExistsAction(const FileExistsAction &action)
{
+ emit setAlwaysFileExistsActionSend(action);
+}
+
+void TransferThread::setAlwaysFileExistsActionInternal(const FileExistsAction &action)
+{
//ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+QStringLiteral("] action to do always: ")+QString::number(action)));
alwaysDoFileExistsAction=action;
}
@@ -297,6 +311,7 @@ bool TransferThread::isSame()
}
if(checkAlwaysRename())
return false;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,internalStringTostring(source)+" to "+internalStringTostring(destination));
emit fileAlreadyExists(source,destination,true);
return true;
}
@@ -771,7 +786,7 @@ bool TransferThread::mkpath(const INTERNALTYPEPATH &path)
return false;
#endif
- pathCedit.resize(lastpos);
+ pathCedit.resize(lastpos);
previouspos=lastpos;
errno=0;
@@ -981,12 +996,13 @@ int64_t TransferThread::readFileMDateTime(const INTERNALTYPEPATH &source)
return -1;
}
CloseHandle(hFileSouce);
- const int64_t UNIX_TIME_START = 0x019DB1DED53E8000; //January 1, 1970 (start of Unix epoch) in "ticks"
- const int64_t TICKS_PER_SECOND = 10000000; //a tick is 100ns
+ //const int64_t UNIX_TIME_START = 0x019DB1DED53E8000; //January 1, 1970 (start of Unix epoch) in "ticks"
+ //const int64_t TICKS_PER_SECOND = 10000000; //a tick is 100ns
LARGE_INTEGER li;
li.LowPart = ftWrite.dwLowDateTime;
li.HighPart = ftWrite.dwHighDateTime;
- return (li.QuadPart - UNIX_TIME_START) / TICKS_PER_SECOND;
+ //return (li.QuadPart - UNIX_TIME_START) / TICKS_PER_SECOND;
+ return (li.QuadPart - 0x019DB1DED53E8000) / 10000000;
#else
return -1;
#endif
@@ -1044,7 +1060,10 @@ bool TransferThread::readSourceFileDateTime(const INTERNALTYPEPATH &source)
this->ftAccess=ftAccess;
this->ftWrite=ftWrite;
CloseHandle(hFileSouce);
- const uint64_t modtime=(uint64_t)ftWrite.dwLowDateTime + ((uint64_t)2^32 * (uint64_t)ftWrite.dwHighDateTime);
+ LARGE_INTEGER li;
+ li.LowPart = ftWrite.dwLowDateTime;
+ li.HighPart = ftWrite.dwHighDateTime;
+ const uint64_t modtime=(li.QuadPart - 0x019DB1DED53E8000) / 10000000;
if(modtime<ULTRACOPIER_PLUGIN_MINIMALYEAR_TIMESTAMPS)
{
//ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] the sources is older to copy the time: "+source+": "+source.lastModified().toString().toStdString());
@@ -1250,7 +1269,8 @@ bool TransferThread::is_file(const char * const filename)
#ifdef Q_OS_WIN32
DWORD dwAttrib = GetFileAttributesA(TransferThread::toFinalPath(filename).c_str());
return (dwAttrib != INVALID_FILE_ATTRIBUTES &&
- (dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
+ (dwAttrib & FILE_ATTRIBUTE_NORMAL || dwAttrib & FILE_ATTRIBUTE_ARCHIVE)
+ );
#else
struct stat p_statbuf;
if (lstat(filename, &p_statbuf) < 0)
diff --git a/plugins/CopyEngine/Ultracopier-Spec/TransferThread.h b/plugins/CopyEngine/Ultracopier-Spec/TransferThread.h
index 42db854..cb0ab5b 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/TransferThread.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/TransferThread.h
@@ -4,7 +4,7 @@
\licence GPL3, see the file COPYING */
#include <QObject>
-#include <QTime>
+#include <QElapsedTimer>
#include <QThread>
#include <regex>
@@ -169,6 +169,9 @@ signals:
void tryPutAtBottom() const;
/// \brief update the transfer stat
void pushStat(const TransferStat &stat,const uint64_t &pos) const;
+
+ void setFileRenameSend(const std::string &nameForRename);
+ void setAlwaysFileExistsActionSend(const FileExistsAction &action);
public slots:
/// \brief to set files to transfer
virtual bool setFiles(const INTERNALTYPEPATH& source,const int64_t &size,const INTERNALTYPEPATH& destination,const Ultracopier::CopyMode &mode);
@@ -195,6 +198,8 @@ public slots:
void setRenameTheOriginalDestination(const bool &renameTheOriginalDestination);
void set_updateMount();
protected:
+ void setFileRenameInternal(const std::string &nameForRename);
+ void setAlwaysFileExistsActionInternal(const FileExistsAction &action);
enum MoveReturn
{
MoveReturn_skip=0,
@@ -220,8 +225,8 @@ protected:
INTERNALTYPEPATH source;
INTERNALTYPEPATH destination;
int64_t size;
- FileExistsAction fileExistsAction;
- FileExistsAction alwaysDoFileExistsAction;
+ volatile FileExistsAction fileExistsAction;
+ volatile FileExistsAction alwaysDoFileExistsAction;
bool needSkip,needRemove;
int id;
bool deletePartiallyTransferredFiles;
@@ -258,7 +263,7 @@ protected:
//different post-operation
bool doFilePostOperation();
protected:
- QTime startTransferTime;
+ QElapsedTimer startTransferTime;
bool haveTransferTime;
};
diff --git a/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.cpp b/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.cpp
index d83e8ff..c2389b4 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.cpp
@@ -59,8 +59,8 @@ void ReadThread::run()
{
if(!connect(this,&ReadThread::internalStartOpen, this,&ReadThread::internalOpenSlot, Qt::QueuedConnection))
abort();
- if(!connect(this,&ReadThread::internalStartReopen, this,&ReadThread::internalReopen, Qt::QueuedConnection))
- abort();
+ /*if(!connect(this,&ReadThread::internalStartReopen, this,&ReadThread::internalReopen, Qt::QueuedConnection))
+ abort();*/
if(!connect(this,&ReadThread::internalStartRead, this,&ReadThread::internalRead, Qt::QueuedConnection))
abort();
if(!connect(this,&ReadThread::internalStartClose, this,&ReadThread::internalCloseSlot, Qt::QueuedConnection))
@@ -510,6 +510,8 @@ void ReadThread::internalRead()
);
isInReadLoop=false;
emit error();
+ /// in version 2, full close and retry from open(), see comment into TransferThreadAsync::retryAfterError()
+ internalClose();
return;
}
#ifdef Q_OS_WIN32
@@ -546,6 +548,8 @@ void ReadThread::internalRead()
#endif
isInReadLoop=false;
emit error();
+ /// in version 2, full close and retry from open(), see comment into TransferThreadAsync::retryAfterError()
+ internalClose();
return;
}
if(sizeReaden>0)
@@ -597,6 +601,8 @@ void ReadThread::internalRead()
"Source truncated during the read");
isInReadLoop=false;
emit error();
+ /// in version 2, full close and retry from open(), see comment into TransferThreadAsync::retryAfterError()
+ internalClose();
return;
}
isInReadLoop=false;
@@ -742,8 +748,7 @@ int64_t ReadThread::getLastGoodPosition() const
return lastGoodPosition;
}
-//reopen after an error
-void ReadThread::reopen()
+/*void ReadThread::reopen()
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
if(isInReadLoop)
@@ -753,9 +758,10 @@ void ReadThread::reopen()
}
stopIt=true;
emit internalStartReopen();
-}
+}*/
-bool ReadThread::internalReopen()
+/// disabled into version 2, see comment into TransferThreadAsync::retryAfterError()
+/* bool ReadThread::internalReopen()
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
stopIt=false;
@@ -826,7 +832,7 @@ bool ReadThread::internalReopen()
return false;
}
return false;
-}
+}*/
//set the write thread
void ReadThread::setWriteThread(WriteThread * writeThread)
diff --git a/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.h b/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.h
index 4de0129..de0fc9b 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.h
@@ -61,8 +61,8 @@ public:
#endif
/// \brief set block size in KB mostly for speed
bool setBlockSize(const int blockSize);
- /// \brief reopen after an error
- void reopen();
+
+ void reopen();//-> not valid in version 2, beacause it restart from open in case of error
/// \brief set the write thread
void setWriteThread(WriteThread * writeThread);
#ifdef ULTRACOPIER_PLUGIN_DEBUG
@@ -108,7 +108,7 @@ signals:
void resumeAfterErrorByRestartAtTheLastPosition() const;
// internal signals
void internalStartOpen() const;
- void internalStartReopen() const;
+ //void internalStartReopen() const;-> not valid in version 2, beacause it restart from open in case of error
void internalStartRead() const;
void internalStartClose() const;
/// \brief To debug source
@@ -153,7 +153,7 @@ private:
private slots:
bool internalOpen(bool resetLastGoodPosition=true);
bool internalOpenSlot();
- bool internalReopen();
+ //bool internalReopen();
void internalRead();
void internalClose(bool callByTheDestructor=false);
void internalCloseSlot();
diff --git a/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp b/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp
index e52bc7f..22a690a 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp
@@ -112,15 +112,9 @@ TransferThreadAsync::TransferThreadAsync() :
if(!connect(&writeThread,&WriteThread::opened, this, &TransferThreadAsync::write_opened, Qt::QueuedConnection))
abort();
- //error management
-/* if(!connect(&readThread,&ReadThread::isSeekToZeroAndWait, this, &TransferThreadAsync::readThreadIsSeekToZeroAndWait, Qt::QueuedConnection))
- abort();
- if(!connect(&readThread,&ReadThread::resumeAfterErrorByRestartAtTheLastPosition,this, &TransferThreadAsync::readThreadResumeAfterError, Qt::QueuedConnection))
- abort();
+ //error management, just try restart from 0
if(!connect(&readThread,&ReadThread::resumeAfterErrorByRestartAll,&writeThread, &WriteThread::flushAndSeekToZero, Qt::QueuedConnection))
abort();
- if(!connect(&writeThread,&WriteThread::flushedAndSeekedToZero, this, &TransferThread::readThreadResumeAfterError, Qt::QueuedConnection))
- abort();*/
#ifdef ULTRACOPIER_PLUGIN_DEBUG
if(!connect(&readThread,&ReadThread::debugInformation, this, &TransferThreadAsync::debugInformation, Qt::QueuedConnection))
@@ -130,6 +124,8 @@ TransferThreadAsync::TransferThreadAsync() :
if(!connect(&driveManagement,&DriveManagement::debugInformation,this, &TransferThreadAsync::debugInformation, Qt::QueuedConnection))
abort();
#endif
+ if(!connect(this,&TransferThreadAsync::setFileExistsActionSend,this, &TransferThreadAsync::setFileExistsActionInternal, Qt::QueuedConnection))
+ abort();
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start: "+std::to_string((int64_t)QThread::currentThreadId()));
start();
@@ -177,7 +173,7 @@ void TransferThreadAsync::run()
void TransferThreadAsync::startTheTransfer()
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start")+", transfert id: "+std::to_string(transferId));
if(transferId==0)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't start transfert if transferId==0"));
@@ -194,7 +190,7 @@ void TransferThreadAsync::internalStartTheTransfer()
if(QThread::currentThread()!=this)
abort();
#endif
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start")+", transfert id: "+std::to_string(transferId)+" readError: "+std::to_string(writeError)+" writeError: "+std::to_string(writeError)+" canStartTransfer: "+std::to_string(canStartTransfer));
if(transfer_stat==TransferStat_Idle)
{
if(mode!=Ultracopier::Move)
@@ -204,25 +200,25 @@ void TransferThreadAsync::internalStartTheTransfer()
}
return;
}
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start")+", transfert id: "+std::to_string(transferId));
if(transfer_stat==TransferStat_PostOperation)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't start transfert at PostOperation"));
return;
}
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start"));
- if(transfer_stat==TransferStat_Transfer)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start")+", transfert id: "+std::to_string(transferId));
+ if(transfer_stat==TransferStat_Transfer && !readError && !writeError)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't start transfert at Transfer"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't start transfert at Transfer due to transfer_stat==TransferStat_Transfer (double start?)"));
return;
}
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start")+", transfert id: "+std::to_string(transferId));
if(canStartTransfer)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] canStartTransfer is already set to true"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] canStartTransfer is already set to true")+", transfert id: "+std::to_string(transferId)+", transfer_stat: "+std::to_string((int)transfer_stat));
// call for second time, first time was not ready, if blocked in preop why?
//ifCanStartTransfer();
- return;
+ //return;-> try call again, protected by if(transfer_stat!=TransferStat_WaitForTheTransfer /*wait preoperation*/ || !canStartTransfer/*wait start call*/) into ifCanStartTransfer()
}
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] check how start the transfer"));
canStartTransfer=true;
@@ -298,6 +294,11 @@ void TransferThreadAsync::preOperation()
TransferThread::internalStringTostring(source)+" than "+TransferThread::internalStringTostring(destination));
return;
}
+
+ //this case is used only on retry after error
+ readThread.stop();
+ writeThread.stop();
+
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after is same");
/*Why this code?
if(readError)
@@ -308,7 +309,7 @@ void TransferThreadAsync::preOperation()
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] before destination exists");
if(destinationExists())
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] destination exists: "+TransferThread::internalStringTostring(destination));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] destination exists: "+TransferThread::internalStringTostring(destination)+", alwaysDoFileExistsAction: "+std::to_string((int)alwaysDoFileExistsAction));
return;
}
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after destination exists");
@@ -337,6 +338,7 @@ void TransferThreadAsync::preOperation()
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] unable to read the source time: "+TransferThread::internalStringTostring(source));
if(keepDate)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"!doTheDateTransfer && keepDate");
emit errorOnFile(source,tr("Wrong modification date or unable to get it, you can disable time transfer to do it").toStdString());
return;
}
@@ -392,6 +394,12 @@ void TransferThreadAsync::setProgression(const uint64_t &pos, const uint64_t &si
emit readStopped();
transferProgression=pos;
}
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"["+std::to_string(id)+
+ "] transfer_stat:"+std::to_string(transfer_stat)+
+ ", canStartTransfer: "+std::to_string(canStartTransfer)+", transfert id: "+std::to_string(transferId));
+ }
}
#endif
@@ -409,7 +417,7 @@ void TransferThreadAsync::ifCanStartTransfer()
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"["+std::to_string(id)+
"] transfer_stat:"+std::to_string(transfer_stat)+
- ", canStartTransfer: "+std::to_string(canStartTransfer));
+ ", canStartTransfer: "+std::to_string(canStartTransfer)+", transfert id: "+std::to_string(transferId));
//preOperationStopped();//tiger to seam maybe is can be started, maybe this generate a bug
return;
}
@@ -475,8 +483,9 @@ void TransferThreadAsync::ifCanStartTransfer()
writeError=false;
if(realMove)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start real move");
- successFull=TransferThread::rename(source,destination);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start real move, source "+TransferThread::internalStringTostring(source)+" exists: "+std::to_string(TransferThread::exists(source)));
+ if(TransferThread::exists(source))
+ successFull=TransferThread::rename(source,destination);
#ifdef Q_OS_UNIX
if(!successFull && errno==18)
{
@@ -667,6 +676,7 @@ void TransferThreadAsync::ifCanStartTransfer()
#ifdef Q_OS_WIN32
if(native_copy)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,internalStringTostring(source)+" to "+internalStringTostring(destination)+": native_copy enabled");
successFull=CopyFileExW(TransferThread::toFinalPath(source).c_str(),TransferThread::toFinalPath(destination).c_str(),
(LPPROGRESS_ROUTINE)progressRoutine,this,&stopItWin,COPY_FILE_ALLOW_DECRYPTED_DESTINATION | 0x00000800);//0x00000800 is COPY_FILE_COPY_SYMLINK
if(successFull==FALSE)
@@ -717,12 +727,19 @@ void TransferThreadAsync::ifCanStartTransfer()
#ifdef Q_OS_WIN32
readError=true;
writeError=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"!successFull");
emit errorOnFile(destination,strError);
#else
if(readError)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"!successFull on read");
emit errorOnFile(source,strError);
+ }
else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"!successFull on write");
emit errorOnFile(destination,strError);
+ }
#endif
return;
}
@@ -746,22 +763,29 @@ void TransferThreadAsync::checkIfAllIsClosedAndDoOperations()
}
if(!source.empty() && needRemove && (stopIt || needSkip))
if(is_file(source) && source!=destination)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"remove because: is_file(source): "+std::to_string(is_file(source))+", source: "+TransferThread::internalStringTostring(source));
unlink(destination);
+ }
transfer_stat=TransferStat_Idle;
transferSize=readThread.getLastGoodPosition();
if(mode==Ultracopier::Move && !realMove)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] remove mode==Ultracopier::Move && !realMove: "+
+ TransferThread::internalStringTostring(source));
if(exists(destination))
if(!unlink(source))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] move and unable to remove: "+
- TransferThread::internalStringTostring(source)+
+ TransferThread::internalStringTostring(source)+std::string(" ")+
#ifdef Q_OS_WIN32
GetLastErrorStdStr()
#else
strerror(errno)
#endif
);
+ }
transfer_stat=TransferStat_PostTransfer;
emit pushStat(transfer_stat,transferId);
transfer_stat=TransferStat_PostOperation;
@@ -808,52 +832,6 @@ void TransferThreadAsync::stop()
writeThread.stop();
}
-//retry after error
-void TransferThreadAsync::retryAfterError()
-{
- /// \warning skip the resetExtraVariable(); to be more exact and resolv some bug
- if(transfer_stat==TransferStat_Idle)
- {
- if(transferId==0)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+
- ("] seam have bug, source: ")+TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination));
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+
- "] restart all, source: "+TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination));
- readError=false;
- //writeError=false;
- emit internalStartPreOperation();
- return;
- }
- //opening error
- if(transfer_stat==TransferStat_PreOperation)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+
- "] is not idle, source: "+TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination)+
- ", stat: "+std::to_string(transfer_stat));
- readError=false;
- //writeError=false;
- emit internalStartPreOperation();
- //tryOpen();-> recheck all, because can be an error into isSame(), rename(), ...
- return;
- }
- //data streaming error
- if(transfer_stat!=TransferStat_PostOperation && transfer_stat!=TransferStat_Transfer && transfer_stat!=TransferStat_PostTransfer)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] is not in right stat, source: ")+
- TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination)+", stat: "+std::to_string(transfer_stat));
- return;
- }
- if(transfer_stat==TransferStat_PostOperation)
- {
- emit internalStartPostOperation();
- return;
- }
- emit internalTryStartTheTransfer();
-}
-
//skip the copy
void TransferThreadAsync::skip()
{
@@ -979,9 +957,22 @@ int64_t TransferThreadAsync::copiedSize()
switch(static_cast<TransferStat>(transfer_stat))
{
case TransferStat_Transfer:
+ if(transferProgression>0)//then native copy started, read/write thread not used
+ return transferProgression;
+ else
+ return (readThread.getLastGoodPosition()+writeThread.getLastGoodPosition())/2;
+ break;
case TransferStat_PostOperation:
+ if(transferProgression>0)//then native copy started, read/write thread not used
+ return transferSize;
+ else
+ return (readThread.getLastGoodPosition()+writeThread.getLastGoodPosition())/2;
+ break;
case TransferStat_PostTransfer:
- return (readThread.getLastGoodPosition()+writeThread.getLastGoodPosition())/2;
+ if(transferProgression>0)//then native copy started, read/write thread not used
+ return transferProgression;
+ else
+ return (readThread.getLastGoodPosition()+writeThread.getLastGoodPosition())/2;
default:
return 0;
}
@@ -1066,14 +1057,17 @@ char TransferThreadAsync::writingLetter() const
//not copied size, ...
uint64_t TransferThreadAsync::realByteTransfered() const
{
- const uint64_t &l=readThread.getLastGoodPosition();
switch(static_cast<TransferStat>(transfer_stat))
{
case TransferStat_Transfer:
+ if(transferProgression>0)//then native copy started, read/write thread not used
+ return transferProgression;
+ else
+ return readThread.getLastGoodPosition();
case TransferStat_PostTransfer:
- return l;
+ return readThread.getLastGoodPosition();
case TransferStat_PostOperation:
- return l;
+ return readThread.getLastGoodPosition();
default:
return 0;
}
@@ -1086,8 +1080,16 @@ std::pair<uint64_t, uint64_t> TransferThreadAsync::progression() const
switch(static_cast<TransferStat>(transfer_stat))
{
case TransferStat_Transfer:
- returnVar.first=readThread.getLastGoodPosition();
- returnVar.second=writeThread.getLastGoodPosition();
+ if(transferProgression>0)//then native copy started, read/write thread not used
+ {
+ returnVar.first=transferProgression;
+ returnVar.second=transferProgression;
+ }
+ else
+ {
+ returnVar.first=readThread.getLastGoodPosition();
+ returnVar.second=writeThread.getLastGoodPosition();
+ }
/*if(returnVar.first<returnVar.second)
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+QStringLiteral("] read is smaller than write"));*/
break;
@@ -1110,6 +1112,11 @@ std::pair<uint64_t, uint64_t> TransferThreadAsync::progression() const
void TransferThreadAsync::setFileExistsAction(const FileExistsAction &action)
{
+ emit setFileExistsActionSend(action);
+}
+
+void TransferThreadAsync::setFileExistsActionInternal(const FileExistsAction &action)
+{
if(transfer_stat!=TransferStat_PreOperation)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+
@@ -1249,7 +1256,12 @@ void TransferThreadAsync::read_error()
readError = true;
//writeIsReadyVariable = false;//wrong because write can be ready here
if(!writeError)//already display error for the write
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"read error && !writeError");
emit errorOnFile(source,readThread.errorString());
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"read error && writeError");
}
void TransferThreadAsync::read_readIsStopped()
@@ -1447,3 +1459,70 @@ void TransferThreadAsync::setNativeCopy(bool native_copy)
{
this->native_copy=native_copy;
}
+
+//////////////////////////////////////////////////////////////////
+/////////////////////// Error management /////////////////////////
+//////////////////////////////////////////////////////////////////
+
+void TransferThreadAsync::retryAfterError()
+{
+ /// \warning skip the resetExtraVariable(); to be more exact and resolv some bug
+ if(transfer_stat==TransferStat_Idle)
+ {
+ if(transferId==0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+
+ ("] seam have bug, source: ")+TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination));
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+
+ "] restart all, source: "+TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination));
+ readError=false;
+ //writeError=false;
+ emit internalStartPreOperation();
+ return;
+ }
+ //opening error
+ if(transfer_stat==TransferStat_PreOperation)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+
+ "] is not idle, source: "+TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination)+
+ ", stat: "+std::to_string(transfer_stat));
+ readError=false;
+ writeError=false;//why was commented?
+ emit internalStartPreOperation();
+ //tryOpen();-> recheck all, because can be an error into isSame(), rename(), ...
+ return;
+ }
+ //data streaming error
+ if(transfer_stat!=TransferStat_PostOperation && transfer_stat!=TransferStat_Transfer && transfer_stat!=TransferStat_PostTransfer)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] is not in right stat, source: ")+
+ TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination)+", stat: "+std::to_string(transfer_stat));
+ return;
+ }
+ if(transfer_stat==TransferStat_PostOperation)
+ {
+ emit internalStartPostOperation();
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+
+ "] retryAfterError, source: "+TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination));
+
+ /*try restart from 0
+ * This is simplest way
+ * Simple mean less bug
+ * Allow restart with native copy
+ * More data check
+ * Yes it's less efficient, on failed on source, if after close/reopen the size is same, can be resumed where it stop
+ * */
+ //emit internalTryStartTheTransfer(); -> wrong in version 2
+ resetExtraVariable();
+ /*included into resetExtraVariable()
+ writeIsOpenVariable=false;
+ readError=false;
+ writeError=false;*/
+ transfer_stat=TransferStat_PreOperation;
+ writeThread.flushBuffer();
+ emit internalStartPreOperation();
+}
diff --git a/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.h b/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.h
index 83ddb91..404735a 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.h
@@ -112,6 +112,8 @@ signals:
void openRead(const INTERNALTYPEPATH &file, const Ultracopier::CopyMode &mode);
//async due to tread conflict on to, if(to>=0) {do something, abort() -> on abort to =-1}
void openWrite(const INTERNALTYPEPATH &file,const uint64_t &startSize);
+
+ void setFileExistsActionSend(const FileExistsAction &action);
public slots:
/// \brief to start the transfer of data
void startTheTransfer();
@@ -119,8 +121,6 @@ public slots:
void stop();
/// \brief skip the copy
void skip();
- /// \brief retry after error
- void retryAfterError();
/// \brief return info about the copied size
int64_t copiedSize();
/// \brief put the current file at bottom
@@ -132,7 +132,12 @@ public slots:
#ifdef Q_OS_WIN32
void setProgression(const uint64_t &pos,const uint64_t &size);
#endif
+
+ //eror management
+ /// \brief retry after error
+ void retryAfterError();
private:
+ void setFileExistsActionInternal(const FileExistsAction &action);
//ready = open + ready to operation (no error to resolv)
bool transferIsReadyVariable;
uint64_t transferProgression;
diff --git a/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.cpp b/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.cpp
index 2d6748e..154eed2 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.cpp
@@ -63,8 +63,9 @@ void WriteThread::run()
{
if(!connect(this,&WriteThread::internalStartOpen, this,&WriteThread::internalOpen, Qt::QueuedConnection))
abort();
- if(!connect(this,&WriteThread::internalStartReopen, this,&WriteThread::internalReopen, Qt::QueuedConnection))
- abort();
+ /// in version 2, full close and retry from open(), see comment into TransferThreadAsync::retryAfterError()
+ /*if(!connect(this,&WriteThread::internalStartReopen, this,&WriteThread::internalReopen, Qt::QueuedConnection))
+ abort();*/
if(!connect(this,&WriteThread::internalStartWrite, this,&WriteThread::internalWrite, Qt::QueuedConnection))
abort();
if(!connect(this,&WriteThread::internalStartClose, this,&WriteThread::internalCloseSlot, Qt::QueuedConnection))
@@ -73,6 +74,8 @@ void WriteThread::run()
abort();
if(!connect(this,&WriteThread::internalStartFlushAndSeekToZero, this,&WriteThread::internalFlushAndSeekToZero, Qt::QueuedConnection))
abort();
+ if(!connect(this,&WriteThread::openWriteSend, this,&WriteThread::openWriteInternal, Qt::QueuedConnection))
+ abort();
exec();
}
@@ -450,6 +453,11 @@ bool WriteThread::internalOpen()
void WriteThread::openWrite(const INTERNALTYPEPATH &file, const uint64_t &startSize)
{
+ emit openWriteInternal(file,startSize);
+}
+
+void WriteThread::openWriteInternal(const INTERNALTYPEPATH &file, const uint64_t &startSize)
+{
if(!isRunning())
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] the thread not running to open destination: "+TransferThread::internalStringTostring(file)+", numberOfBlock: "+std::to_string(numberOfBlock));
@@ -799,7 +807,8 @@ void WriteThread::internalClose(bool emitSignal)
isOpen.release();
}
-void WriteThread::internalReopen()
+/// in version 2, full close and retry from open(), see comment into TransferThreadAsync::retryAfterError()
+/*void WriteThread::internalReopen()
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
INTERNALTYPEPATH tempFile=file;
@@ -810,15 +819,16 @@ void WriteThread::internalReopen()
file=tempFile;
if(internalOpen())
emit reopened();
-}
+}*/
-void WriteThread::reopen()
+/// in version 2, full close and retry from open(), see comment into TransferThreadAsync::retryAfterError()
+/*void WriteThread::reopen()
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
stopIt=true;
endDetected=false;
emit internalStartReopen();
-}
+}*/
#ifdef ULTRACOPIER_PLUGIN_DEBUG
//to set the id
@@ -1126,14 +1136,26 @@ void WriteThread::internalWrite()
#endif
stopIt=true;
emit error();
+ /// in version 2, full close and retry from open(), see comment into TransferThreadAsync::retryAfterError()
+ internalClose(false);
+ flushBuffer();
return;
}
if(bytesWriten!=blockArray.size)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Error in writing, bytesWriten: %1, blockArray.size(): %2").arg(bytesWriten).arg(blockArray.size).toStdString());
- errorString_internal=QStringLiteral("Error in writing, bytesWriten: %1, blockArray.size(): %2").arg(bytesWriten).arg(blockArray.size).toStdString();
+ #ifdef Q_OS_WIN32
+ std::string eStr=TransferThread::GetLastErrorStdStr();
+ #else
+ int t=errno;
+ std::string eStr=strerror(t);
+ #endif
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Error in writing, bytesWriten: %1, blockArray.size(): %2").arg(bytesWriten).arg(blockArray.size).toStdString()+", "+eStr);
+ errorString_internal=QStringLiteral("Error in writing, bytesWriten: %1, blockArray.size(): %2").arg(bytesWriten).arg(blockArray.size).toStdString()+", "+eStr;
stopIt=true;
emit error();
+ /// in version 2, full close and retry from open(), see comment into TransferThreadAsync::retryAfterError()
+ internalClose(false);
+ flushBuffer();
return;
}
lastGoodPosition+=bytesWriten;
diff --git a/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.h b/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.h
index 5e0b265..6c587a0 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.h
@@ -101,7 +101,7 @@ public slots:
/// \brief set the end is detected
void endIsDetected();
/// \brief reopen the file
- void reopen();
+ //void reopen();
/// \brief flush and seek to zero
void flushAndSeekToZero();
void setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles);
@@ -119,11 +119,12 @@ signals:
void closed() const;
//internal signals
void internalStartOpen() const;
- void internalStartReopen() const;
+ //void internalStartReopen() const;
void internalStartWrite() const;
void internalStartClose() const;
void internalStartEndOfFile() const;
void internalStartFlushAndSeekToZero() const;
+ void openWriteSend(const INTERNALTYPEPATH &file,const uint64_t &startSize);
/// \brief To debug source
void debugInformation(const Ultracopier::DebugLevel &level,const std::string &fonction,const std::string &text,const std::string &file,const int &ligne) const;
private:
@@ -173,9 +174,10 @@ private slots:
void internalWrite();
void internalCloseSlot();
void internalClose(bool emitSignal=true);
- void internalReopen();
+ //void internalReopen();
void internalEndOfFile();
void internalFlushAndSeekToZero();
+ void openWriteInternal(const INTERNALTYPEPATH &file,const uint64_t &startSize);
};
#endif // WRITETHREAD_H
diff --git a/plugins/CopyEngine/Ultracopier-Spec/copyEngineOptions.ui b/plugins/CopyEngine/Ultracopier-Spec/copyEngineOptions.ui
index e646a2d..a399c70 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/copyEngineOptions.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/copyEngineOptions.ui
@@ -479,7 +479,7 @@
</widget>
</item>
<item row="6" column="0">
- <widget class="QLabel" name="label_16">
+ <widget class="QLabel" name="label_native_copy">
<property name="text">
<string>OS native copy (disable speed limitation)</string>
</property>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/debugDialog.ui b/plugins/CopyEngine/Ultracopier-Spec/debugDialog.ui
index 5803f99..53f49b9 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/debugDialog.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/debugDialog.ui
@@ -56,16 +56,6 @@
<string notr="true">Variables</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string notr="true">Active transfer:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QSpinBox" name="alreadyExistsQueue"/>
- </item>
<item row="1" column="1">
<widget class="QSpinBox" name="spinBoxNumberOfInode">
<property name="readOnly">
@@ -76,6 +66,20 @@
</property>
</widget>
</item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string notr="true">alreadyExistsQueueItem:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string notr="true">Active transfer:</string>
+ </property>
+ </widget>
+ </item>
<item row="0" column="1">
<widget class="QSpinBox" name="spinBoxActiveTransfer">
<property name="readOnly">
@@ -96,12 +100,8 @@
<item row="3" column="1">
<widget class="QSpinBox" name="errorQueue"/>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string notr="true">alreadyExistsQueueItem:</string>
- </property>
- </widget>
+ <item row="2" column="1">
+ <widget class="QSpinBox" name="alreadyExistsQueue"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
@@ -110,6 +110,20 @@
</property>
</widget>
</item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string notr="true">realByteTransfered:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QSpinBox" name="realByteTransfered">
+ <property name="maximum">
+ <number>999999999</number>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/fileExistsDialog.ui b/plugins/CopyEngine/Ultracopier-Spec/fileExistsDialog.ui
index 2ca480b..0455387 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/fileExistsDialog.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/fileExistsDialog.ui
@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>615</width>
+ <width>620</width>
<height>222</height>
</rect>
</property>
@@ -338,7 +338,7 @@
</layout>
<action name="actionOverwrite_if_newer">
<property name="text">
- <string>Overwrite if newer</string>
+ <string>Overwrite if source newer than destination</string>
</property>
</action>
<action name="actionOverwrite_if_not_same_modification_date">
@@ -351,10 +351,10 @@
</action>
<action name="actionOverwrite_if_older">
<property name="text">
- <string>Overwrite if older</string>
+ <string>Overwrite if source older than destination</string>
</property>
<property name="toolTip">
- <string>Overwrite if older</string>
+ <string>Overwrite if destination older</string>
</property>
</action>
<action name="actionOverwrite_if_not_same_size">
diff --git a/plugins/CopyEngine/Ultracopier-Spec/informations.xml b/plugins/CopyEngine/Ultracopier-Spec/informations.xml
index d906bfb..15e003e 100755
--- a/plugins/CopyEngine/Ultracopier-Spec/informations.xml
+++ b/plugins/CopyEngine/Ultracopier-Spec/informations.xml
@@ -17,7 +17,7 @@
<description xml:lang="en"><![CDATA[Copy engine of Ultracopier, OS Specific, Posix for Unix, Win32API for windows]]></description>
<description xml:lang="fr"><![CDATA[Moteur de copie d'ultracopier, spécifique à l'OS, Posix pour Unix, Win32API pour windows]]></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>2.2.4.7</version>
+ <version>2.2.6.0</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 Spec</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. -->