summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2020-08-11 22:35:12 +0100
committerThomas Preud'homme <robotux@celest.fr>2020-08-11 22:35:12 +0100
commit3ac113857071fc1f225b2e1b42547269e568c6b7 (patch)
tree8b28dd9c44a0d3c7ab8187cd8d8f19d47591d813 /plugins
parent9b10c21f5cad0e2ec27d23c59e65af7141a226f3 (diff)
New upstream version 2.2.4.4
Diffstat (limited to 'plugins')
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/README.md0
-rwxr-xr-xplugins/CopyEngine/Random/CopyEngine.cpp253
-rwxr-xr-xplugins/CopyEngine/Random/CopyEngine.h128
-rwxr-xr-xplugins/CopyEngine/Random/CopyEngine.pro26
-rwxr-xr-xplugins/CopyEngine/Random/CopyEngineFactory.cpp78
-rwxr-xr-xplugins/CopyEngine/Random/CopyEngineFactory.h58
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Random/README.md (renamed from plugins/CopyEngine/Ultracopier/README.md)0
-rwxr-xr-xplugins/CopyEngine/Random/informations.xml24
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Random/plugin.json (renamed from plugins/CopyEngine/Ultracopier/plugin.json)0
-rwxr-xr-xplugins/CopyEngine/Rsync/CopyEngine.pro2
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Rsync/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Rsync/Rsync.pro0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Rsync/informations.xml2
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/CallBackEventLoop.h15
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/CompilerInfo.h (renamed from plugins/CopyEngine/Ultracopier/CompilerInfo.h)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/CopyEngine-collision-and-error.cpp (renamed from plugins/CopyEngine/Ultracopier/CopyEngine-collision-and-error.cpp)219
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/CopyEngine.cpp (renamed from plugins/CopyEngine/Ultracopier/CopyEngine.cpp)452
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/CopyEngine.h (renamed from plugins/CopyEngine/Ultracopier/CopyEngine.h)148
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/CopyEngine.pro (renamed from plugins/CopyEngine/Ultracopier/CopyEngine.pro)39
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp (renamed from plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp)319
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.h (renamed from plugins/CopyEngine/Ultracopier/CopyEngineFactory.h)44
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/CopyEngineUltracopier-SpecVariable.h (renamed from plugins/CopyEngine/Ultracopier/Variable.h)12
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/DebugDialog.cpp (renamed from plugins/CopyEngine/Ultracopier/DebugDialog.cpp)9
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/DebugDialog.h (renamed from plugins/CopyEngine/Ultracopier/DebugDialog.h)9
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/DebugEngineMacro.h (renamed from plugins/CopyEngine/Ultracopier/DebugEngineMacro.h)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/DiskSpace.cpp (renamed from plugins/CopyEngine/Ultracopier/DiskSpace.cpp)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/DiskSpace.h (renamed from plugins/CopyEngine/Ultracopier/DiskSpace.h)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/DiskSpace.ui (renamed from plugins/CopyEngine/Ultracopier/DiskSpace.ui)2
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/DriveManagement.cpp180
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/DriveManagement.h (renamed from plugins/CopyEngine/Ultracopier/DriveManagement.h)8
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Environment.h (renamed from plugins/CopyEngine/Ultracopier/Environment.h)2
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/EventLoop.cpp71
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/EventLoop.h30
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp (renamed from plugins/CopyEngine/Ultracopier/FileErrorDialog.cpp)84
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.h (renamed from plugins/CopyEngine/Ultracopier/FileErrorDialog.h)11
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp (renamed from plugins/CopyEngine/Ultracopier/FileExistsDialog.cpp)149
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.h (renamed from plugins/CopyEngine/Ultracopier/FileExistsDialog.h)16
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp (renamed from plugins/CopyEngine/Ultracopier/FileIsSameDialog.cpp)92
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.h (renamed from plugins/CopyEngine/Ultracopier/FileIsSameDialog.h)14
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FilterRules.cpp (renamed from plugins/CopyEngine/Ultracopier/FilterRules.cpp)16
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FilterRules.h (renamed from plugins/CopyEngine/Ultracopier/FilterRules.h)1
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FilterRules.ui (renamed from plugins/CopyEngine/Ultracopier/FilterRules.ui)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Filters.cpp (renamed from plugins/CopyEngine/Ultracopier/Filters.cpp)12
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Filters.h (renamed from plugins/CopyEngine/Ultracopier/Filters.h)2
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Filters.ui (renamed from plugins/CopyEngine/Ultracopier/Filters.ui)63
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp (renamed from plugins/CopyEngine/Ultracopier/FolderExistsDialog.cpp)98
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.h (renamed from plugins/CopyEngine/Ultracopier/FolderExistsDialog.h)17
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.qmbin0 -> 20287 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.ts1147
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.qmbin0 -> 19546 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/de/translation.ts)685
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/id/translation.ts)598
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.qmbin0 -> 334 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/en/translation.ts)594
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.qmbin0 -> 23560 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/es/translation.ts)674
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.qmbin0 -> 23074 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/fr/translation.ts)679
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/el/translation.ts)598
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.qmbin0 -> 15971 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/hu/translation.ts)648
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/ar/translation.ts)598
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.qmbin0 -> 23932 bytes
-rw-r--r--plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/it/translation.ts)871
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/hi/translation.ts)632
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.qmbin0 -> 2785 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/ko/translation.ts)600
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.ts1147
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.ts1147
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.ts1147
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.ts1147
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.qmbin0 -> 6529 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.ts (renamed from plugins/CopyEngine/Ultracopier/Languages/ru/translation.ts)622
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.ts1147
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.ts1147
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.ts1147
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThread.cpp1235
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/ListThread.h (renamed from plugins/CopyEngine/Ultracopier/ListThread.h)153
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThreadActions.cpp129
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp423
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThreadMedia.cpp169
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThreadNew.cpp104
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThreadOptions.cpp296
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThreadScan.cpp97
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThreadStat.cpp184
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ListThread_InodeAction.cpp91
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/MkPath.cpp676
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/MkPath.h (renamed from plugins/CopyEngine/Ultracopier/MkPath.h)48
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/README.md3
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/RenamingRules.cpp (renamed from plugins/CopyEngine/Ultracopier/RenamingRules.cpp)19
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/RenamingRules.h (renamed from plugins/CopyEngine/Ultracopier/RenamingRules.h)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/RenamingRules.ui (renamed from plugins/CopyEngine/Ultracopier/RenamingRules.ui)0
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp953
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.h (renamed from plugins/CopyEngine/Ultracopier/ScanFileOrFolder.h)52
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition.h (renamed from plugins/CopyEngine/Ultracopier/StructEnumDefinition.h)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition_CopyEngine.h (renamed from plugins/CopyEngine/Ultracopier/StructEnumDefinition_CopyEngine.h)20
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/TransferThread.cpp1547
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/TransferThread.h265
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.cpp (renamed from plugins/CopyEngine/Ultracopier/ReadThread.cpp)536
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.h (renamed from plugins/CopyEngine/Ultracopier/ReadThread.h)50
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp1442
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.h153
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/async/WriteThread.cpp1164
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.h (renamed from plugins/CopyEngine/Ultracopier/WriteThread.h)77
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/copyEngineOptions.ui (renamed from plugins/CopyEngine/Ultracopier/copyEngineOptions.ui)437
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/copyEngineResources.qrc (renamed from plugins/CopyEngine/Ultracopier/copyEngineResources.qrc)2
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/debugDialog.ui (renamed from plugins/CopyEngine/Ultracopier/debugDialog.ui)34
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/documentation.dox (renamed from plugins/CopyEngine/Ultracopier/documentation.dox)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/fileErrorDialog.ui (renamed from plugins/CopyEngine/Ultracopier/fileErrorDialog.ui)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/fileExistsDialog.ui (renamed from plugins/CopyEngine/Ultracopier/fileExistsDialog.ui)20
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui (renamed from plugins/CopyEngine/Ultracopier/fileIsSameDialog.ui)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/folderExistsDialog.ui (renamed from plugins/CopyEngine/Ultracopier/folderExistsDialog.ui)0
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/informations.xml (renamed from plugins/CopyEngine/Ultracopier/informations.xml)14
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/plugin.json1
-rwxr-xr-xplugins/CopyEngine/Ultracopier-Spec/ports.h6
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/resources/add.png (renamed from plugins/CopyEngine/Ultracopier/resources/add.png)bin552 -> 552 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/resources/edit.png (renamed from plugins/CopyEngine/Ultracopier/resources/edit.png)bin623 -> 623 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/resources/filter.png (renamed from plugins/CopyEngine/Ultracopier/resources/filter.png)bin685 -> 685 bytes
-rwxr-xr-x[-rw-r--r--]plugins/CopyEngine/Ultracopier-Spec/resources/remove.png (renamed from plugins/CopyEngine/Ultracopier/resources/remove.png)bin683 -> 683 bytes
-rw-r--r--plugins/CopyEngine/Ultracopier/AvancedQFile.cpp208
-rw-r--r--plugins/CopyEngine/Ultracopier/AvancedQFile.h45
-rw-r--r--plugins/CopyEngine/Ultracopier/DriveManagement.cpp105
-rw-r--r--plugins/CopyEngine/Ultracopier/Languages/ja/translation.ts1291
-rw-r--r--plugins/CopyEngine/Ultracopier/Languages/nl/translation.ts1291
-rw-r--r--plugins/CopyEngine/Ultracopier/Languages/no/translation.ts1291
-rw-r--r--plugins/CopyEngine/Ultracopier/Languages/pl/translation.ts1291
-rw-r--r--plugins/CopyEngine/Ultracopier/Languages/pt/translation.ts1291
-rw-r--r--plugins/CopyEngine/Ultracopier/Languages/th/translation.ts1291
-rw-r--r--plugins/CopyEngine/Ultracopier/Languages/tr/translation.ts1291
-rw-r--r--plugins/CopyEngine/Ultracopier/Languages/zh/translation.ts1291
-rw-r--r--plugins/CopyEngine/Ultracopier/ListThread.cpp2429
-rw-r--r--plugins/CopyEngine/Ultracopier/ListThread_InodeAction.cpp64
-rw-r--r--plugins/CopyEngine/Ultracopier/MkPath.cpp517
-rw-r--r--plugins/CopyEngine/Ultracopier/ScanFileOrFolder.cpp680
-rw-r--r--plugins/CopyEngine/Ultracopier/TransferThread.cpp2101
-rw-r--r--plugins/CopyEngine/Ultracopier/TransferThread.h292
-rw-r--r--plugins/CopyEngine/Ultracopier/WriteThread.cpp976
-rwxr-xr-x[-rw-r--r--]plugins/Languages/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/Languages/ar/flag.pngbin585 -> 585 bytes
-rw-r--r--plugins/Languages/ar/informations.xml6
-rwxr-xr-xplugins/Languages/ar/translation.qmbin0 -> 28595 bytes
-rw-r--r--plugins/Languages/ar/translation.ts1853
-rw-r--r--plugins/Languages/de/informations.xml2
-rwxr-xr-xplugins/Languages/de/translation.qmbin0 -> 30785 bytes
-rw-r--r--plugins/Languages/de/translation.ts1444
-rwxr-xr-x[-rw-r--r--]plugins/Languages/el/flag.pngbin726 -> 726 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/el/informations.xml2
-rwxr-xr-xplugins/Languages/el/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/el/translation.ts1287
-rwxr-xr-xplugins/Languages/en/translation.qm1
-rwxr-xr-x[-rw-r--r--]plugins/Languages/es/flag.pngbin726 -> 726 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/es/informations.xml2
-rwxr-xr-xplugins/Languages/es/translation.qmbin0 -> 31962 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/es/translation.ts1343
-rwxr-xr-x[-rw-r--r--]plugins/Languages/fr/flag.pngbin699 -> 699 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/fr/informations.xml2
-rwxr-xr-xplugins/Languages/fr/translation.qmbin0 -> 32564 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/fr/translation.ts1299
-rwxr-xr-x[-rw-r--r--]plugins/Languages/hi/flag.pngbin728 -> 728 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/hi/informations.xml2
-rwxr-xr-xplugins/Languages/hi/translation.qmbin0 -> 334 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/hi/translation.ts1287
-rwxr-xr-x[-rw-r--r--]plugins/Languages/hu/flag.pngbin810 -> 810 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/hu/informations.xml2
-rwxr-xr-xplugins/Languages/hu/translation.qmbin0 -> 23508 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/hu/translation.ts1292
-rwxr-xr-x[-rw-r--r--]plugins/Languages/id/flag.pngbin691 -> 691 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/id/informations.xml2
-rwxr-xr-xplugins/Languages/id/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/id/translation.ts1287
-rw-r--r--plugins/Languages/it/informations.xml2
-rwxr-xr-xplugins/Languages/it/translation.qmbin0 -> 32517 bytes
-rw-r--r--plugins/Languages/it/translation.ts1574
-rwxr-xr-x[-rw-r--r--]plugins/Languages/ja/flag.pngbin595 -> 595 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/ja/informations.xml2
-rwxr-xr-xplugins/Languages/ja/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/ja/translation.ts1287
-rwxr-xr-x[-rw-r--r--]plugins/Languages/ko/flag.pngbin650 -> 650 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/ko/informations.xml2
-rwxr-xr-xplugins/Languages/ko/translation.qmbin0 -> 8248 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/ko/translation.ts1289
-rwxr-xr-x[-rw-r--r--]plugins/Languages/nl/flag.pngbin709 -> 709 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/nl/informations.xml2
-rwxr-xr-xplugins/Languages/nl/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/nl/translation.ts1287
-rwxr-xr-x[-rw-r--r--]plugins/Languages/no/flag.pngbin715 -> 715 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/no/informations.xml2
-rwxr-xr-xplugins/Languages/no/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/no/translation.ts1287
-rwxr-xr-x[-rw-r--r--]plugins/Languages/pl/flag.pngbin586 -> 586 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/pl/informations.xml2
-rwxr-xr-xplugins/Languages/pl/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/pl/translation.ts1287
-rwxr-xr-x[-rw-r--r--]plugins/Languages/pt/flag.pngbin686 -> 686 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/pt/informations.xml2
-rwxr-xr-xplugins/Languages/pt/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/pt/translation.ts1287
-rwxr-xr-x[-rw-r--r--]plugins/Languages/ru/flag.pngbin721 -> 721 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/ru/informations.xml2
-rwxr-xr-xplugins/Languages/ru/translation.qmbin0 -> 15940 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/ru/translation.ts1287
-rwxr-xr-x[-rw-r--r--]plugins/Languages/th/flag.pngbin731 -> 731 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/th/informations.xml2
-rwxr-xr-xplugins/Languages/th/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/th/translation.ts1287
-rwxr-xr-x[-rw-r--r--]plugins/Languages/tr/flag.pngbin634 -> 634 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/tr/informations.xml2
-rwxr-xr-xplugins/Languages/tr/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/tr/translation.ts1287
-rwxr-xr-x[-rw-r--r--]plugins/Languages/zh/flag.pngbin538 -> 538 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/zh/informations.xml2
-rwxr-xr-xplugins/Languages/zh/translation.qmbin0 -> 412 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/zh/translation.ts1424
-rwxr-xr-x[-rw-r--r--]plugins/Languages/zh_TW/flag.pngbin616 -> 616 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/zh_TW/informations.xml2
-rwxr-xr-xplugins/Languages/zh_TW/translation.qmbin0 -> 2444 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Languages/zh_TW/translation.ts1287
-rwxr-xr-x[-rw-r--r--]plugins/Listener/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/DebugEngineMacro.h0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/Environment.h2
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/Listenercatchcopy-v0002Variable.h (renamed from plugins/SessionLoader/Windows/Variable.h)2
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/StructEnumDefinition.h0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ClientCatchcopy.cpp0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ClientCatchcopy.h0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ExtraSocketCatchcopy.cpp0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ExtraSocketCatchcopy.h0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ServerCatchcopy.cpp0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ServerCatchcopy.h0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/catchcopy-api-0002/VariablesCatchcopy.h0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/documentation.dox0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/informations.xml2
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/listener.cpp0
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/listener.h18
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/listener.pro2
-rwxr-xr-x[-rw-r--r--]plugins/Listener/catchcopy-v0002/plugin.json0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/DebugEngineMacro.h0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Environment.h2
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/ar/translation.qmbin0 -> 1059 bytes
-rw-r--r--plugins/PluginLoader/catchcopy-v0002/Languages/ar/translation.ts8
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/de/translation.qmbin0 -> 1136 bytes
-rw-r--r--plugins/PluginLoader/catchcopy-v0002/Languages/de/translation.ts4
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/el/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/el/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/en/translation.qmbin0 -> 334 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/en/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/es/translation.qmbin0 -> 487 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/es/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/fr/translation.qmbin0 -> 1246 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/fr/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/hi/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/hi/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/hu/translation.qmbin0 -> 989 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/hu/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/id/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/id/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/it/translation.qmbin0 -> 1300 bytes
-rw-r--r--plugins/PluginLoader/catchcopy-v0002/Languages/it/translation.ts6
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/ja/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/ja/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/ko/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/ko/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/nl/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/nl/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/no/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/no/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/pl/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/pl/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/pt/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/pt/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/ru/translation.qmbin0 -> 498 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/ru/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/th/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/th/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/tr/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/tr/translation.ts0
-rwxr-xr-xplugins/PluginLoader/catchcopy-v0002/Languages/zh/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/Languages/zh/translation.ts0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/OptionsWidget.cpp0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/OptionsWidget.h0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/OptionsWidget.ui0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/PlatformMacro.h0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/PluginLoadercatchcopy-v0002Variable.h (renamed from plugins/PluginLoader/catchcopy-v0002/Variable.h)2
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/StructEnumDefinition.h0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/documentation.dox0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/informations.xml2
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/plugin.json0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/pluginLoader.cpp0
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/pluginLoader.h8
-rwxr-xr-x[-rw-r--r--]plugins/PluginLoader/catchcopy-v0002/pluginLoader.pro2
-rwxr-xr-x[-rw-r--r--]plugins/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/DebugEngineMacro.h0
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/Environment.h2
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/SessionLoaderWindowsVariable.h (renamed from plugins/Listener/catchcopy-v0002/Variable.h)2
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/StructEnumDefinition.h0
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/documentation.dox0
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/informations.xml2
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/plugin.json0
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/sessionLoader.cpp0
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/sessionLoader.h0
-rwxr-xr-x[-rw-r--r--]plugins/SessionLoader/Windows/sessionLoader.pro2
-rwxr-xr-xplugins/SessionLoader/Windows/sessionLoader.pro.user.4.8-pre1333
-rwxr-xr-xplugins/SessionLoader/Windows/sessionLoader.pro.user.74ab603.4.8-pre1333
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/DebugEngineMacro.h0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Environment.h2
-rwxr-xr-xplugins/Themes/Oxygen/Languages/ar/translation.qmbin0 -> 5785 bytes
-rw-r--r--plugins/Themes/Oxygen/Languages/ar/translation.ts166
-rwxr-xr-xplugins/Themes/Oxygen/Languages/de/translation.qmbin0 -> 6711 bytes
-rw-r--r--plugins/Themes/Oxygen/Languages/de/translation.ts50
-rwxr-xr-xplugins/Themes/Oxygen/Languages/el/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/el/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/en/translation.qmbin0 -> 334 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/en/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/es/translation.qmbin0 -> 6167 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/es/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/fr/translation.qmbin0 -> 6346 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/fr/translation.ts16
-rwxr-xr-xplugins/Themes/Oxygen/Languages/hi/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/hi/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/hu/translation.qmbin0 -> 5951 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/hu/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/id/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/id/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/it/translation.qmbin0 -> 6445 bytes
-rw-r--r--plugins/Themes/Oxygen/Languages/it/translation.ts128
-rwxr-xr-xplugins/Themes/Oxygen/Languages/ja/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/ja/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/ko/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/ko/translation.ts16
-rwxr-xr-xplugins/Themes/Oxygen/Languages/nl/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/nl/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/no/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/no/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/pl/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/pl/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/pt/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/pt/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/ru/translation.qmbin0 -> 1630 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/ru/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/th/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/th/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/tr/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/tr/translation.ts40
-rwxr-xr-xplugins/Themes/Oxygen/Languages/zh/translation.qmbin0 -> 327 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/Languages/zh/translation.ts40
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/OxygenVariable.h (renamed from plugins/Themes/Oxygen/Variable.h)2
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/StructEnumDefinition.h0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/ThemesFactory.cpp0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/ThemesFactory.h0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/TransferModel.cpp0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/TransferModel.h0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/documentation.dox0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/informations.xml2
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/interface.cpp48
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/interface.h5
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/interface.pro2
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/interface.ui0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/interfaceInclude.pri4
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/interfaceResources.qrc0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/interfaceResources_unix.qrc0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/interfaceResources_windows.qrc0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/options.ui0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/plugin.json0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/SystemTrayIcon/add.pngbin552 -> 552 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/SystemTrayIcon/exit.pngbin874 -> 874 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/SystemTrayIcon/informations.pngbin841 -> 841 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/SystemTrayIcon/options.pngbin624 -> 624 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Unix.pngbin1093 -> 1093 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Windows.pngbin623 -> 623 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Unix.pngbin1174 -> 1174 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Windows.pngbin677 -> 677 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Unix.pngbin665 -> 665 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Windows.pngbin439 -> 439 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/add.pngbin552 -> 552 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/cancel.pngbin874 -> 874 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/export-transfer-list.pngbin455 -> 455 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/import-transfer-list.pngbin454 -> 454 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/main.pngbin623 -> 623 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/moveDown.pngbin466 -> 466 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/moveUp.pngbin466 -> 466 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/player_end.pngbin696 -> 696 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/player_pause.pngbin640 -> 640 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/player_play.pngbin673 -> 673 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/putOnBottom.pngbin676 -> 676 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/putOnTop.pngbin681 -> 681 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/remove.pngbin683 -> 683 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/resources/search.pngbin781 -> 781 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Oxygen/themesOptions.ui0
-rwxr-xr-xplugins/Themes/Oxygen2/DarkButton.cpp99
-rwxr-xr-xplugins/Themes/Oxygen2/DarkButton.h22
-rwxr-xr-xplugins/Themes/Oxygen2/DebugEngineMacro.h28
-rwxr-xr-xplugins/Themes/Oxygen2/Environment.h10
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/ar/translation.qmbin0 -> 6338 bytes
-rw-r--r--plugins/Themes/Oxygen2/Languages/ar/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/de/translation.qmbin0 -> 7079 bytes
-rw-r--r--plugins/Themes/Oxygen2/Languages/de/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/el/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/el/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/en/translation.qmbin0 -> 334 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/en/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/es/translation.qmbin0 -> 6112 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/es/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/fr/translation.qmbin0 -> 6702 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/fr/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/hi/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/hi/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/hu/translation.qmbin0 -> 5898 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/hu/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/id/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/id/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/it/translation.qmbin0 -> 7360 bytes
-rw-r--r--plugins/Themes/Oxygen2/Languages/it/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/ja/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/ja/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/ko/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/ko/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/nl/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/nl/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/no/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/no/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/pl/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/pl/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/pt/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/pt/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/ru/translation.qmbin0 -> 1581 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/ru/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/th/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/th/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/tr/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/tr/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/zh/translation.qmbin0 -> 327 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/Languages/zh/translation.ts382
-rwxr-xr-xplugins/Themes/Oxygen2/Oxygen2Environment.h10
-rwxr-xr-xplugins/Themes/Oxygen2/Oxygen2Variable.h18
-rwxr-xr-xplugins/Themes/Oxygen2/ProgressBarDark.cpp69
-rwxr-xr-xplugins/Themes/Oxygen2/ProgressBarDark.h17
-rwxr-xr-xplugins/Themes/Oxygen2/README.md4
-rwxr-xr-xplugins/Themes/Oxygen2/StructEnumDefinition.h1
-rwxr-xr-xplugins/Themes/Oxygen2/ThemesFactory.cpp573
-rwxr-xr-xplugins/Themes/Oxygen2/ThemesFactory.h89
-rwxr-xr-xplugins/Themes/Oxygen2/TransferModel.cpp755
-rwxr-xr-xplugins/Themes/Oxygen2/TransferModel.h106
-rwxr-xr-xplugins/Themes/Oxygen2/VerticalLabel.cpp44
-rwxr-xr-xplugins/Themes/Oxygen2/VerticalLabel.h21
-rwxr-xr-xplugins/Themes/Oxygen2/chartarea.cpp117
-rwxr-xr-xplugins/Themes/Oxygen2/chartarea.h31
-rwxr-xr-xplugins/Themes/Oxygen2/documentation.dox31
-rwxr-xr-xplugins/Themes/Oxygen2/fileTree.cpp149
-rwxr-xr-xplugins/Themes/Oxygen2/fileTree.h133
-rwxr-xr-xplugins/Themes/Oxygen2/informations.xml26
-rwxr-xr-xplugins/Themes/Oxygen2/interface.cpp1995
-rwxr-xr-xplugins/Themes/Oxygen2/interface.h259
-rwxr-xr-xplugins/Themes/Oxygen2/interface.pro8
-rwxr-xr-xplugins/Themes/Oxygen2/interface.ui1098
-rwxr-xr-xplugins/Themes/Oxygen2/interfaceInclude.pri73
-rwxr-xr-xplugins/Themes/Oxygen2/interfaceResources.qrc36
-rwxr-xr-xplugins/Themes/Oxygen2/interfaceResources_unix.qrc7
-rwxr-xr-xplugins/Themes/Oxygen2/interfaceResources_windows.qrc7
-rwxr-xr-xplugins/Themes/Oxygen2/options.ui280
-rwxr-xr-xplugins/Themes/Oxygen2/plugin.json1
-rwxr-xr-xplugins/Themes/Oxygen2/radialMap/labels.cpp338
-rwxr-xr-xplugins/Themes/Oxygen2/radialMap/map.cpp421
-rwxr-xr-xplugins/Themes/Oxygen2/radialMap/map.h85
-rwxr-xr-xplugins/Themes/Oxygen2/radialMap/radialMap.h109
-rwxr-xr-xplugins/Themes/Oxygen2/radialMap/widget.cpp211
-rwxr-xr-xplugins/Themes/Oxygen2/radialMap/widget.h118
-rwxr-xr-xplugins/Themes/Oxygen2/radialMap/widgetEvents.cpp254
-rwxr-xr-xplugins/Themes/Oxygen2/resources/SystemTrayIcon/add.pngbin0 -> 552 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/SystemTrayIcon/exit.pngbin0 -> 874 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/SystemTrayIcon/informations.pngbin0 -> 841 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/SystemTrayIcon/options.pngbin0 -> 624 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Caught_Unix.pngbin0 -> 1093 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Caught_Windows.pngbin0 -> 623 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Semiuncaught_Unix.pngbin0 -> 1174 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Semiuncaught_Windows.pngbin0 -> 677 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Uncaught_Unix.pngbin0 -> 665 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Uncaught_Windows.pngbin0 -> 439 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/add.pngbin0 -> 552 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/cancel.pngbin0 -> 874 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/cancelDarkD.pngbin0 -> 151 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/cancelDarkE.pngbin0 -> 473 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/click.opusbin0 -> 632 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/darkButton.pngbin0 -> 3632 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/darkButtonOver.pngbin0 -> 4286 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/darkButtonPushed.pngbin0 -> 3541 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/darkmoveDown.pngbin0 -> 1349 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/darkmoveUp.pngbin0 -> 1530 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/darkplayer_end.pngbin0 -> 1153 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/darkplayer_pause.pngbin0 -> 1059 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/darkplayer_play.pngbin0 -> 1166 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/export-transfer-list.pngbin0 -> 455 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/import-transfer-list.pngbin0 -> 454 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/main.pngbin0 -> 623 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/moveDown.pngbin0 -> 466 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/moveUp.pngbin0 -> 466 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/over.opusbin0 -> 527 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/player_end.pngbin0 -> 696 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/player_pause.pngbin0 -> 640 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/player_play.pngbin0 -> 673 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/progressBarin.pngbin0 -> 4487 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/progressBarout.pngbin0 -> 1287 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/putOnBottom.pngbin0 -> 676 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/putOnTop.pngbin0 -> 681 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/remove.pngbin0 -> 683 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/resources/search.pngbin0 -> 781 bytes
-rwxr-xr-xplugins/Themes/Oxygen2/themesOptions.ui466
-rwxr-xr-x[-rw-r--r--]plugins/Themes/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/README.md0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/informations.xml2
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/interface.pro2
-rwxr-xr-xplugins/Themes/Supercopier/interface.pro.user.4.8-pre1328
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/interfaceResources.qrc0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/interfaceResources_unix.qrc0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/interfaceResources_windows.qrc0
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/SystemTrayIcon/add.pngbin246 -> 246 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/SystemTrayIcon/exit.pngbin545 -> 545 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/SystemTrayIcon/informations.pngbin281 -> 281 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/SystemTrayIcon/options.pngbin275 -> 275 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Unix.pngbin147 -> 147 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Windows.pngbin148 -> 148 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Unix.pngbin147 -> 147 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Windows.pngbin148 -> 148 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Unix.pngbin141 -> 141 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Windows.pngbin139 -> 139 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/add.pngbin240 -> 240 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/cancel.pngbin284 -> 284 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/export-transfer-list.pngbin264 -> 264 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/import-transfer-list.pngbin316 -> 316 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/main.pngbin148 -> 148 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/moveDown.pngbin191 -> 191 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/moveUp.pngbin190 -> 190 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/player_end.pngbin226 -> 226 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/player_pause.pngbin207 -> 207 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/player_play.pngbin208 -> 208 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/progressbarleft.pngbin133 -> 133 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/progressbarright.pngbin132 -> 132 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/putOnBottom.pngbin206 -> 206 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/putOnTop.pngbin208 -> 208 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/remove.pngbin254 -> 254 bytes
-rwxr-xr-x[-rw-r--r--]plugins/Themes/Supercopier/resources/search.pngbin237 -> 237 bytes
-rwxr-xr-x[-rw-r--r--]plugins/static-plugins-oxygen.qrc3
-rwxr-xr-x[-rw-r--r--]plugins/static-plugins-windows.qrc1
-rwxr-xr-x[-rw-r--r--]plugins/static-plugins.qrc9
559 files changed, 53191 insertions, 39520 deletions
diff --git a/plugins/CopyEngine/README.md b/plugins/CopyEngine/README.md
index 317a7e4..317a7e4 100644..100755
--- a/plugins/CopyEngine/README.md
+++ b/plugins/CopyEngine/README.md
diff --git a/plugins/CopyEngine/Random/CopyEngine.cpp b/plugins/CopyEngine/Random/CopyEngine.cpp
new file mode 100755
index 0000000..662fb5b
--- /dev/null
+++ b/plugins/CopyEngine/Random/CopyEngine.cpp
@@ -0,0 +1,253 @@
+/** \file copyEngine.cpp
+\brief Define the copy engine
+\author alpha_one_x86 */
+
+#include "CopyEngine.h"
+#include "../../../interface/PluginInterface_CopyEngine.h"
+#include <QCoreApplication>
+
+CopyEngine::CopyEngine()
+{
+ timer=new QTimer();
+ connect(timer,&QTimer::timeout,this,&CopyEngine::timerSlot);
+ timer->start(1000);
+ send=false;
+}
+
+CopyEngine::~CopyEngine()
+{
+}
+
+//to send the options panel
+bool CopyEngine::getOptionsEngine(QWidget * tempWidget)
+{
+ (void)tempWidget;
+ return true;
+}
+
+//to have interface widget to do modal dialog
+void CopyEngine::setInterfacePointer(QWidget * uiinterface)
+{
+ (void)uiinterface;
+ syncTransferList();
+}
+
+bool CopyEngine::haveSameSource(const std::vector<std::string> &)
+{
+ return false;
+}
+
+bool CopyEngine::haveSameDestination(const std::string &)
+{
+ return false;
+}
+
+bool CopyEngine::newCopy(const std::vector<std::string> &sources)
+{
+ (void)sources;
+ return true;
+}
+
+bool CopyEngine::newCopy(const std::vector<std::string> &sources,const std::string &destination)
+{
+ (void)sources;
+ (void)destination;
+ return true;
+}
+
+bool CopyEngine::newMove(const std::vector<std::string> &sources)
+{
+ (void)sources;
+ return true;
+}
+
+bool CopyEngine::newMove(const std::vector<std::string> &sources,const std::string &destination)
+{
+ (void)sources;
+ (void)destination;
+ return true;
+}
+
+void CopyEngine::newTransferList(const std::string &file)
+{
+ (void)file;
+}
+
+//because direct access to list thread into the main thread can't be do
+uint64_t CopyEngine::realByteTransfered()
+{
+ return rand()%200000000;
+}
+
+void CopyEngine::timerSlot()
+{
+ emit pushGeneralProgression(rand()%200000000,200000000);
+
+ {
+ std::vector<std::pair<uint64_t,uint32_t> > progressionList;
+ progressionList.push_back(std::pair<uint64_t,uint32_t>(100, 2));
+ progressionList.push_back(std::pair<uint64_t,uint32_t>(1000, 2));
+ progressionList.push_back(std::pair<uint64_t,uint32_t>(10000, 2+ rand()%2));
+ progressionList.push_back(std::pair<uint64_t,uint32_t>(100000, 5+ rand()%3));
+ progressionList.push_back(std::pair<uint64_t,uint32_t>(1000000, 15+ rand()%3));
+ progressionList.push_back(std::pair<uint64_t,uint32_t>(10000000, 50+ rand()%10));
+ progressionList.push_back(std::pair<uint64_t,uint32_t>(100000000, 800+ rand()%100));
+ progressionList.push_back(std::pair<uint64_t,uint32_t>(1000000000, 6000+ rand()%500));
+ progressionList.push_back(std::pair<uint64_t,uint32_t>(10000000000, 50000+ rand()%1000));
+ emit doneTime(progressionList);
+ }
+
+ {
+ std::vector<Ultracopier::ProgressionItem> progressionList;
+ Ultracopier::ProgressionItem entry;
+ entry.currentRead=60*1024*1024+rand()%20*1024*1024;
+ entry.currentWrite=40*1024*1024+rand()%20*1024*1024;
+ entry.id=1;
+ entry.total=100*1024*1024;
+ progressionList.push_back(entry);
+ emit pushFileProgression(progressionList);
+ }
+}
+
+//speed limitation
+bool CopyEngine::supportSpeedLimitation() const
+{
+ return false;
+}
+
+/** \brief to sync the transfer list
+ * Used when the interface is changed, useful to minimize the memory size */
+void CopyEngine::syncTransferList()
+{
+ emit syncReady();
+ if(send)
+ return;
+ send=true;
+
+ emit actionInProgess(Ultracopier::Copying);
+
+ std::vector<Ultracopier::ReturnActionOnCopyList> actionsList;
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type = Ultracopier::AddingItem;
+
+ newAction.addAction.id = 1;
+ newAction.addAction.sourceFullPath = "/folder1/file.iso";
+ newAction.addAction.sourceFileName = "file.iso";
+ newAction.addAction.destinationFullPath = "/dest/folder1/file.iso";
+ newAction.addAction.destinationFileName = "file.iso";
+ newAction.addAction.size = 100*1024*1024;
+ newAction.addAction.mode = Ultracopier::CopyMode::Copy;
+ actionsList.push_back(newAction);
+
+ newAction.addAction.id = 2;
+ newAction.addAction.sourceFullPath = "/file.mp3";
+ newAction.addAction.sourceFileName = "file.mp3";
+ newAction.addAction.destinationFullPath = "/dest/file.mp3";
+ newAction.addAction.destinationFileName = "file.mp3";
+ newAction.addAction.size = 10*1024*1024;
+ newAction.addAction.mode = Ultracopier::CopyMode::Copy;
+ actionsList.push_back(newAction);
+
+ newAction.addAction.id = 3;
+ newAction.addAction.sourceFullPath = "/file.mp4";
+ newAction.addAction.sourceFileName = "file.mp4";
+ newAction.addAction.destinationFullPath = "/dest/file.mp4";
+ newAction.addAction.destinationFileName = "file.mp4";
+ newAction.addAction.size = 50*1024*1024;
+ newAction.addAction.mode = Ultracopier::CopyMode::Copy;
+ actionsList.push_back(newAction);
+
+ newAction.addAction.id = 1;
+ newAction.addAction.sourceFullPath = "/folder1/file.iso";
+ newAction.addAction.sourceFileName = "file.iso";
+ newAction.addAction.destinationFullPath = "/dest/folder1/file.iso";
+ newAction.addAction.destinationFileName = "file.iso";
+ newAction.addAction.size = 100*1024*1024;
+ newAction.addAction.mode = Ultracopier::CopyMode::Copy;
+ newAction.type = Ultracopier::PreOperation;
+ actionsList.push_back(newAction);
+ newAction.type = Ultracopier::Transfer;
+ actionsList.push_back(newAction);
+
+ emit newActionOnList(actionsList);
+}
+
+bool CopyEngine::userAddFolder(const Ultracopier::CopyMode &mode)
+{
+ (void)mode;
+ return true;
+}
+
+bool CopyEngine::userAddFile(const Ultracopier::CopyMode &mode)
+{
+ (void)mode;
+ return true;
+}
+
+void CopyEngine::pause()
+{
+}
+
+void CopyEngine::resume()
+{
+}
+
+void CopyEngine::skip(const uint64_t &id)
+{
+ (void)id;
+}
+
+void CopyEngine::cancel()
+{
+ emit canBeDeleted();
+}
+
+void CopyEngine::removeItems(const std::vector<uint64_t> &ids)
+{
+ (void)ids;
+}
+
+void CopyEngine::moveItemsOnTop(const std::vector<uint64_t> &ids)
+{
+ (void)ids;
+}
+
+void CopyEngine::moveItemsUp(const std::vector<uint64_t> &ids)
+{
+ (void)ids;
+}
+
+void CopyEngine::moveItemsDown(const std::vector<uint64_t> &ids)
+{
+ (void)ids;
+}
+
+void CopyEngine::moveItemsOnBottom(const std::vector<uint64_t> &ids)
+{
+ (void)ids;
+}
+
+/** \brief give the forced mode, to export/import transfer list */
+void CopyEngine::forceMode(const Ultracopier::CopyMode &mode)
+{
+ (void)mode;
+}
+
+void CopyEngine::exportTransferList()
+{
+}
+
+void CopyEngine::importTransferList()
+{
+}
+
+bool CopyEngine::setSpeedLimitation(const int64_t &speedLimitation)
+{
+ (void)speedLimitation;
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"maxSpeed: "+std::to_string(speedLimitation));
+ return false;
+}
+
+void CopyEngine::exportErrorIntoTransferList()
+{
+}
diff --git a/plugins/CopyEngine/Random/CopyEngine.h b/plugins/CopyEngine/Random/CopyEngine.h
new file mode 100755
index 0000000..2da5da5
--- /dev/null
+++ b/plugins/CopyEngine/Random/CopyEngine.h
@@ -0,0 +1,128 @@
+/** \file copyEngine.h
+\brief Define the copy engine
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#include "../../../interface/PluginInterface_CopyEngine.h"
+
+#ifndef COPY_ENGINE_H
+#define COPY_ENGINE_H
+
+#include <QTimer>
+
+namespace Ui {
+ class copyEngineOptions;
+}
+
+/// \brief the implementation of copy engine plugin, manage directly few stuff, else pass to ListThread class.
+class CopyEngine : public PluginInterface_CopyEngine
+{
+ Q_OBJECT
+public:
+ CopyEngine();
+ ~CopyEngine();
+ void exportErrorIntoTransferList() override;
+public:
+ /** \brief to send the options panel
+ * \return return false if have not the options
+ * \param tempWidget the widget to generate on it the options */
+ bool getOptionsEngine(QWidget * tempWidget) override;
+ /** \brief to have interface widget to do modal dialog
+ * \param interface to have the widget of the interface, useful for modal dialog */
+ void setInterfacePointer(QWidget * uiinterface) override;
+ //return empty if multiple
+ /** \brief compare the current sources of the copy, with the passed arguments
+ * \param sources the sources list to compares with the current sources list
+ * \return true if have same sources, else false (or empty) */
+ bool haveSameSource(const std::vector<std::string> &sources) override;
+ /** \brief compare the current destination of the copy, with the passed arguments
+ * \param destination the destination to compares with the current destination
+ * \return true if have same destination, else false (or empty) */
+ bool haveSameDestination(const std::string &destination) override;
+ //external soft like file browser have send copy/move list to do
+ /** \brief send copy without destination, ask the destination
+ * \param sources the sources list to copy
+ * \return true if the copy have been accepted */
+ bool newCopy(const std::vector<std::string> &sources) override;
+ /** \brief send copy with destination
+ * \param sources the sources list to copy
+ * \param destination the destination to copy
+ * \return true if the copy have been accepted */
+ bool newCopy(const std::vector<std::string> &sources,const std::string &destination) override;
+ /** \brief send move without destination, ask the destination
+ * \param sources the sources list to move
+ * \return true if the move have been accepted */
+ bool newMove(const std::vector<std::string> &sources) override;
+ /** \brief send move without destination, ask the destination
+ * \param sources the sources list to move
+ * \param destination the destination to move
+ * \return true if the move have been accepted */
+ bool newMove(const std::vector<std::string> &sources,const std::string &destination) override;
+ /** \brief send the new transfer list
+ * \param file the transfer list */
+ void newTransferList(const std::string &file) override;
+
+ /** \brief to get byte read, use by Ultracopier for the speed calculation
+ * real size transfered to right speed calculation */
+ uint64_t realByteTransfered() override;
+ /** \brief support speed limitation */
+ bool supportSpeedLimitation() const override;
+
+ /** \brief to set drives detected
+ * specific to this copy engine */
+
+ /** \brief to sync the transfer list
+ * Used when the interface is changed, useful to minimize the memory size */
+ void syncTransferList() override;
+public slots:
+ //user ask ask to add folder (add it with interface ask source/destination)
+ /** \brief add folder called on the interface
+ * Used by manual adding */
+ bool userAddFolder(const Ultracopier::CopyMode &mode) override;
+ /** \brief add file called on the interface
+ * Used by manual adding */
+ bool userAddFile(const Ultracopier::CopyMode &mode) override;
+ //action on the copy
+ /// \brief put the transfer in pause
+ void pause() override;
+ /// \brief resume the transfer
+ void resume() override;
+ /** \brief skip one transfer entry
+ * \param id id of the file to remove */
+ void skip(const uint64_t &id) override;
+ /// \brief cancel all the transfer
+ void cancel() override;
+ //edit the transfer list
+ /** \brief remove the selected item
+ * \param ids ids is the id list of the selected items */
+ void removeItems(const std::vector<uint64_t> &ids) override;
+ /** \brief move on top of the list the selected item
+ * \param ids ids is the id list of the selected items */
+ void moveItemsOnTop(const std::vector<uint64_t> &ids) override;
+ /** \brief move up the list the selected item
+ * \param ids ids is the id list of the selected items */
+ void moveItemsUp(const std::vector<uint64_t> &ids) override;
+ /** \brief move down the list the selected item
+ * \param ids ids is the id list of the selected items */
+ void moveItemsDown(const std::vector<uint64_t> &ids) override;
+ /** \brief move on bottom of the list the selected item
+ * \param ids ids is the id list of the selected items */
+ void moveItemsOnBottom(const std::vector<uint64_t> &ids) override;
+
+ /** \brief give the forced mode, to export/import transfer list */
+ void forceMode(const Ultracopier::CopyMode &mode) override;
+ /// \brief export the transfer list into a file
+ void exportTransferList() override;
+ /// \brief import the transfer list into a file
+ void importTransferList() override;
+
+ /** \brief to set the speed limitation
+ * -1 if not able, 0 if disabled */
+ bool setSpeedLimitation(const int64_t &speedLimitation) override;
+private:
+ bool send;
+ QTimer *timer;
+ void timerSlot();
+};
+
+#endif // COPY_ENGINE_H
diff --git a/plugins/CopyEngine/Random/CopyEngine.pro b/plugins/CopyEngine/Random/CopyEngine.pro
new file mode 100755
index 0000000..f65ce88
--- /dev/null
+++ b/plugins/CopyEngine/Random/CopyEngine.pro
@@ -0,0 +1,26 @@
+CONFIG += c++11
+QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra"
+mac:QMAKE_CXXFLAGS+="-stdlib=libc++"
+
+QT += widgets xml
+DEFINES += UNICODE _UNICODE
+TEMPLATE = lib
+CONFIG += plugin
+
+HEADERS += \
+ $$PWD/../../../interface/PluginInterface_CopyEngine.h \
+ $$PWD/../../../interface/OptionInterface.h \
+ $$PWD/../../../interface/FacilityInterface.h \
+ $$PWD/../../../cpp11addition.h \
+ $$PWD/CopyEngine.h \
+ $$PWD/CopyEngineFactory.h
+SOURCES += \
+ $$PWD/../../../cpp11addition.cpp \
+ $$PWD/../../../cpp11additionstringtointcpp.cpp \
+ $$PWD/CopyEngine.cpp \
+ $$PWD/CopyEngineFactory.cpp
+TARGET = $$qtLibraryTarget(copyEngine)
+
+win32 {
+ LIBS += -ladvapi32
+}
diff --git a/plugins/CopyEngine/Random/CopyEngineFactory.cpp b/plugins/CopyEngine/Random/CopyEngineFactory.cpp
new file mode 100755
index 0000000..8fe5ad6
--- /dev/null
+++ b/plugins/CopyEngine/Random/CopyEngineFactory.cpp
@@ -0,0 +1,78 @@
+/** \file factory.cpp
+\brief Define the factory to create new instance
+\author alpha_one_x86 */
+
+#include "../../../cpp11addition.h"
+#include "CopyEngineFactory.h"
+
+CopyEngineFactory::CopyEngineFactory()
+{
+}
+
+CopyEngineFactory::~CopyEngineFactory()
+{
+}
+
+PluginInterface_CopyEngine * CopyEngineFactory::getInstance()
+{
+ CopyEngine *realObject=new CopyEngine();
+ return realObject;
+}
+
+void CopyEngineFactory::setResources(OptionInterface * options,const std::string &writePath,const std::string &pluginPath,
+ FacilityInterface * facilityInterface,const bool &portableVersion)
+{
+ (void)options;
+ (void)writePath;
+ (void)pluginPath;
+ (void)facilityInterface;
+ (void)portableVersion;
+}
+
+std::vector<std::string> CopyEngineFactory::supportedProtocolsForTheSource() const
+{
+ std::vector<std::string> l;
+ l.push_back("file");
+ return l;
+}
+
+std::vector<std::string> CopyEngineFactory::supportedProtocolsForTheDestination() const
+{
+ std::vector<std::string> l;
+ l.push_back("file");
+ return l;
+}
+
+Ultracopier::CopyType CopyEngineFactory::getCopyType()
+{
+ return Ultracopier::FileAndFolder;
+}
+
+Ultracopier::TransferListOperation CopyEngineFactory::getTransferListOperation()
+{
+ return Ultracopier::TransferListOperation_ImportExport;
+}
+
+bool CopyEngineFactory::canDoOnlyCopy() const
+{
+ return false;
+}
+
+void CopyEngineFactory::resetOptions()
+{
+}
+
+QWidget * CopyEngineFactory::options()
+{
+ return nullptr;
+}
+
+/// \brief to get if have pause
+bool CopyEngineFactory::havePause()
+{
+ return false;
+}
+
+void CopyEngineFactory::newLanguageLoaded()
+{
+}
diff --git a/plugins/CopyEngine/Random/CopyEngineFactory.h b/plugins/CopyEngine/Random/CopyEngineFactory.h
new file mode 100755
index 0000000..b1bad6a
--- /dev/null
+++ b/plugins/CopyEngine/Random/CopyEngineFactory.h
@@ -0,0 +1,58 @@
+/** \file factory.h
+\brief Define the factory to create new instance
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#include <QObject>
+#include <QList>
+#include <QStringList>
+#include <QFileInfo>
+#include <QProcess>
+#include <QTimer>
+
+#include "../../../interface/PluginInterface_CopyEngine.h"
+#include "CopyEngine.h"
+
+#ifndef FACTORY_H
+#define FACTORY_H
+
+namespace Ui {
+ class copyEngineOptions;
+}
+
+/** \brief to generate copy engine instance */
+class CopyEngineFactory : public PluginInterface_CopyEngineFactory
+{
+ Q_OBJECT
+ #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT
+ Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.CopyEngineFactory/2.0.0.0" FILE "plugin.json")
+ Q_INTERFACES(PluginInterface_CopyEngineFactory)
+ #endif
+public:
+ CopyEngineFactory();
+ ~CopyEngineFactory();
+ /// \brief to return the instance of the copy engine
+ PluginInterface_CopyEngine * getInstance();
+ /// \brief set the resources, to store options, to have facilityInterface
+ void setResources(OptionInterface * options,const std::string &writePath,const std::string &pluginPath,FacilityInterface * facilityInterface,const bool &portableVersion) override;
+ //get mode allowed
+ /// \brief define if can copy file, folder or both
+ Ultracopier::CopyType getCopyType() override;
+ /// \brief to return which kind of transfer list operation is supported
+ Ultracopier::TransferListOperation getTransferListOperation() override;
+ /// \brief define if can only copy, or copy and move
+ bool canDoOnlyCopy() const override;
+ /// \brief to get the supported protocols for the source
+ std::vector<std::string> supportedProtocolsForTheSource() const override;
+ /// \brief to get the supported protocols for the destination
+ std::vector<std::string> supportedProtocolsForTheDestination() const override;
+ /// \brief to get the options of the copy engine
+ QWidget * options() override;
+ /// \brief to get if have pause
+ bool havePause() override;
+public slots:
+ void resetOptions() override;
+ void newLanguageLoaded() override;
+};
+
+#endif // FACTORY_H
diff --git a/plugins/CopyEngine/Ultracopier/README.md b/plugins/CopyEngine/Random/README.md
index a15b943..a15b943 100644..100755
--- a/plugins/CopyEngine/Ultracopier/README.md
+++ b/plugins/CopyEngine/Random/README.md
diff --git a/plugins/CopyEngine/Random/informations.xml b/plugins/CopyEngine/Random/informations.xml
new file mode 100755
index 0000000..490980f
--- /dev/null
+++ b/plugins/CopyEngine/Random/informations.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<package>
+ <title xml:lang="en"><![CDATA[Random copy engine]]></title><!-- english is required -->
+ <!-- What kind of plugin this is -->
+ <category>CopyEngine</category>
+ <!-- Who wrote this plugin -->
+ <author><![CDATA[BRULE Herman, alpha_one_x86 (alpha_one_x86@first-world.info)]]></author>
+ <!-- URL of page or site for this plugin (may provide additional information, bug reports, feature requests). -->
+ <website xml:lang="en"><![CDATA[http://ultracopier.first-world.info/]]></website><!-- not required -->
+ <website xml:lang="fr"><![CDATA[http://ultracopier-fr.first-world.info/]]></website><!-- not required -->
+ <!-- the date-time format should be in timestamps format -->
+ <pubDate>1287496800</pubDate>
+ <!-- the architecture code of this plugin, found PlatformMacro.h into ultracopier source -->
+ <architecture>windows-x86</architecture>
+ <!-- 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.4</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. -->
+ <dependencies><![CDATA[
+ ]]></dependencies>
+</package>
diff --git a/plugins/CopyEngine/Ultracopier/plugin.json b/plugins/CopyEngine/Random/plugin.json
index 9e26dfe..9e26dfe 100644..100755
--- a/plugins/CopyEngine/Ultracopier/plugin.json
+++ b/plugins/CopyEngine/Random/plugin.json
diff --git a/plugins/CopyEngine/Rsync/CopyEngine.pro b/plugins/CopyEngine/Rsync/CopyEngine.pro
new file mode 100755
index 0000000..9728dc0
--- /dev/null
+++ b/plugins/CopyEngine/Rsync/CopyEngine.pro
@@ -0,0 +1,2 @@
+include($$PWD/../Ultracopier/Ultracopier.pro)
+DEFINES += ULTRACOPIER_PLUGIN_RSYNC
diff --git a/plugins/CopyEngine/Rsync/README.md b/plugins/CopyEngine/Rsync/README.md
index 94452a4..94452a4 100644..100755
--- a/plugins/CopyEngine/Rsync/README.md
+++ b/plugins/CopyEngine/Rsync/README.md
diff --git a/plugins/CopyEngine/Rsync/Rsync.pro b/plugins/CopyEngine/Rsync/Rsync.pro
index e525f27..e525f27 100644..100755
--- a/plugins/CopyEngine/Rsync/Rsync.pro
+++ b/plugins/CopyEngine/Rsync/Rsync.pro
diff --git a/plugins/CopyEngine/Rsync/informations.xml b/plugins/CopyEngine/Rsync/informations.xml
index 990809e..5ded350 100644..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>1.6.1.3</version>
+ <version>2.2.4.4</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/CallBackEventLoop.h b/plugins/CopyEngine/Ultracopier-Spec/CallBackEventLoop.h
new file mode 100755
index 0000000..811bf86
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/CallBackEventLoop.h
@@ -0,0 +1,15 @@
+#ifndef CALLBACKEVENTLOOP_H
+#define CALLBACKEVENTLOOP_H
+
+#include <QObject>
+#include "Variable.h"
+
+#ifdef POSIXFILEMANIP
+class CallBackEventLoop
+{
+public:
+ virtual void callBack() = 0;
+};
+#endif
+
+#endif // CALLBACKEVENTLOOP_H
diff --git a/plugins/CopyEngine/Ultracopier/CompilerInfo.h b/plugins/CopyEngine/Ultracopier-Spec/CompilerInfo.h
index 84625b9..84625b9 100644..100755
--- a/plugins/CopyEngine/Ultracopier/CompilerInfo.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/CompilerInfo.h
diff --git a/plugins/CopyEngine/Ultracopier/CopyEngine-collision-and-error.cpp b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine-collision-and-error.cpp
index 16c36ae..fcf43ff 100644..100755
--- a/plugins/CopyEngine/Ultracopier/CopyEngine-collision-and-error.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine-collision-and-error.cpp
@@ -8,37 +8,37 @@
//dialog message
/// \note Can be call without queue because all call will be serialized
-void CopyEngine::fileAlreadyExistsSlot(QFileInfo source,QFileInfo destination,bool isSame,TransferThread * thread)
+void CopyEngine::fileAlreadyExistsSlot(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,TransferThreadAsync * thread)
{
fileAlreadyExists(source,destination,isSame,thread);
}
/// \note Can be call without queue because all call will be serialized
-void CopyEngine::errorOnFileSlot(QFileInfo fileInfo,std::string errorString,TransferThread * thread,const ErrorType &errorType)
+void CopyEngine::errorOnFileSlot(INTERNALTYPEPATH fileInfo,std::string errorString,TransferThreadAsync * thread,const ErrorType &errorType)
{
errorOnFile(fileInfo,errorString,thread,errorType);
}
/// \note Can be call without queue because all call will be serialized
-void CopyEngine::folderAlreadyExistsSlot(QFileInfo source,QFileInfo destination,bool isSame,ScanFileOrFolder * thread)
+void CopyEngine::folderAlreadyExistsSlot(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,ScanFileOrFolder * thread)
{
folderAlreadyExists(source,destination,isSame,thread);
}
/// \note Can be call without queue because all call will be serialized
-void CopyEngine::errorOnFolderSlot(QFileInfo fileInfo,std::string errorString,ScanFileOrFolder * thread,ErrorType errorType)
+void CopyEngine::errorOnFolderSlot(INTERNALTYPEPATH fileInfo,std::string errorString,ScanFileOrFolder * thread,ErrorType errorType)
{
errorOnFolder(fileInfo,errorString,thread,errorType);
}
//mkpath event
-void CopyEngine::mkPathErrorOnFolderSlot(QFileInfo folder,std::string error,ErrorType errorType)
+void CopyEngine::mkPathErrorOnFolderSlot(INTERNALTYPEPATH folder,std::string error,ErrorType errorType)
{
mkPathErrorOnFolder(folder,error,errorType);
}
/// \note Can be call without queue because all call will be serialized
-void CopyEngine::fileAlreadyExists(QFileInfo source,QFileInfo destination,bool isSame,TransferThread * thread,bool isCalledByShowOneNewDialog)
+void CopyEngine::fileAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,TransferThreadAsync * thread,bool isCalledByShowOneNewDialog)
{
if(stopIt)
return;
@@ -50,9 +50,9 @@ void CopyEngine::fileAlreadyExists(QFileInfo source,QFileInfo destination,bool i
//load the action
if(isSame)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"file is same: "+source.absoluteFilePath().toStdString());
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"file is same: "+TransferThread::internalStringTostring(source));
FileExistsAction tempFileExistsAction=alwaysDoThisActionForFileExists;
- if(tempFileExistsAction==FileExists_Overwrite || tempFileExistsAction==FileExists_OverwriteIfNewer || tempFileExistsAction==FileExists_OverwriteIfNotSame || tempFileExistsAction==FileExists_OverwriteIfOlder)
+ if(tempFileExistsAction==FileExists_Overwrite || tempFileExistsAction==FileExists_OverwriteIfNewer || tempFileExistsAction==FileExists_OverwriteIfNotSameMdate || tempFileExistsAction==FileExists_OverwriteIfOlder)
tempFileExistsAction=FileExists_NotSet;
switch(tempFileExistsAction)
{
@@ -74,7 +74,7 @@ void CopyEngine::fileAlreadyExists(QFileInfo source,QFileInfo destination,bool i
}
dialogIsOpen=true;
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"show dialog");
- FileIsSameDialog dialog(interface,source,firstRenamingRule,otherRenamingRule);
+ FileIsSameDialog dialog(uiinterface,source,firstRenamingRule,otherRenamingRule,facilityEngine);
emit isInPause(true);
dialog.exec();/// \bug crash when external close
FileExistsAction newAction=dialog.getAction();
@@ -107,14 +107,20 @@ void CopyEngine::fileAlreadyExists(QFileInfo source,QFileInfo destination,bool i
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");
return;
break;
}
}
else
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"file already exists: "+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString());
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"file already exists: "+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination));
FileExistsAction tempFileExistsAction=alwaysDoThisActionForFileExists;
switch(tempFileExistsAction)
{
@@ -123,17 +129,18 @@ void CopyEngine::fileAlreadyExists(QFileInfo source,QFileInfo destination,bool i
case FileExists_Overwrite:
case FileExists_OverwriteIfNewer:
case FileExists_OverwriteIfOlder:
- case FileExists_OverwriteIfNotSame:
+ case FileExists_OverwriteIfNotSameMdate:
+ case FileExists_OverwriteIfNotSameSize:
+ case FileExists_OverwriteIfNotSameSizeAndDate:
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"always do this action: "+std::to_string(tempFileExistsAction));
thread->setFileExistsAction(tempFileExistsAction);
break;
default:
if(dialogIsOpen)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("dialog open, put in queue: %1 %2")
- .arg(source.absoluteFilePath())
- .arg(destination.absoluteFilePath())
- .toStdString()
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"dialog open, put in queue: "+
+ TransferThread::internalStringTostring(source)+" "+
+ TransferThread::internalStringTostring(destination)
);
alreadyExistsQueueItem newItem;
newItem.source=source;
@@ -146,7 +153,7 @@ void CopyEngine::fileAlreadyExists(QFileInfo source,QFileInfo destination,bool i
}
dialogIsOpen=true;
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"show dialog");
- FileExistsDialog dialog(interface,source,destination,firstRenamingRule,otherRenamingRule);
+ FileExistsDialog dialog(uiinterface,source,destination,firstRenamingRule,otherRenamingRule,facilityEngine);
emit isInPause(true);
dialog.exec();/// \bug crash when external close
FileExistsAction newAction=dialog.getAction();
@@ -174,7 +181,7 @@ void CopyEngine::fileAlreadyExists(QFileInfo source,QFileInfo destination,bool i
case FileExists_Overwrite:
ui->comboBoxFileCollision->setCurrentIndex(2);
break;
- case FileExists_OverwriteIfNotSame:
+ case FileExists_OverwriteIfNotSameMdate:
ui->comboBoxFileCollision->setCurrentIndex(3);
break;
case FileExists_OverwriteIfNewer:
@@ -183,6 +190,12 @@ void CopyEngine::fileAlreadyExists(QFileInfo source,QFileInfo destination,bool i
case FileExists_OverwriteIfOlder:
ui->comboBoxFileCollision->setCurrentIndex(5);
break;
+ case FileExists_OverwriteIfNotSameSize:
+ ui->comboBoxFileCollision->setCurrentIndex(7);
+ break;
+ case FileExists_OverwriteIfNotSameSizeAndDate:
+ ui->comboBoxFileCollision->setCurrentIndex(8);
+ break;
}
}
if(dialog.getAlways() || newAction!=FileExists_Rename)
@@ -195,6 +208,8 @@ void CopyEngine::fileAlreadyExists(QFileInfo source,QFileInfo destination,bool i
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
emit queryOneNewDialog();
}
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"NOT emit queryOneNewDialog(), !isCalledByShowOneNewDialog");
return;
break;
}
@@ -202,7 +217,7 @@ void CopyEngine::fileAlreadyExists(QFileInfo source,QFileInfo destination,bool i
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop");
}
-void CopyEngine::haveNeedPutAtBottom(bool needPutAtBottom, const QFileInfo &fileInfo, const std::string &errorString,TransferThread *thread,const ErrorType &errorType)
+void CopyEngine::haveNeedPutAtBottom(bool needPutAtBottom, const INTERNALTYPEPATH &fileInfo, const std::string &errorString,TransferThreadAsync *thread,const ErrorType &errorType)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
if(!needPutAtBottom)
@@ -226,7 +241,7 @@ void CopyEngine::haveNeedPutAtBottom(bool needPutAtBottom, const QFileInfo &file
void CopyEngine::missingDiskSpace(std::vector<Diskspace> list)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"show dialog");
- DiskSpace dialog(facilityEngine,list,interface);
+ DiskSpace dialog(facilityEngine,list,uiinterface);
emit isInPause(true);
dialog.exec();/// \bug crash when external close
bool ok=dialog.getAction();
@@ -239,11 +254,12 @@ void CopyEngine::missingDiskSpace(std::vector<Diskspace> list)
}
/// \note Can be call without queue because all call will be serialized
-void CopyEngine::errorOnFile(QFileInfo fileInfo,std::string errorString,TransferThread * thread,const ErrorType &errorType,bool isCalledByShowOneNewDialog)
+void CopyEngine::errorOnFile(INTERNALTYPEPATH fileInfo,std::string errorString,TransferThreadAsync * thread,const ErrorType &errorType,bool isCalledByShowOneNewDialog)
{
if(stopIt)
return;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"file have error: "+fileInfo.absoluteFilePath().toStdString()+", error: "+errorString);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"file have error: "+TransferThread::internalStringTostring(fileInfo)+
+ ", error: "+errorString);
if(thread==NULL)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to locate the thread");
@@ -260,7 +276,13 @@ void CopyEngine::errorOnFile(QFileInfo fileInfo,std::string errorString,Transfer
thread->retryAfterError();
return;
case FileError_PutToEndOfTheList:
+ errorPutAtEnd++;
emit getNeedPutAtBottom(fileInfo,errorString,thread,errorType);
+ if(errorPutAtEnd>listThread->actionToDoListInode.size() || listThread->actionToDoListInode.size()==0)
+ {
+ alwaysDoThisActionForFileError=FileError_NotSet;
+ errorPutAtEnd=0;
+ }
return;
case FileError_Cancel:
return;
@@ -280,8 +302,43 @@ void CopyEngine::errorOnFile(QFileInfo fileInfo,std::string errorString,Transfer
}
dialogIsOpen=true;
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"show dialog");
- emit error(fileInfo.absoluteFilePath().toStdString(),fileInfo.size(),fileInfo.lastModified().toMSecsSinceEpoch()/1000,errorString);
- FileErrorDialog dialog(interface,fileInfo,errorString,errorType);
+
+ uint64_t size=0;
+ uint64_t mdate=0;
+ #ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA sourceW;
+ if(GetFileAttributesExW(fileInfo.c_str(),GetFileExInfoStandard,&sourceW))
+ {
+ mdate=sourceW.ftLastWriteTime.dwHighDateTime;
+ mdate<<=32;
+ mdate|=sourceW.ftLastWriteTime.dwLowDateTime;
+ size=sourceW.nFileSizeHigh;
+ size<<=32;
+ size|=sourceW.nFileSizeLow;
+ }
+ #else
+ struct stat source_statbuf;
+ #ifdef Q_OS_UNIX
+ if(lstat(TransferThread::internalStringTostring(fileInfo).c_str(), &source_statbuf)==0)
+ #else
+ if(stat(TransferThread::internalStringTostring(fileInfo).c_str(), &source_statbuf)==0)
+ #endif
+ {
+ #ifdef Q_OS_UNIX
+ #ifdef Q_OS_MAC
+ mdate=source_statbuf.st_mtimespec.tv_sec;
+ #else
+ mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtim);
+ #endif
+ #else
+ mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtime);
+ #endif
+ size=source_statbuf.st_size;
+ }
+ #endif
+
+ emit error(TransferThread::internalStringTostring(fileInfo),size,mdate,errorString);
+ FileErrorDialog dialog(uiinterface,fileInfo,errorString,errorType,facilityEngine);
emit isInPause(true);
dialog.exec();/// \bug crash when external close
FileErrorAction newAction=dialog.getAction();
@@ -316,6 +373,7 @@ void CopyEngine::errorOnFile(QFileInfo fileInfo,std::string errorString,Transfer
thread->retryAfterError();
break;
case FileError_PutToEndOfTheList:
+ errorPutAtEnd++;
thread->putAtBottom();
break;
default:
@@ -324,7 +382,10 @@ void CopyEngine::errorOnFile(QFileInfo fileInfo,std::string errorString,Transfer
}
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");
return;
@@ -334,11 +395,12 @@ void CopyEngine::errorOnFile(QFileInfo fileInfo,std::string errorString,Transfer
}
/// \note Can be call without queue because all call will be serialized
-void CopyEngine::folderAlreadyExists(QFileInfo source,QFileInfo destination,bool isSame,ScanFileOrFolder * thread,bool isCalledByShowOneNewDialog)
+void CopyEngine::folderAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,ScanFileOrFolder * thread,bool isCalledByShowOneNewDialog)
{
if(stopIt)
return;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"folder already exists: "+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString());
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"folder already exists: "+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination));
if(thread==NULL)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to locate the thread");
@@ -367,7 +429,7 @@ void CopyEngine::folderAlreadyExists(QFileInfo source,QFileInfo destination,bool
}
dialogIsOpen=true;
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"show dialog");
- FolderExistsDialog dialog(interface,source,isSame,destination,firstRenamingRule,otherRenamingRule);
+ FolderExistsDialog dialog(uiinterface,source,isSame,destination,firstRenamingRule,otherRenamingRule);
dialog.exec();/// \bug crash when external close
FolderExistsAction newAction=dialog.getAction();
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"close dialog: "+std::to_string(newAction));
@@ -384,7 +446,12 @@ void CopyEngine::folderAlreadyExists(QFileInfo source,QFileInfo destination,bool
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");
return;
break;
}
@@ -392,11 +459,11 @@ void CopyEngine::folderAlreadyExists(QFileInfo source,QFileInfo destination,bool
/// \note Can be call without queue because all call will be serialized
/// \todo all this part
-void CopyEngine::errorOnFolder(QFileInfo fileInfo, std::string errorString, ScanFileOrFolder * thread, ErrorType errorType, bool isCalledByShowOneNewDialog)
+void CopyEngine::errorOnFolder(INTERNALTYPEPATH fileInfo, std::string errorString, ScanFileOrFolder * thread, ErrorType errorType, bool isCalledByShowOneNewDialog)
{
if(stopIt)
return;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"file have error: "+fileInfo.absoluteFilePath().toStdString()+", error: "+errorString);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"file have error: "+TransferThread::internalStringTostring(fileInfo)+", error: "+errorString);
if(thread==NULL)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to locate the thread");
@@ -426,9 +493,44 @@ void CopyEngine::errorOnFolder(QFileInfo fileInfo, std::string errorString, Scan
return;
}
dialogIsOpen=true;
+
+ uint64_t size=0;
+ uint64_t mdate=0;
+ #ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA sourceW;
+ if(GetFileAttributesExW(fileInfo.c_str(),GetFileExInfoStandard,&sourceW))
+ {
+ mdate=sourceW.ftLastWriteTime.dwHighDateTime;
+ mdate<<=32;
+ mdate|=sourceW.ftLastWriteTime.dwLowDateTime;
+ size=sourceW.nFileSizeHigh;
+ size<<=32;
+ size|=sourceW.nFileSizeLow;
+ }
+ #else
+ struct stat source_statbuf;
+ #ifdef Q_OS_UNIX
+ if(lstat(TransferThread::internalStringTostring(fileInfo).c_str(), &source_statbuf)==0)
+ #else
+ if(stat(TransferThread::internalStringTostring(fileInfo).c_str(), &source_statbuf)==0)
+ #endif
+ {
+ #ifdef Q_OS_UNIX
+ #ifdef Q_OS_MAC
+ mdate=source_statbuf.st_mtimespec.tv_sec;
+ #else
+ mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtim);
+ #endif
+ #else
+ mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtime);
+ #endif
+ size=source_statbuf.st_size;
+ }
+ #endif
+
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"show dialog");
- emit error(fileInfo.absoluteFilePath().toStdString(),fileInfo.size(),fileInfo.lastModified().toMSecsSinceEpoch()/1000,errorString);
- FileErrorDialog dialog(interface,fileInfo,errorString,errorType);
+ emit error(TransferThread::internalStringTostring(fileInfo),size,mdate,errorString);
+ FileErrorDialog dialog(uiinterface,fileInfo,errorString,errorType,facilityEngine);
dialog.exec();/// \bug crash when external close
FileErrorAction newAction=dialog.getAction();
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"close dialog: "+std::to_string(newAction));
@@ -445,7 +547,12 @@ void CopyEngine::errorOnFolder(QFileInfo fileInfo, std::string errorString, Scan
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");
return;
break;
}
@@ -455,11 +562,11 @@ void CopyEngine::errorOnFolder(QFileInfo fileInfo, std::string errorString, Scan
// -----------------------------------------------------
//mkpath event
-void CopyEngine::mkPathErrorOnFolder(QFileInfo folder,std::string errorString,const ErrorType &errorType,bool isCalledByShowOneNewDialog)
+void CopyEngine::mkPathErrorOnFolder(INTERNALTYPEPATH folder, std::string errorString, const ErrorType &errorType, bool isCalledByShowOneNewDialog)
{
if(stopIt)
return;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"file have error: "+folder.absoluteFilePath().toStdString()+", error: "+errorString);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"file have error: "+TransferThread::internalStringTostring(folder)+", error: "+errorString);
//load the always action
FileErrorAction tempFileErrorAction=alwaysDoThisActionForFolderError;
switch(tempFileErrorAction)
@@ -486,8 +593,43 @@ void CopyEngine::mkPathErrorOnFolder(QFileInfo folder,std::string errorString,co
}
dialogIsOpen=true;
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"show dialog");
- emit error(folder.absoluteFilePath().toStdString(),folder.size(),folder.lastModified().toMSecsSinceEpoch()/1000,errorString);
- FileErrorDialog dialog(interface,folder,errorString,errorType);
+
+ uint64_t size=0;
+ uint64_t mdate=0;
+ #ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA sourceW;
+ if(GetFileAttributesExW(folder.c_str(),GetFileExInfoStandard,&sourceW))
+ {
+ mdate=sourceW.ftLastWriteTime.dwHighDateTime;
+ mdate<<=32;
+ mdate|=sourceW.ftLastWriteTime.dwLowDateTime;
+ size=sourceW.nFileSizeHigh;
+ size<<=32;
+ size|=sourceW.nFileSizeLow;
+ }
+ #else
+ struct stat source_statbuf;
+ #ifdef Q_OS_UNIX
+ if(lstat(TransferThread::internalStringTostring(folder).c_str(), &source_statbuf)==0)
+ #else
+ if(stat(TransferThread::internalStringTostring(folder).c_str(), &source_statbuf)==0)
+ #endif
+ {
+ #ifdef Q_OS_UNIX
+ #ifdef Q_OS_MAC
+ mdate=source_statbuf.st_mtimespec.tv_sec;
+ #else
+ mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtim);
+ #endif
+ #else
+ mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtime);
+ #endif
+ size=source_statbuf.st_size;
+ }
+ #endif
+
+ emit error(TransferThread::internalStringTostring(folder),size,mdate,errorString);
+ FileErrorDialog dialog(uiinterface,folder,errorString,errorType,facilityEngine);
dialog.exec();/// \bug crash when external close
FileErrorAction newAction=dialog.getAction();
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"close dialog: "+std::to_string(newAction));
@@ -515,7 +657,12 @@ void CopyEngine::mkPathErrorOnFolder(QFileInfo folder,std::string errorString,co
break;
}
if(!isCalledByShowOneNewDialog)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit queryOneNewDialog()");
emit queryOneNewDialog();
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"NOT emit queryOneNewDialog(), !isCalledByShowOneNewDialog");
return;
break;
}
@@ -529,6 +676,8 @@ 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)
{
@@ -565,4 +714,6 @@ void CopyEngine::showOneNewDialog()
errorQueue.erase(errorQueue.cbegin());
loop_size--;
}
+ //no more to show then reset
+ dialogIsOpen=false;
}
diff --git a/plugins/CopyEngine/Ultracopier/CopyEngine.cpp b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.cpp
index f3d6e04..8ec21e1 100644..100755
--- a/plugins/CopyEngine/Ultracopier/CopyEngine.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.cpp
@@ -18,22 +18,51 @@ inline double round(double d) {
#endif
CopyEngine::CopyEngine(FacilityInterface * facilityEngine) :
- ui(new Ui::copyEngineOptions())
+ listThread(NULL),
+ tempWidget(NULL),
+ ui(new Ui::copyEngineOptions()),
+ uiIsInstalled(false),
+ uiinterface(NULL),
+ filters(NULL),
+ renamingRules(NULL),
+ facilityEngine(NULL),
+ doRightTransfer(false),
+ keepDate(false),
+ followTheStrictOrder(false),
+ deletePartiallyTransferredFiles(false),
+ inodeThreads(0),
+ renameTheOriginalDestination(false),
+ moveTheWholeFolder(false),
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ rsync(false),
+ #endif
+ checkDestinationFolderExists(false),
+ mkFullPath(false),
+ checksum(false),
+ alwaysDoThisActionForFileExists(FileExistsAction::FileExists_NotSet),
+ alwaysDoThisActionForFileError(FileErrorAction::FileError_NotSet),
+ alwaysDoThisActionForFolderError(FileErrorAction::FileError_NotSet),
+ alwaysDoThisActionForFolderExists(FolderExistsAction::FolderExists_NotSet),
+ dialogIsOpen(false),
+ stopIt(false),
+ size_for_speed(0),
+ mode(Ultracopier::CopyMode::Copy),
+ forcedMode(false),
+ checkDiskSpace(false),
+ osBufferLimit(0),
+ errorPutAtEnd(0),
+ putAtBottom(0)
{
listThread=new ListThread(facilityEngine);
this->facilityEngine = facilityEngine;
filters = NULL;
renamingRules = NULL;
- blockSize = ULTRACOPIER_PLUGIN_DEFAULT_BLOCK_SIZE;
- sequentialBuffer = ULTRACOPIER_PLUGIN_DEFAULT_BLOCK_SIZE*ULTRACOPIER_PLUGIN_DEFAULT_SEQUENTIAL_NUMBER_OF_BLOCK;
- parallelBuffer = ULTRACOPIER_PLUGIN_DEFAULT_BLOCK_SIZE*ULTRACOPIER_PLUGIN_DEFAULT_PARALLEL_NUMBER_OF_BLOCK;
- interface = NULL;
+ uiinterface = NULL;
tempWidget = NULL;
uiIsInstalled = false;
dialogIsOpen = false;
renameTheOriginalDestination = false;
- maxSpeed = 0;
alwaysDoThisActionForFileExists = FileExists_NotSet;
alwaysDoThisActionForFileError = FileError_NotSet;
checkDestinationFolderExists = false;
@@ -72,15 +101,16 @@ void CopyEngine::connectTheSignalsSlots()
{
#ifdef ULTRACOPIER_PLUGIN_DEBUG_WINDOW
debugDialogWindow.show();
+ debugDialogWindow.copyEngine=this;
#endif
+ if(!connect(listThread,&ListThread::isInPause, this,&CopyEngine::isInPause, Qt::QueuedConnection))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect isInPause()");
if(!connect(listThread,&ListThread::actionInProgess, this,&CopyEngine::actionInProgess, Qt::QueuedConnection))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect actionInProgess()");
if(!connect(listThread,&ListThread::actionInProgess, this,&CopyEngine::newActionInProgess, Qt::QueuedConnection))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect actionInProgess() to slot");
if(!connect(listThread,&ListThread::newFolderListing, this,&CopyEngine::newFolderListing, Qt::QueuedConnection))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect newFolderListing()");
- if(!connect(listThread,&ListThread::isInPause, this,&CopyEngine::isInPause, Qt::QueuedConnection))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect isInPause()");
if(!connect(listThread,&ListThread::error, this,&CopyEngine::error, Qt::QueuedConnection))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect error()");
if(!connect(listThread,&ListThread::rmPath, this,&CopyEngine::rmPath, Qt::QueuedConnection))
@@ -135,6 +165,8 @@ void CopyEngine::connectTheSignalsSlots()
if(!connect(this,&CopyEngine::signal_pause, listThread,&ListThread::pause, Qt::QueuedConnection))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect signal_pause()");
+ if(!connect(this,&CopyEngine::signal_setSpeedLimitation, listThread,&ListThread::setSpeedLimitation, Qt::QueuedConnection))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect setSpeedLimitation()");
if(!connect(this,&CopyEngine::signal_exportErrorIntoTransferList,listThread,&ListThread::exportErrorIntoTransferList, Qt::QueuedConnection))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect signal_exportErrorIntoTransferList()");
if(!connect(this,&CopyEngine::signal_resume, listThread,&ListThread::resume, Qt::QueuedConnection))
@@ -143,8 +175,6 @@ void CopyEngine::connectTheSignalsSlots()
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect signal_skip()");
if(!connect(this,&CopyEngine::signal_setCollisionAction, listThread,&ListThread::setAlwaysFileExistsAction, Qt::QueuedConnection))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect signal_setCollisionAction()");
- if(!connect(this,&CopyEngine::signal_setTransferAlgorithm, listThread,&ListThread::setTransferAlgorithm, Qt::QueuedConnection))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect signal_setCollisionAction()");
if(!connect(this,&CopyEngine::signal_setFolderCollision, listThread,&ListThread::setFolderCollision, Qt::QueuedConnection))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect signal_setFolderCollision()");
if(!connect(this,&CopyEngine::signal_removeItems, listThread,&ListThread::removeItems, Qt::QueuedConnection))
@@ -163,20 +193,6 @@ void CopyEngine::connectTheSignalsSlots()
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect signal_importTransferList()");
if(!connect(this,&CopyEngine::signal_forceMode, listThread,&ListThread::forceMode, Qt::QueuedConnection))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect signal_forceMode()");
- if(!connect(this,&CopyEngine::send_osBufferLimit, listThread,&ListThread::set_osBufferLimit, Qt::QueuedConnection))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect send_osBufferLimit()");
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- if(!connect(this,&CopyEngine::send_speedLimitation, listThread,&ListThread::setSpeedLimitation, Qt::QueuedConnection))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect send_speedLimitation()");
- #endif
- if(!connect(this,&CopyEngine::send_blockSize, listThread,&ListThread::setBlockSize, Qt::QueuedConnection))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect send_blockSize()");
- if(!connect(this,&CopyEngine::send_parallelBuffer, listThread,&ListThread::setParallelBuffer, Qt::QueuedConnection))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect setParallelBuffer()");
- if(!connect(this,&CopyEngine::send_sequentialBuffer, listThread,&ListThread::setSequentialBuffer, Qt::QueuedConnection))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect setSequentialBuffer()");
- if(!connect(this,&CopyEngine::send_parallelizeIfSmallerThan, listThread,&ListThread::setParallelizeIfSmallerThan, Qt::QueuedConnection))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect setParallelizeIfSmallerThan()");
if(!connect(this,&CopyEngine::send_moveTheWholeFolder, listThread,&ListThread::setMoveTheWholeFolder, Qt::QueuedConnection))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect moveTheWholeFolder()");
if(!connect(this,&CopyEngine::send_deletePartiallyTransferredFiles, listThread,&ListThread::setDeletePartiallyTransferredFiles, Qt::QueuedConnection))
@@ -222,37 +238,25 @@ bool CopyEngine::getOptionsEngine(QWidget * tempWidget)
this->tempWidget=tempWidget;
ui->setupUi(tempWidget);
ui->toolBox->setCurrentIndex(0);
- ui->blockSize->setMaximum(ULTRACOPIER_PLUGIN_MAX_BLOCK_SIZE);
connect(tempWidget, &QWidget::destroyed, this, &CopyEngine::resetTempWidget);
- //conect the ui widget
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- if(!setSpeedLimitation(maxSpeed))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to set the speed limitation");
- #endif
//here else, the default settings can't be loaded
uiIsInstalled=true;
- setBlockSize(blockSize);
- setSequentialBuffer(sequentialBuffer);
- setParallelBuffer(parallelBuffer);
- setAutoStart(autoStart);
#ifdef ULTRACOPIER_PLUGIN_RSYNC
setRsync(rsync);
#else
ui->label_rsync->setVisible(false);
ui->rsync->setVisible(false);
#endif
+ setAutoStart(autoStart);
setCheckDestinationFolderExists(checkDestinationFolderExists);
- set_doChecksum(doChecksum);
- set_checksumIgnoreIfImpossible(checksumIgnoreIfImpossible);
- set_checksumOnlyOnError(checksumOnlyOnError);
- set_osBuffer(osBuffer);
- set_osBufferLimited(osBufferLimited);
- set_osBufferLimit(osBufferLimit);
+ setMkFullPath(mkFullPath);
+ setChecksum(checksum);
setRightTransfer(doRightTransfer);
setKeepDate(keepDate);
- setParallelizeIfSmallerThan(parallelizeIfSmallerThan);
+ setOsSpecFlags(os_spec_flags);
+ setNativeCopy(native_copy);
setFollowTheStrictOrder(followTheStrictOrder);
setDeletePartiallyTransferredFiles(deletePartiallyTransferredFiles);
setInodeThreads(inodeThreads);
@@ -272,7 +276,7 @@ bool CopyEngine::getOptionsEngine(QWidget * tempWidget)
case FileExists_Overwrite:
ui->comboBoxFileCollision->setCurrentIndex(2);
break;
- case FileExists_OverwriteIfNotSame:
+ case FileExists_OverwriteIfNotSameMdate:
ui->comboBoxFileCollision->setCurrentIndex(3);
break;
case FileExists_OverwriteIfNewer:
@@ -284,6 +288,12 @@ bool CopyEngine::getOptionsEngine(QWidget * tempWidget)
case FileExists_Rename:
ui->comboBoxFileCollision->setCurrentIndex(6);
break;
+ case FileExists_OverwriteIfNotSameSize:
+ ui->comboBoxFileCollision->setCurrentIndex(6);
+ break;
+ case FileExists_OverwriteIfNotSameSizeAndDate:
+ ui->comboBoxFileCollision->setCurrentIndex(6);
+ break;
default:
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Error, unknow index, ignored");
ui->comboBoxFileCollision->setCurrentIndex(0);
@@ -337,48 +347,31 @@ bool CopyEngine::getOptionsEngine(QWidget * tempWidget)
ui->comboBoxFolderError->setCurrentIndex(0);
break;
}
- switch(transferAlgorithm)
- {
- case TransferAlgorithm_Automatic:
- ui->transferAlgorithm->setCurrentIndex(0);
- break;
- case TransferAlgorithm_Sequential:
- ui->transferAlgorithm->setCurrentIndex(1);
- break;
- case TransferAlgorithm_Parallel:
- ui->transferAlgorithm->setCurrentIndex(2);
- break;
- default:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Error, unknow index, ignored");
- ui->transferAlgorithm->setCurrentIndex(0);
- break;
- }
return true;
}
//to have interface widget to do modal dialog
-void CopyEngine::setInterfacePointer(QWidget * interface)
+void CopyEngine::setInterfacePointer(QWidget * uiinterface)
{
- this->interface=interface;
- filters=new Filters(tempWidget);
- renamingRules=new RenamingRules(tempWidget);
+ this->uiinterface=uiinterface;
+ if(filters==NULL)
+ filters=new Filters(tempWidget);
+ if(renamingRules==NULL)
+ renamingRules=new RenamingRules(tempWidget);
if(uiIsInstalled)
{
+ connect(ui->autoStart, &QCheckBox::toggled, this,&CopyEngine::setAutoStart);
connect(ui->doRightTransfer, &QCheckBox::toggled, this,&CopyEngine::setRightTransfer);
connect(ui->keepDate, &QCheckBox::toggled, this,&CopyEngine::setKeepDate);
- connect(ui->blockSize, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,&CopyEngine::setBlockSize);
- connect(ui->autoStart, &QCheckBox::toggled, this,&CopyEngine::setAutoStart);
- connect(ui->doChecksum, &QCheckBox::toggled, this,&CopyEngine::doChecksum_toggled);
- connect(ui->checksumIgnoreIfImpossible, &QCheckBox::toggled, this,&CopyEngine::checksumIgnoreIfImpossible_toggled);
- connect(ui->checksumOnlyOnError, &QCheckBox::toggled, this,&CopyEngine::checksumOnlyOnError_toggled);
- connect(ui->osBuffer, &QCheckBox::toggled, this,&CopyEngine::osBuffer_toggled);
- connect(ui->osBufferLimited, &QCheckBox::toggled, this,&CopyEngine::osBufferLimited_toggled);
- connect(ui->osBufferLimit, &QSpinBox::editingFinished, this,&CopyEngine::osBufferLimit_editingFinished);
+ connect(ui->os_spec_flags, &QCheckBox::toggled, this,&CopyEngine::setOsSpecFlags);
+ connect(ui->native_copy, &QCheckBox::toggled, this,&CopyEngine::setNativeCopy);
connect(ui->moveTheWholeFolder, &QCheckBox::toggled, this,&CopyEngine::setMoveTheWholeFolder);
connect(ui->deletePartiallyTransferredFiles, &QCheckBox::toggled, this,&CopyEngine::setDeletePartiallyTransferredFiles);
connect(ui->followTheStrictOrder, &QCheckBox::toggled, this,&CopyEngine::setFollowTheStrictOrder);
connect(ui->checkBoxDestinationFolderExists, &QCheckBox::toggled, this,&CopyEngine::setCheckDestinationFolderExists);
+ connect(ui->mkpath, &QCheckBox::toggled, this,&CopyEngine::setMkFullPath);
+ connect(ui->checksum, &QCheckBox::toggled, this,&CopyEngine::setChecksum);
#ifdef ULTRACOPIER_PLUGIN_RSYNC
connect(ui->rsync, &QCheckBox::toggled, this,&CopyEngine::setRsync);
#endif
@@ -389,14 +382,10 @@ void CopyEngine::setInterfacePointer(QWidget * interface)
connect(ui->inodeThreads, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,&CopyEngine::setInodeThreads);
connect(ui->defaultDestinationFolderBrowse, &QPushButton::clicked, this,&CopyEngine::defaultDestinationFolderBrowse);
- connect(ui->sequentialBuffer, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,&CopyEngine::setSequentialBuffer);
- connect(ui->parallelBuffer, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,&CopyEngine::setParallelBuffer);
- connect(ui->parallelizeIfSmallerThan, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,&CopyEngine::setParallelizeIfSmallerThan);
connect(ui->comboBoxFolderError, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&CopyEngine::setFolderError);
connect(ui->comboBoxFolderCollision, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&CopyEngine::setFolderCollision);
connect(ui->comboBoxFileError, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&CopyEngine::setFileError);
connect(ui->comboBoxFileCollision, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&CopyEngine::setFileCollision);
- connect(ui->transferAlgorithm, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&CopyEngine::setTransferAlgorithm);
if(!connect(renamingRules,&RenamingRules::sendNewRenamingRules,this,&CopyEngine::sendNewRenamingRules))
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect sendNewRenamingRules()");
@@ -404,8 +393,14 @@ void CopyEngine::setInterfacePointer(QWidget * interface)
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to connect renamingRules.clicked()");
}
- filters->setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions);
- set_setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions);
+ if(!filters->setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions))
+ {
+ includeStrings.clear();
+ includeOptions.clear();
+ excludeStrings.clear();
+ excludeOptions.clear();
+ set_setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions);
+ }
renamingRules->setRenamingRules(firstRenamingRule,otherRenamingRule);
emit send_sendNewRenamingRules(firstRenamingRule,otherRenamingRule);
@@ -421,8 +416,22 @@ bool CopyEngine::haveSameDestination(const std::string &destination)
return listThread->haveSameDestination(destination);
}
+std::string CopyEngine::stringimplode(const std::vector<std::string>& elems, const std::string &delim)
+{
+ std::string newString;
+ for (std::vector<std::string>::const_iterator ii = elems.begin(); ii != elems.cend(); ++ii)
+ {
+ newString += (*ii);
+ if ( ii + 1 != elems.end() ) {
+ newString += delim;
+ }
+ }
+ return newString;
+}
+
bool CopyEngine::newCopy(const std::vector<std::string> &sources)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,stringimplode(sources,", "));
if(forcedMode && mode!=Ultracopier::Copy)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"The engine is forced to move, you can't copy with it");
@@ -445,6 +454,7 @@ bool CopyEngine::newCopy(const std::vector<std::string> &sources)
bool CopyEngine::newCopy(const std::vector<std::string> &sources,const std::string &destination)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,stringimplode(sources,", ")+" "+destination);
if(forcedMode && mode!=Ultracopier::Copy)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"The engine is forced to move, you can't copy with it");
@@ -456,6 +466,7 @@ bool CopyEngine::newCopy(const std::vector<std::string> &sources,const std::stri
bool CopyEngine::newMove(const std::vector<std::string> &sources)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,stringimplode(sources,", "));
if(forcedMode && mode!=Ultracopier::Move)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"The engine is forced to copy, you can't move with it");
@@ -478,6 +489,7 @@ bool CopyEngine::newMove(const std::vector<std::string> &sources)
bool CopyEngine::newMove(const std::vector<std::string> &sources,const std::string &destination)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,stringimplode(sources,", ")+" "+destination);
if(forcedMode && mode!=Ultracopier::Move)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"The engine is forced to copy, you can't move with it");
@@ -505,13 +517,13 @@ std::string CopyEngine::askDestination()
std::string destination = listThread->getUniqueDestinationFolder();
if(!destination.empty())
{
- QMessageBox::StandardButton button=QMessageBox::question(interface,tr("Destination"),tr("Use the actual destination \"%1\"?")
+ QMessageBox::StandardButton button=QMessageBox::question(uiinterface,tr("Destination"),tr("Use the actual destination \"%1\"?")
.arg(QString::fromStdString(destination)),
QMessageBox::Yes | QMessageBox::No,QMessageBox::Yes);
if(button==QMessageBox::Yes)
return destination;
}
- destination=QFileDialog::getExistingDirectory(interface,QString::fromStdString(facilityEngine->translateText("Select destination directory")),QStringLiteral(""),QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks).toStdString();
+ destination=QFileDialog::getExistingDirectory(uiinterface,QString::fromStdString(facilityEngine->translateText("Select destination directory")),QStringLiteral(""),QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks).toStdString();
return destination;
}
@@ -529,11 +541,7 @@ uint64_t CopyEngine::realByteTransfered()
//speed limitation
bool CopyEngine::supportSpeedLimitation() const
{
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
return true;
- #else
- return false;
- #endif
}
/** \brief to sync the transfer list
@@ -543,76 +551,21 @@ void CopyEngine::syncTransferList()
listThread->syncTransferList();
}
-void CopyEngine::set_doChecksum(bool doChecksum)
-{
- listThread->set_doChecksum(doChecksum);
- if(uiIsInstalled)
- {
- ui->doChecksum->setChecked(doChecksum);
- ui->checksumOnlyOnError->setEnabled(ui->doChecksum->isChecked());
- ui->checksumIgnoreIfImpossible->setEnabled(ui->doChecksum->isChecked());
- }
- this->doChecksum=doChecksum;
-}
-
-void CopyEngine::set_checksumIgnoreIfImpossible(bool checksumIgnoreIfImpossible)
-{
- listThread->set_checksumIgnoreIfImpossible(checksumIgnoreIfImpossible);
- if(uiIsInstalled)
- ui->checksumIgnoreIfImpossible->setChecked(checksumIgnoreIfImpossible);
- this->checksumIgnoreIfImpossible=checksumIgnoreIfImpossible;
-}
-
-void CopyEngine::set_checksumOnlyOnError(bool checksumOnlyOnError)
-{
- listThread->set_checksumOnlyOnError(checksumOnlyOnError);
- if(uiIsInstalled)
- ui->checksumOnlyOnError->setChecked(checksumOnlyOnError);
- this->checksumOnlyOnError=checksumOnlyOnError;
-}
-
-void CopyEngine::set_osBuffer(bool osBuffer)
-{
- listThread->set_osBuffer(osBuffer);
- if(uiIsInstalled)
- {
- ui->osBuffer->setChecked(osBuffer);
- updateBufferCheckbox();
- }
- this->osBuffer=osBuffer;
-}
-
-void CopyEngine::set_osBufferLimited(bool osBufferLimited)
-{
- listThread->set_osBufferLimited(osBufferLimited);
- if(uiIsInstalled)
- {
- ui->osBufferLimited->setChecked(osBufferLimited);
- updateBufferCheckbox();
- }
- this->osBufferLimited=osBufferLimited;
-}
-
-void CopyEngine::set_osBufferLimit(unsigned int osBufferLimit)
-{
- emit send_osBufferLimit(osBufferLimit);
- if(uiIsInstalled)
- ui->osBufferLimit->setValue(osBufferLimit);
- this->osBufferLimit=osBufferLimit;
-}
-
-void CopyEngine::updateBufferCheckbox()
-{
- ui->osBufferLimited->setEnabled(ui->osBuffer->isChecked());
- ui->osBufferLimit->setEnabled(ui->osBuffer->isChecked() && ui->osBufferLimited->isChecked());
-}
-
void CopyEngine::set_setFilters(std::vector<std::string> includeStrings,std::vector<std::string> includeOptions,std::vector<std::string> excludeStrings,std::vector<std::string> excludeOptions)
{
+ if(filters==NULL)
+ filters=new Filters();
if(filters!=NULL)
{
- filters->setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions);
+ if(!filters->setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions))
+ {
+ includeStrings.clear();
+ includeOptions.clear();
+ excludeStrings.clear();
+ excludeOptions.clear();
+ }
emit send_setFilters(filters->getInclude(),filters->getExclude());
+ listThread->set_setFilters(filters->getInclude(),filters->getExclude());
}
this->includeStrings=includeStrings;
this->includeOptions=includeOptions;
@@ -627,7 +580,7 @@ void CopyEngine::setRenamingRules(std::string firstRenamingRule,std::string othe
bool CopyEngine::userAddFolder(const Ultracopier::CopyMode &mode)
{
- std::string source = QFileDialog::getExistingDirectory(interface,QString::fromStdString(facilityEngine->translateText("Select source directory")),
+ std::string source = QFileDialog::getExistingDirectory(uiinterface,QString::fromStdString(facilityEngine->translateText("Select source directory")),
QStringLiteral(""),
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks).toStdString();
if(source.empty() || source=="")
@@ -644,7 +597,7 @@ bool CopyEngine::userAddFile(const Ultracopier::CopyMode &mode)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
QStringList sources = QFileDialog::getOpenFileNames(
- interface,
+ uiinterface,
QString::fromStdString(facilityEngine->translateText("Select one or more files to open")),
QStringLiteral(""),
QString::fromStdString(facilityEngine->translateText("All files"))+QStringLiteral(" (*)"));
@@ -751,7 +704,7 @@ void CopyEngine::forceMode(const Ultracopier::CopyMode &mode)
void CopyEngine::exportTransferList()
{
- std::string fileName = QFileDialog::getSaveFileName(interface,QString::fromStdString(facilityEngine->translateText("Save transfer list")),QStringLiteral("transfer-list.lst"),QString::fromStdString(facilityEngine->translateText("Transfer list"))+QStringLiteral(" (*.lst)")).toStdString();
+ std::string fileName = QFileDialog::getSaveFileName(uiinterface,QString::fromStdString(facilityEngine->translateText("Save transfer list")),QStringLiteral("transfer-list.lst"),QString::fromStdString(facilityEngine->translateText("Transfer list"))+QStringLiteral(" (*.lst)")).toStdString();
if(fileName.empty())
return;
emit signal_exportTransferList(fileName);
@@ -759,7 +712,7 @@ void CopyEngine::exportTransferList()
void CopyEngine::importTransferList()
{
- std::string fileName = QFileDialog::getOpenFileName(interface,QString::fromStdString(facilityEngine->translateText("Open transfer list")),QStringLiteral("transfer-list.lst"),QString::fromStdString(facilityEngine->translateText("Transfer list"))+QStringLiteral(" (*.lst)")).toStdString();
+ std::string fileName = QFileDialog::getOpenFileName(uiinterface,QString::fromStdString(facilityEngine->translateText("Open transfer list")),QStringLiteral("transfer-list.lst"),QString::fromStdString(facilityEngine->translateText("Transfer list"))+QStringLiteral(" (*.lst)")).toStdString();
if(fileName.empty())
return;
emit signal_importTransferList(fileName);
@@ -767,20 +720,19 @@ void CopyEngine::importTransferList()
void CopyEngine::warningTransferList(const std::string &warning)
{
- QMessageBox::warning(interface,QString::fromStdString(facilityEngine->translateText("Error")),QString::fromStdString(warning));
+ QMessageBox::warning(uiinterface,QString::fromStdString(facilityEngine->translateText("Error")),QString::fromStdString(warning));
}
void CopyEngine::errorTransferList(const std::string &error)
{
- QMessageBox::critical(interface,QString::fromStdString(facilityEngine->translateText("Error")),QString::fromStdString(error));
+ QMessageBox::critical(uiinterface,QString::fromStdString(facilityEngine->translateText("Error")),QString::fromStdString(error));
}
bool CopyEngine::setSpeedLimitation(const int64_t &speedLimitation)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"maxSpeed: "+std::to_string(speedLimitation));
- maxSpeed=speedLimitation;
- emit send_speedLimitation(speedLimitation);
- return true;
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"maxSpeed: "+std::to_string(speedLimitation));
+ emit signal_setSpeedLimitation(speedLimitation);
+ return false;
}
void CopyEngine::setFileCollision(int index)
@@ -801,7 +753,7 @@ void CopyEngine::setFileCollision(int index)
alwaysDoThisActionForFileExists=FileExists_Overwrite;
break;
case 3:
- alwaysDoThisActionForFileExists=FileExists_OverwriteIfNotSame;
+ alwaysDoThisActionForFileExists=FileExists_OverwriteIfNotSameMdate;
break;
case 4:
alwaysDoThisActionForFileExists=FileExists_OverwriteIfNewer;
@@ -842,38 +794,7 @@ void CopyEngine::setFileError(int index)
alwaysDoThisActionForFileError=FileError_NotSet;
break;
}
- emit signal_setCollisionAction(alwaysDoThisActionForFileExists);
-}
-
-void CopyEngine::setTransferAlgorithm(int index)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"action index: "+std::to_string(index));
- if(uiIsInstalled)
- if(index!=ui->transferAlgorithm->currentIndex())
- ui->transferAlgorithm->setCurrentIndex(index);
- switch(index)
- {
- case 0:
- transferAlgorithm=TransferAlgorithm_Automatic;
- break;
- case 1:
- transferAlgorithm=TransferAlgorithm_Sequential;
- break;
- case 2:
- transferAlgorithm=TransferAlgorithm_Parallel;
- break;
- default:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Error, unknow index, ignored");
- transferAlgorithm=TransferAlgorithm_Automatic;
- break;
- }
- if(transferAlgorithm==TransferAlgorithm_Sequential)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"transferAlgorithm==TransferAlgorithm_Sequential");
- else if(transferAlgorithm==TransferAlgorithm_Automatic)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"transferAlgorithm==TransferAlgorithm_Automatic");
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"transferAlgorithm==TransferAlgorithm_Parallel");
- emit signal_setTransferAlgorithm(transferAlgorithm);
+ //emit signal_setCollisionAction(alwaysDoThisActionForFileExists);
}
void CopyEngine::setRightTransfer(const bool doRightTransfer)
@@ -893,44 +814,20 @@ void CopyEngine::setKeepDate(const bool keepDate)
listThread->setKeepDate(keepDate);
}
-//set block size in KB
-void CopyEngine::setBlockSize(const int blockSize)
+void CopyEngine::setOsSpecFlags(const bool os_spec_flags)
{
- this->blockSize=blockSize;
+ this->os_spec_flags=os_spec_flags;
if(uiIsInstalled)
- {
- ui->blockSize->setValue(blockSize);
- ui->sequentialBuffer->setSingleStep(blockSize);
- ui->parallelBuffer->setSingleStep(blockSize);
- }
- emit send_blockSize(blockSize);
- updatedBlockSize();
+ ui->os_spec_flags->setChecked(os_spec_flags);
+ listThread->setOsSpecFlags(os_spec_flags);
}
-void CopyEngine::setParallelBuffer(int parallelBuffer)
+void CopyEngine::setNativeCopy(const bool native_copy)
{
- parallelBuffer=round((float)parallelBuffer/(float)blockSize)*blockSize;
- this->parallelBuffer=parallelBuffer;
+ this->native_copy=native_copy;
if(uiIsInstalled)
- ui->parallelBuffer->setValue(parallelBuffer);
- emit send_parallelBuffer(parallelBuffer/blockSize);
-}
-
-void CopyEngine::setSequentialBuffer(int sequentialBuffer)
-{
- sequentialBuffer=round((float)sequentialBuffer/(float)blockSize)*blockSize;
- this->sequentialBuffer=sequentialBuffer;
- if(uiIsInstalled)
- ui->sequentialBuffer->setValue(sequentialBuffer);
- emit send_sequentialBuffer(sequentialBuffer/blockSize);
-}
-
-void CopyEngine::setParallelizeIfSmallerThan(int parallelizeIfSmallerThan)
-{
- this->parallelizeIfSmallerThan=parallelizeIfSmallerThan;
- if(uiIsInstalled)
- ui->parallelizeIfSmallerThan->setValue(parallelizeIfSmallerThan);
- emit send_parallelizeIfSmallerThan(parallelizeIfSmallerThan*1024);
+ ui->native_copy->setChecked(native_copy);
+ listThread->setNativeCopy(native_copy);
}
void CopyEngine::setMoveTheWholeFolder(const bool &moveTheWholeFolder)
@@ -946,6 +843,7 @@ void CopyEngine::setFollowTheStrictOrder(const bool &followTheStrictOrder)
this->followTheStrictOrder=followTheStrictOrder;
if(uiIsInstalled)
ui->followTheStrictOrder->setChecked(followTheStrictOrder);
+ listThread->setFollowTheStrictOrder(followTheStrictOrder);
emit send_followTheStrictOrder(followTheStrictOrder);
}
@@ -979,15 +877,6 @@ void CopyEngine::inodeThreadsFinished()
emit send_setInodeThreads(inodeThreads);
}
-//set auto start
-void CopyEngine::setAutoStart(const bool autoStart)
-{
- this->autoStart=autoStart;
- if(uiIsInstalled)
- ui->autoStart->setChecked(autoStart);
- listThread->setAutoStart(autoStart);
-}
-
#ifdef ULTRACOPIER_PLUGIN_RSYNC
/// \brief set rsync
void CopyEngine::setRsync(const bool rsync)
@@ -1013,6 +902,21 @@ void CopyEngine::setCheckDestinationFolderExists(const bool checkDestinationFold
listThread->setCheckDestinationFolderExists(checkDestinationFolderExists);
}
+void CopyEngine::setMkFullPath(const bool mkFullPath)
+{
+ this->mkFullPath=mkFullPath;
+ if(uiIsInstalled)
+ ui->mkpath->setChecked(mkFullPath);
+ listThread->setMkFullPath(mkFullPath);
+}
+
+void CopyEngine::setChecksum(const bool checksum)
+{
+ this->checksum=checksum;
+ if(uiIsInstalled)
+ ui->checksum->setChecked(checksum);
+}
+
//reset widget
void CopyEngine::resetTempWidget()
{
@@ -1022,6 +926,10 @@ void CopyEngine::resetTempWidget()
void CopyEngine::setFolderCollision(int index)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"action index: "+std::to_string(index));
+ if(uiIsInstalled)
+ if(index!=ui->comboBoxFolderCollision->currentIndex())
+ ui->comboBoxFolderCollision->setCurrentIndex(index);
switch(index)
{
case 0:
@@ -1037,10 +945,15 @@ void CopyEngine::setFolderCollision(int index)
setComboBoxFolderCollision(FolderExists_Rename,false);
break;
}
+ emit signal_setFolderCollision(alwaysDoThisActionForFolderExists);
}
void CopyEngine::setFolderError(int index)
{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"action index: "+std::to_string(index));
+ if(uiIsInstalled)
+ if(index!=ui->comboBoxFolderError->currentIndex())
+ ui->comboBoxFolderError->setCurrentIndex(index);
switch(index)
{
case 0:
@@ -1050,6 +963,7 @@ void CopyEngine::setFolderError(int index)
setComboBoxFolderError(FileError_Skip,false);
break;
}
+ emit signal_setCollisionAction(alwaysDoThisActionForFileExists);
}
//set the translate
@@ -1078,10 +992,6 @@ void CopyEngine::newLanguageLoaded()
ui->comboBoxFileCollision->setItemText(4,tr("Overwrite if newer"));
ui->comboBoxFileCollision->setItemText(5,tr("Overwrite if older"));
ui->comboBoxFileCollision->setItemText(6,tr("Rename"));
-
- ui->transferAlgorithm->setItemText(0,tr("Automatic"));
- ui->transferAlgorithm->setItemText(1,tr("Sequential"));
- ui->transferAlgorithm->setItemText(2,tr("Parallel"));
}
else
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"ui not loaded!");
@@ -1112,7 +1022,7 @@ void CopyEngine::setComboBoxFolderCollision(FolderExistsAction action,bool chang
void CopyEngine::setComboBoxFolderError(FileErrorAction action,bool changeComboBox)
{
- alwaysDoThisActionForFileError=action;
+ alwaysDoThisActionForFolderError=action;
if(!changeComboBox || !uiIsInstalled)
return;
switch(action)
@@ -1126,37 +1036,6 @@ void CopyEngine::setComboBoxFolderError(FileErrorAction action,bool changeComboB
}
}
-void CopyEngine::doChecksum_toggled(bool doChecksum)
-{
- listThread->set_doChecksum(doChecksum);
-}
-
-void CopyEngine::checksumOnlyOnError_toggled(bool checksumOnlyOnError)
-{
- listThread->set_checksumOnlyOnError(checksumOnlyOnError);
-}
-
-void CopyEngine::checksumIgnoreIfImpossible_toggled(bool checksumIgnoreIfImpossible)
-{
- listThread->set_checksumIgnoreIfImpossible(checksumIgnoreIfImpossible);
-}
-
-void CopyEngine::osBuffer_toggled(bool osBuffer)
-{
- listThread->set_osBuffer(osBuffer);
- updateBufferCheckbox();
-}
-
-void CopyEngine::osBufferLimited_toggled(bool osBufferLimited)
-{
- listThread->set_osBufferLimited(osBufferLimited);
- updateBufferCheckbox();
-}
-
-void CopyEngine::osBufferLimit_editingFinished()
-{
- emit send_osBufferLimit(ui->osBufferLimit->value());
-}
void CopyEngine::showFilterDialog()
{
@@ -1208,21 +1087,6 @@ void CopyEngine::newActionInProgess(Ultracopier::EngineActionInProgress action)
}
}
-void CopyEngine::updatedBlockSize()
-{
- if(uiIsInstalled)
- {
- ui->sequentialBuffer->setMinimum(ui->blockSize->value());
- ui->sequentialBuffer->setSingleStep(ui->blockSize->value());
- ui->sequentialBuffer->setMaximum(ui->blockSize->value()*ULTRACOPIER_PLUGIN_MAX_SEQUENTIAL_NUMBER_OF_BLOCK);
- ui->parallelBuffer->setMinimum(ui->blockSize->value());
- ui->parallelBuffer->setSingleStep(ui->blockSize->value());
- ui->parallelBuffer->setMaximum(ui->blockSize->value()*ULTRACOPIER_PLUGIN_MAX_PARALLEL_NUMBER_OF_BLOCK);
- }
- setParallelBuffer(parallelBuffer);
- setSequentialBuffer(sequentialBuffer);
-}
-
void CopyEngine::setCheckDiskSpace(const bool &checkDiskSpace)
{
this->checkDiskSpace=checkDiskSpace;
@@ -1231,23 +1095,35 @@ void CopyEngine::setCheckDiskSpace(const bool &checkDiskSpace)
listThread->setCheckDiskSpace(checkDiskSpace);
}
-void CopyEngine::setDefaultDestinationFolder(const std::string &defaultDestinationFolder)
+void CopyEngine::setBuffer(const bool &buffer)
{
- this->defaultDestinationFolder=defaultDestinationFolder;
+ this->buffer=buffer;
if(uiIsInstalled)
- ui->defaultDestinationFolder->setText(QString::fromStdString(defaultDestinationFolder));
+ ui->buffer->setChecked(buffer);
+ listThread->setBuffer(buffer);
}
-void CopyEngine::setCopyListOrder(const bool &order)
+void CopyEngine::setDefaultDestinationFolder(const std::string &defaultDestinationFolder)
{
- listThread->setCopyListOrder(order);
+ this->defaultDestinationFolder=defaultDestinationFolder;
+ if(uiIsInstalled)
+ ui->defaultDestinationFolder->setText(QString::fromStdString(defaultDestinationFolder));
}
void CopyEngine::exportErrorIntoTransferList()
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"exportErrorIntoTransferList");
- std::string fileName = QFileDialog::getSaveFileName(interface,QString::fromStdString(facilityEngine->translateText("Save transfer list")),QStringLiteral("transfer-list.lst"),QString::fromStdString(facilityEngine->translateText("Transfer list"))+QStringLiteral(" (*.lst)")).toStdString();
+ std::string fileName = QFileDialog::getSaveFileName(uiinterface,QString::fromStdString(facilityEngine->translateText("Save transfer list")),QStringLiteral("transfer-list.lst"),QString::fromStdString(facilityEngine->translateText("Transfer list"))+QStringLiteral(" (*.lst)")).toStdString();
if(fileName.empty())
return;
emit signal_exportErrorIntoTransferList(fileName);
}
+
+//set auto start
+void CopyEngine::setAutoStart(const bool autoStart)
+{
+ this->autoStart=autoStart;
+ if(uiIsInstalled)
+ ui->autoStart->setChecked(autoStart);
+ listThread->setAutoStart(autoStart);
+}
diff --git a/plugins/CopyEngine/Ultracopier/CopyEngine.h b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.h
index e5311d8..caba5b5 100644..100755
--- a/plugins/CopyEngine/Ultracopier/CopyEngine.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.h
@@ -8,7 +8,6 @@
#include <QList>
#include <vector>
#include <string>
-#include <QFileInfo>
#include <QFile>
#include <QFileDialog>
#include <QMessageBox>
@@ -52,17 +51,14 @@ private:
QWidget * tempWidget;
Ui::copyEngineOptions * ui;
bool uiIsInstalled;
- QWidget * interface;
+ QWidget * uiinterface;
Filters * filters;
RenamingRules * renamingRules;
FacilityInterface * facilityEngine;
- uint32_t maxSpeed;
bool doRightTransfer;
bool keepDate;
- int blockSize;
- int parallelBuffer;
- int sequentialBuffer;
- int parallelizeIfSmallerThan;
+ bool os_spec_flags;
+ bool native_copy;
bool followTheStrictOrder;
bool deletePartiallyTransferredFiles;
int inodeThreads;
@@ -73,22 +69,23 @@ private:
bool rsync;
#endif
bool checkDestinationFolderExists;
+ bool mkFullPath;
+ bool checksum;
FileExistsAction alwaysDoThisActionForFileExists;
FileErrorAction alwaysDoThisActionForFileError;
FileErrorAction alwaysDoThisActionForFolderError;
FolderExistsAction alwaysDoThisActionForFolderExists;
- TransferAlgorithm transferAlgorithm;
bool dialogIsOpen;
volatile bool stopIt;
std::string defaultDestinationFolder;
/// \brief error queue
struct errorQueueItem
{
- TransferThread * transfer; ///< NULL if send by scan thread
+ TransferThreadAsync * transfer; ///< NULL if send by scan thread
ScanFileOrFolder * scan; ///< NULL if send by transfer thread
bool mkPath;
bool rmPath;
- QFileInfo inode;
+ INTERNALTYPEPATH inode;
std::string errorString;
ErrorType errorType;
};
@@ -96,10 +93,10 @@ private:
/// \brief already exists queue
struct alreadyExistsQueueItem
{
- TransferThread * transfer; ///< NULL if send by scan thread
+ TransferThreadAsync * transfer; ///< NULL if send by scan thread
ScanFileOrFolder * scan; ///< NULL if send by transfer thread
- QFileInfo source;
- QFileInfo destination;
+ INTERNALTYPEPATH source;
+ INTERNALTYPEPATH destination;
bool isSame;
};
std::vector<alreadyExistsQueueItem> alreadyExistsQueue;
@@ -107,16 +104,13 @@ private:
Ultracopier::CopyMode mode;
bool forcedMode;
- bool doChecksum;
- bool checksumIgnoreIfImpossible;
- bool checksumOnlyOnError;
- bool osBuffer;
- bool osBufferLimited;
bool checkDiskSpace;
+ bool buffer;
unsigned int osBufferLimit;
std::vector<std::string> includeStrings,includeOptions,excludeStrings,excludeOptions;
std::string firstRenamingRule;
std::string otherRenamingRule;
+ uint64_t errorPutAtEnd;
//send action done timer
QTimer timerActionDone;
@@ -128,112 +122,99 @@ private:
private slots:
#ifdef ULTRACOPIER_PLUGIN_DEBUG_WINDOW
void updateTheDebugInfo(const std::vector<std::string> &newList, const std::vector<std::string> &newList2, const int &numberOfInodeOperation);
+ friend class DebugDialog;
#endif
/************* External call ********************/
//dialog message
/// \note Can be call without queue because all call will be serialized
- void fileAlreadyExistsSlot(QFileInfo source,QFileInfo destination,bool isSame,TransferThread * thread);
+ void fileAlreadyExistsSlot(INTERNALTYPEPATH source, INTERNALTYPEPATH destination, bool isSame, TransferThreadAsync * thread);
/// \note Can be call without queue because all call will be serialized
- void errorOnFileSlot(QFileInfo fileInfo, std::string errorString, TransferThread * thread, const ErrorType &errorType);
+ void errorOnFileSlot(INTERNALTYPEPATH fileInfo, std::string errorString, TransferThreadAsync * thread, const ErrorType &errorType);
/// \note Can be call without queue because all call will be serialized
- void folderAlreadyExistsSlot(QFileInfo source,QFileInfo destination,bool isSame,ScanFileOrFolder * thread);
+ void folderAlreadyExistsSlot(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,ScanFileOrFolder * thread);
/// \note Can be call without queue because all call will be serialized
- void errorOnFolderSlot(QFileInfo fileInfo, std::string errorString, ScanFileOrFolder * thread, ErrorType errorType);
+ void errorOnFolderSlot(INTERNALTYPEPATH fileInfo, std::string errorString, ScanFileOrFolder * thread, ErrorType errorType);
//mkpath event
- void mkPathErrorOnFolderSlot(QFileInfo, std::string, ErrorType errorType);
+ void mkPathErrorOnFolderSlot(INTERNALTYPEPATH, std::string, ErrorType errorType);
//dialog message
/// \note Can be call without queue because all call will be serialized
- void fileAlreadyExists(QFileInfo source,QFileInfo destination,bool isSame,TransferThread * thread,bool isCalledByShowOneNewDialog=false);
+ void fileAlreadyExists(INTERNALTYPEPATH source, INTERNALTYPEPATH destination, bool isSame, TransferThreadAsync * thread, bool isCalledByShowOneNewDialog=false);
/// \note Can be call without queue because all call will be serialized
- void errorOnFile(QFileInfo fileInfo, std::string errorString, TransferThread * thread, const ErrorType &errorType, bool isCalledByShowOneNewDialog=false);
+ void errorOnFile(INTERNALTYPEPATH fileInfo, std::string errorString, TransferThreadAsync * thread, const ErrorType &errorType, bool isCalledByShowOneNewDialog=false);
/// \note Can be call without queue because all call will be serialized
- void folderAlreadyExists(QFileInfo source,QFileInfo destination,bool isSame,ScanFileOrFolder * thread,bool isCalledByShowOneNewDialog=false);
+ void folderAlreadyExists(INTERNALTYPEPATH source,INTERNALTYPEPATH destination,bool isSame,ScanFileOrFolder * thread,bool isCalledByShowOneNewDialog=false);
/// \note Can be call without queue because all call will be serialized
- void errorOnFolder(QFileInfo fileInfo, std::string errorString, ScanFileOrFolder * thread, ErrorType errorType, bool isCalledByShowOneNewDialog=false);
+ void errorOnFolder(INTERNALTYPEPATH fileInfo, std::string errorString, ScanFileOrFolder * thread, ErrorType errorType, bool isCalledByShowOneNewDialog=false);
//mkpath event
- void mkPathErrorOnFolder(QFileInfo, std::string, const ErrorType &errorType, bool isCalledByShowOneNewDialog=false);
+ void mkPathErrorOnFolder(INTERNALTYPEPATH, std::string, const ErrorType &errorType, bool isCalledByShowOneNewDialog=false);
//show one new dialog if needed
void showOneNewDialog();
void sendNewFilters();
- void doChecksum_toggled(bool);
- void checksumOnlyOnError_toggled(bool);
- void checksumIgnoreIfImpossible_toggled(bool);
- void osBuffer_toggled(bool);
- void osBufferLimited_toggled(bool);
- void osBufferLimit_editingFinished();
void showFilterDialog();
void sendNewRenamingRules(std::string firstRenamingRule,std::string otherRenamingRule);
void showRenamingRules();
void get_realBytesTransfered(quint64 realBytesTransfered);
void newActionInProgess(Ultracopier::EngineActionInProgress);
- void updatedBlockSize();
- void updateBufferCheckbox();
- void haveNeedPutAtBottom(bool needPutAtBottom, const QFileInfo &fileInfo, const std::string &errorString, TransferThread *thread, const ErrorType &errorType);
+ void haveNeedPutAtBottom(bool needPutAtBottom, const INTERNALTYPEPATH &fileInfo, const std::string &errorString, TransferThreadAsync *thread, const ErrorType &errorType);
void missingDiskSpace(std::vector<Diskspace> list);
- void exportErrorIntoTransferList();
+ void exportErrorIntoTransferList() override;
public:
/** \brief to send the options panel
* \return return false if have not the options
* \param tempWidget the widget to generate on it the options */
- bool getOptionsEngine(QWidget * tempWidget);
+ bool getOptionsEngine(QWidget * tempWidget) override;
/** \brief to have interface widget to do modal dialog
* \param interface to have the widget of the interface, useful for modal dialog */
- void setInterfacePointer(QWidget * interface);
+ void setInterfacePointer(QWidget * uiinterface) override;
//return empty if multiple
/** \brief compare the current sources of the copy, with the passed arguments
* \param sources the sources list to compares with the current sources list
* \return true if have same sources, else false (or empty) */
- bool haveSameSource(const std::vector<std::string> &sources);
+ bool haveSameSource(const std::vector<std::string> &sources) override;
/** \brief compare the current destination of the copy, with the passed arguments
* \param destination the destination to compares with the current destination
* \return true if have same destination, else false (or empty) */
- bool haveSameDestination(const std::string &destination);
+ bool haveSameDestination(const std::string &destination) override;
//external soft like file browser have send copy/move list to do
/** \brief send copy without destination, ask the destination
* \param sources the sources list to copy
* \return true if the copy have been accepted */
- bool newCopy(const std::vector<std::string> &sources);
+ bool newCopy(const std::vector<std::string> &sources) override;
/** \brief send copy with destination
* \param sources the sources list to copy
* \param destination the destination to copy
* \return true if the copy have been accepted */
- bool newCopy(const std::vector<std::string> &sources,const std::string &destination);
+ bool newCopy(const std::vector<std::string> &sources,const std::string &destination) override;
/** \brief send move without destination, ask the destination
* \param sources the sources list to move
* \return true if the move have been accepted */
- bool newMove(const std::vector<std::string> &sources);
+ bool newMove(const std::vector<std::string> &sources) override;
/** \brief send move without destination, ask the destination
* \param sources the sources list to move
* \param destination the destination to move
* \return true if the move have been accepted */
- bool newMove(const std::vector<std::string> &sources,const std::string &destination);
+ bool newMove(const std::vector<std::string> &sources,const std::string &destination) override;
/** \brief send the new transfer list
* \param file the transfer list */
- void newTransferList(const std::string &file);
+ void newTransferList(const std::string &file) override;
/** \brief to get byte read, use by Ultracopier for the speed calculation
* real size transfered to right speed calculation */
- uint64_t realByteTransfered();
+ uint64_t realByteTransfered() override;
/** \brief support speed limitation */
- bool supportSpeedLimitation() const;
+ bool supportSpeedLimitation() const override;
/** \brief to set drives detected
* specific to this copy engine */
/** \brief to sync the transfer list
* Used when the interface is changed, useful to minimize the memory size */
- void syncTransferList();
+ void syncTransferList() override;
- void set_doChecksum(bool doChecksum);
- void set_checksumIgnoreIfImpossible(bool checksumIgnoreIfImpossible);
- void set_checksumOnlyOnError(bool checksumOnlyOnError);
- void set_osBuffer(bool osBuffer);
- void set_osBufferLimited(bool osBufferLimited);
- void set_osBufferLimit(unsigned int osBufferLimit);
void set_setFilters(std::vector<std::string> includeStrings,std::vector<std::string> includeOptions,std::vector<std::string> excludeStrings,std::vector<std::string> excludeOptions);
void setRenamingRules(std::string firstRenamingRule,std::string otherRenamingRule);
#ifdef ULTRACOPIER_PLUGIN_RSYNC
@@ -241,54 +222,55 @@ public:
#endif
void setCheckDiskSpace(const bool &checkDiskSpace);
void setDefaultDestinationFolder(const std::string &defaultDestinationFolder);
- void setCopyListOrder(const bool &order);
void defaultDestinationFolderBrowse();
std::string askDestination();
+ static std::string stringimplode(const std::vector<std::string>& elems, const std::string &delim);
+ void setBuffer(const bool &buffer);
public slots:
//user ask ask to add folder (add it with interface ask source/destination)
/** \brief add folder called on the interface
* Used by manual adding */
- bool userAddFolder(const Ultracopier::CopyMode &mode);
+ bool userAddFolder(const Ultracopier::CopyMode &mode) override;
/** \brief add file called on the interface
* Used by manual adding */
- bool userAddFile(const Ultracopier::CopyMode &mode);
+ bool userAddFile(const Ultracopier::CopyMode &mode) override;
//action on the copy
/// \brief put the transfer in pause
- void pause();
+ void pause() override;
/// \brief resume the transfer
- void resume();
+ void resume() override;
/** \brief skip one transfer entry
* \param id id of the file to remove */
- void skip(const uint64_t &id);
+ void skip(const uint64_t &id) override;
/// \brief cancel all the transfer
- void cancel();
+ void cancel() override;
//edit the transfer list
/** \brief remove the selected item
* \param ids ids is the id list of the selected items */
- void removeItems(const std::vector<uint64_t> &ids);
+ void removeItems(const std::vector<uint64_t> &ids) override;
/** \brief move on top of the list the selected item
* \param ids ids is the id list of the selected items */
- void moveItemsOnTop(const std::vector<uint64_t> &ids);
+ void moveItemsOnTop(const std::vector<uint64_t> &ids) override;
/** \brief move up the list the selected item
* \param ids ids is the id list of the selected items */
- void moveItemsUp(const std::vector<uint64_t> &ids);
+ void moveItemsUp(const std::vector<uint64_t> &ids) override;
/** \brief move down the list the selected item
* \param ids ids is the id list of the selected items */
- void moveItemsDown(const std::vector<uint64_t> &ids);
+ void moveItemsDown(const std::vector<uint64_t> &ids) override;
/** \brief move on bottom of the list the selected item
* \param ids ids is the id list of the selected items */
- void moveItemsOnBottom(const std::vector<uint64_t> &ids);
+ void moveItemsOnBottom(const std::vector<uint64_t> &ids) override;
/** \brief give the forced mode, to export/import transfer list */
- void forceMode(const Ultracopier::CopyMode &mode);
+ void forceMode(const Ultracopier::CopyMode &mode) override;
/// \brief export the transfer list into a file
- void exportTransferList();
+ void exportTransferList() override;
/// \brief import the transfer list into a file
- void importTransferList();
+ void importTransferList() override;
/** \brief to set the speed limitation
* -1 if not able, 0 if disabled */
- bool setSpeedLimitation(const int64_t &speedLimitation);
+ bool setSpeedLimitation(const int64_t &speedLimitation) override;
// specific to this copy engine
@@ -296,12 +278,9 @@ public slots:
void setRightTransfer(const bool doRightTransfer);
/// \brief set keep date
void setKeepDate(const bool keepDate);
- /// \brief set block size in KB
- void setBlockSize(const int blockSize);
+ void setOsSpecFlags(bool os_spec_flags);
+ void setNativeCopy(bool native_copy);
- void setParallelBuffer(int parallelBuffer);
- void setSequentialBuffer(int sequentialBuffer);
- void setParallelizeIfSmallerThan(int parallelizeIfSmallerThan);
void setMoveTheWholeFolder(const bool &moveTheWholeFolder);
void setFollowTheStrictOrder(const bool &followTheStrictOrder);
void setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles);
@@ -313,6 +292,8 @@ public slots:
void setAutoStart(const bool autoStart);
/// \brief set if need check if the destination folder exists
void setCheckDestinationFolderExists(const bool checkDestinationFolderExists);
+ void setMkFullPath(const bool mkFullPath);
+ void setChecksum(const bool checksum);
/// \brief reset widget
void resetTempWidget();
//autoconnect
@@ -320,7 +301,6 @@ public slots:
void setFolderError(int index);
void setFileCollision(int index);
void setFileError(int index);
- void setTransferAlgorithm(int index);
/// \brief need retranslate the insterface
void newLanguageLoaded();
private slots:
@@ -333,6 +313,7 @@ signals:
void signal_pause() const;
void signal_resume() const;
void signal_skip(const uint64_t &id) const;
+ void signal_setSpeedLimitation(const int64_t &speedLimitation);
//edit the transfer list
void signal_removeItems(const std::vector<uint64_t> &ids) const;
@@ -347,14 +328,13 @@ signals:
void signal_exportErrorIntoTransferList(const std::string &fileName) const;
//action
- void signal_setTransferAlgorithm(TransferAlgorithm transferAlgorithm) const;
void signal_setCollisionAction(FileExistsAction alwaysDoThisActionForFileExists) const;
- void signal_setComboBoxFolderCollision(FolderExistsAction action) const;
+ //void signal_setComboBoxFolderCollision(FolderExistsAction action) const;// -> duplicate with signal_setFolderCollision ?
void signal_setFolderCollision(FolderExistsAction action) const;
//internal cancel
void tryCancel() const;
- void getNeedPutAtBottom(const QFileInfo &fileInfo,const std::string &errorString,TransferThread * thread,const ErrorType &errorType) const;
+ void getNeedPutAtBottom(const INTERNALTYPEPATH &fileInfo,const std::string &errorString,TransferThreadAsync * thread,const ErrorType &errorType) const;
#ifdef ULTRACOPIER_PLUGIN_DEBUG
/// \brief To debug source
@@ -364,14 +344,8 @@ signals:
//other signals
void queryOneNewDialog() const;
- void send_speedLimitation(const uint64_t &speedLimitation) const;
- void send_blockSize(const int &blockSize) const;
- void send_osBufferLimit(const unsigned int &osBufferLimit) const;
void send_setFilters(const std::vector<Filters_rules> &include,const std::vector<Filters_rules> &exclude) const;
void send_sendNewRenamingRules(std::string firstRenamingRule,std::string otherRenamingRule) const;
- void send_parallelBuffer(const int &parallelBuffer) const;
- void send_sequentialBuffer(const int &sequentialBuffer) const;
- void send_parallelizeIfSmallerThan(const int &parallelizeIfSmallerThan) const;
void send_followTheStrictOrder(const bool &followTheStrictOrder) const;
void send_deletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles) const;
void send_setInodeThreads(const int &inodeThreads) const;
diff --git a/plugins/CopyEngine/Ultracopier/CopyEngine.pro b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.pro
index 112e999..c7b7651 100644..100755
--- a/plugins/CopyEngine/Ultracopier/CopyEngine.pro
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngine.pro
@@ -3,23 +3,17 @@ QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra"
mac:QMAKE_CXXFLAGS+="-stdlib=libc++"
QT += widgets xml
-DEFINES += UNICODE _UNICODE
+DEFINES += _FILE_OFFSET_BITS=64 UNICODE _UNICODE WIDESTRING _LARGE_FILE_SOURCE=1
TEMPLATE = lib
CONFIG += plugin
-win32 {
- LIBS += -ladvapi32
-}
-HEADERS = \
+HEADERS += \
$$PWD/StructEnumDefinition.h \
$$PWD/StructEnumDefinition_CopyEngine.h \
$$PWD/DebugEngineMacro.h \
- $$PWD/Variable.h \
+ $$PWD/CopyEngineUltracopier-SpecVariable.h \
$$PWD/TransferThread.h \
- $$PWD/ReadThread.h \
- $$PWD/WriteThread.h \
$$PWD/MkPath.h \
- $$PWD/AvancedQFile.h \
$$PWD/ListThread.h \
$$PWD/../../../interface/PluginInterface_CopyEngine.h \
$$PWD/../../../interface/OptionInterface.h \
@@ -37,13 +31,12 @@ HEADERS = \
$$PWD/FileIsSameDialog.h \
$$PWD/FolderExistsDialog.h \
$$PWD/ScanFileOrFolder.h \
- $$PWD/DiskSpace.h
-SOURCES = \
+ $$PWD/DiskSpace.h \
+ async/ReadThread.h \
+ async/WriteThread.h
+SOURCES += \
$$PWD/TransferThread.cpp \
- $$PWD/ReadThread.cpp \
- $$PWD/WriteThread.cpp \
$$PWD/MkPath.cpp \
- $$PWD/AvancedQFile.cpp \
$$PWD/ListThread.cpp \
$$PWD/../../../cpp11addition.cpp \
$$PWD/../../../cpp11additionstringtointcpp.cpp \
@@ -61,7 +54,16 @@ SOURCES = \
$$PWD/FileIsSameDialog.cpp \
$$PWD/FolderExistsDialog.cpp \
$$PWD/ScanFileOrFolder.cpp \
- $$PWD/DiskSpace.cpp
+ $$PWD/DiskSpace.cpp \
+ ListThreadActions.cpp \
+ ListThreadListChange.cpp \
+ ListThreadMedia.cpp \
+ ListThreadNew.cpp \
+ ListThreadOptions.cpp \
+ ListThreadScan.cpp \
+ ListThreadStat.cpp \
+ async/ReadThread.cpp \
+ async/WriteThread.cpp
TARGET = $$qtLibraryTarget(copyEngine)
TRANSLATIONS += \
$$PWD/Languages/ar/translation.ts \
@@ -104,3 +106,10 @@ OTHER_FILES += \
RESOURCES += \
$$PWD/copyEngineResources.qrc
}
+
+win32 {
+ LIBS += -ladvapi32
+ DEFINES += WIDESTRING
+}
+HEADERS += $$PWD/async/TransferThreadAsync.h
+SOURCES += $$PWD/async/TransferThreadAsync.cpp
diff --git a/plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp b/plugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp
index ce86c94..9dc9bc2 100644..100755
--- a/plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp
@@ -10,6 +10,13 @@
#include "../../../cpp11addition.h"
#include "CopyEngineFactory.h"
+#include "TransferThread.h"
+#ifdef Q_OS_LINUX
+#include <sys/sysinfo.h>
+#endif
+#ifdef Q_OS_WIN32
+#include <sysinfoapi.h>
+#endif
// The cmath header from MSVC does not contain round()
#if (defined(_WIN64) || defined(_WIN32)) && defined(_MSC_VER)
@@ -23,22 +30,22 @@ CopyEngineFactory::CopyEngineFactory() :
{
qRegisterMetaType<FolderExistsAction>("FolderExistsAction");
qRegisterMetaType<FileExistsAction>("FileExistsAction");
- qRegisterMetaType<QList<Filters_rules> >("QList<Filters_rules>");
+ qRegisterMetaType<std::vector<Filters_rules> >("std::vector<Filters_rules>");
qRegisterMetaType<TransferStat>("TransferStat");
- qRegisterMetaType<QList<QByteArray> >("QList<QByteArray>");
- qRegisterMetaType<TransferAlgorithm>("TransferAlgorithm");
qRegisterMetaType<ActionType>("ActionType");
qRegisterMetaType<ErrorType>("ErrorType");
qRegisterMetaType<Diskspace>("Diskspace");
- qRegisterMetaType<QList<Diskspace> >("QList<Diskspace>");
- qRegisterMetaType<QFileInfo>("QFileInfo");
+ qRegisterMetaType<std::vector<Diskspace> >("std::vector<Diskspace>");
qRegisterMetaType<Ultracopier::CopyMode>("Ultracopier::CopyMode");
- qRegisterMetaType<std::vector<Filters_rules> >("std::vector<Filters_rules>");
+ qRegisterMetaType<TransferThread::dirent_uc>("TransferThread::dirent_uc");
+ #ifdef WIDESTRING
+ qRegisterMetaType<std::wstring>("std::wstring");
+ qRegisterMetaType<wchar_t *>("wchar_t *");
+ #endif
tempWidget=new QWidget();
ui->setupUi(tempWidget);
ui->toolBox->setCurrentIndex(0);
- ui->blockSize->setMaximum(ULTRACOPIER_PLUGIN_MAX_BLOCK_SIZE);
errorFound=false;
optionsEngine=NULL;
filters=new Filters(tempWidget);
@@ -46,38 +53,29 @@ CopyEngineFactory::CopyEngineFactory() :
connect(ui->doRightTransfer, &QCheckBox::toggled, this,&CopyEngineFactory::setDoRightTransfer);
connect(ui->keepDate, &QCheckBox::toggled, this,&CopyEngineFactory::setKeepDate);
- connect(ui->blockSize, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,&CopyEngineFactory::setBlockSize);
- connect(ui->sequentialBuffer, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,&CopyEngineFactory::setSequentialBuffer);
- connect(ui->parallelBuffer, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,&CopyEngineFactory::setParallelBuffer);
- connect(ui->parallelizeIfSmallerThan, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this,&CopyEngineFactory::setParallelizeIfSmallerThan);
+ connect(ui->native_copy, &QCheckBox::toggled, this,&CopyEngineFactory::setNativeCopy);
+ 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);
- connect(ui->doChecksum, &QCheckBox::toggled, this,&CopyEngineFactory::doChecksum_toggled);
connect(ui->comboBoxFolderError, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&CopyEngineFactory::setFolderError);
connect(ui->comboBoxFolderCollision, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&CopyEngineFactory::setFolderCollision);
connect(ui->comboBoxFileError, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&CopyEngineFactory::setFileError);
connect(ui->comboBoxFileCollision, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&CopyEngineFactory::setFileCollision);
- connect(ui->transferAlgorithm, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&CopyEngineFactory::setTransferAlgorithm);
connect(ui->checkBoxDestinationFolderExists, &QCheckBox::toggled, this,&CopyEngineFactory::setCheckDestinationFolder);
- connect(ui->checksumIgnoreIfImpossible, &QCheckBox::toggled, this,&CopyEngineFactory::checksumIgnoreIfImpossible_toggled);
- connect(ui->checksumOnlyOnError, &QCheckBox::toggled, this,&CopyEngineFactory::checksumOnlyOnError_toggled);
- connect(ui->osBuffer, &QCheckBox::toggled, this,&CopyEngineFactory::osBuffer_toggled);
- connect(ui->osBufferLimited, &QCheckBox::toggled, this,&CopyEngineFactory::osBufferLimited_toggled);
- connect(ui->osBufferLimit, &QSpinBox::editingFinished, this,&CopyEngineFactory::osBufferLimit_editingFinished);
+ connect(ui->mkpath, &QCheckBox::toggled, this,&CopyEngineFactory::setMkFullPath);
+ connect(ui->checksum, &QCheckBox::toggled, this,&CopyEngineFactory::setChecksum);
#ifdef ULTRACOPIER_PLUGIN_RSYNC
connect(ui->rsync, &QCheckBox::toggled, this,&CopyEngineFactory::setRsync);
#endif
connect(ui->inodeThreads, &QSpinBox::editingFinished, this,&CopyEngineFactory::on_inodeThreads_editingFinished);
- connect(ui->osBufferLimited, &QAbstractButton::toggled, this,&CopyEngineFactory::updateBufferCheckbox);
- connect(ui->osBuffer, &QAbstractButton::toggled, this,&CopyEngineFactory::updateBufferCheckbox);
connect(ui->moveTheWholeFolder, &QCheckBox::toggled, this,&CopyEngineFactory::moveTheWholeFolder);
connect(ui->followTheStrictOrder, &QCheckBox::toggled, this,&CopyEngineFactory::followTheStrictOrder);
connect(ui->deletePartiallyTransferredFiles,&QCheckBox::toggled, this,&CopyEngineFactory::deletePartiallyTransferredFiles);
connect(ui->renameTheOriginalDestination,&QCheckBox::toggled, this,&CopyEngineFactory::renameTheOriginalDestination);
connect(ui->checkDiskSpace, &QCheckBox::toggled, this,&CopyEngineFactory::checkDiskSpace);
+ connect(ui->buffer, &QCheckBox::toggled, this,&CopyEngineFactory::setBuffer);
connect(ui->defaultDestinationFolderBrowse,&QPushButton::clicked, this,&CopyEngineFactory::defaultDestinationFolderBrowse);
connect(ui->defaultDestinationFolder,&QLineEdit::editingFinished, this,&CopyEngineFactory::defaultDestinationFolder);
- connect(ui->copyListOrder, &QCheckBox::toggled, this,&CopyEngineFactory::copyListOrder);
connect(filters,&Filters::sendNewFilters,this,&CopyEngineFactory::sendNewFilters);
connect(ui->filters,&QPushButton::clicked,this,&CopyEngineFactory::showFilterDialog);
@@ -112,28 +110,21 @@ PluginInterface_CopyEngine * CopyEngineFactory::getInstance()
connect(this,&CopyEngineFactory::reloadLanguage,realObject,&CopyEngine::newLanguageLoaded);
realObject->setRightTransfer(ui->doRightTransfer->isChecked());
realObject->setKeepDate(ui->keepDate->isChecked());
- realObject->setBlockSize(ui->blockSize->value());
- realObject->setAutoStart(ui->autoStart->isChecked());
+ realObject->setOsSpecFlags(ui->os_spec_flags->isChecked());
+ realObject->setNativeCopy(ui->native_copy->isChecked());
#ifdef ULTRACOPIER_PLUGIN_RSYNC
realObject->setRsync(ui->rsync->isChecked());
#endif
+ realObject->setAutoStart(ui->autoStart->isChecked());
realObject->setFolderCollision(ui->comboBoxFolderCollision->currentIndex());
realObject->setFolderError(ui->comboBoxFolderError->currentIndex());
realObject->setFileCollision(ui->comboBoxFileCollision->currentIndex());
realObject->setFileError(ui->comboBoxFileError->currentIndex());
- realObject->setTransferAlgorithm(ui->transferAlgorithm->currentIndex());
realObject->setCheckDestinationFolderExists(ui->checkBoxDestinationFolderExists->isChecked());
- realObject->set_doChecksum(ui->doChecksum->isChecked());
- realObject->set_checksumIgnoreIfImpossible(ui->checksumIgnoreIfImpossible->isChecked());
- realObject->set_checksumOnlyOnError(ui->checksumOnlyOnError->isChecked());
- realObject->set_osBuffer(ui->osBuffer->isChecked());
- realObject->set_osBufferLimited(ui->osBufferLimited->isChecked());
- realObject->set_osBufferLimit(ui->osBufferLimit->value());
+ realObject->setMkFullPath(ui->mkpath->isChecked());
+ realObject->setChecksum(ui->checksum->isChecked());
realObject->set_setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions);
realObject->setRenamingRules(firstRenamingRule,otherRenamingRule);
- realObject->setSequentialBuffer(ui->sequentialBuffer->value());
- realObject->setParallelBuffer(ui->parallelBuffer->value());
- realObject->setParallelizeIfSmallerThan(ui->parallelizeIfSmallerThan->value());
realObject->setMoveTheWholeFolder(ui->moveTheWholeFolder->isChecked());
realObject->setFollowTheStrictOrder(ui->followTheStrictOrder->isChecked());
realObject->setDeletePartiallyTransferredFiles(ui->deletePartiallyTransferredFiles->isChecked());
@@ -141,7 +132,7 @@ PluginInterface_CopyEngine * CopyEngineFactory::getInstance()
realObject->setRenameTheOriginalDestination(ui->renameTheOriginalDestination->isChecked());
realObject->setCheckDiskSpace(ui->checkDiskSpace->isChecked());
realObject->setDefaultDestinationFolder(ui->defaultDestinationFolder->text().toStdString());
- realObject->setCopyListOrder(ui->copyListOrder->isChecked());
+ realObject->setBuffer(ui->buffer->isChecked());
return newTransferEngine;
}
@@ -159,11 +150,33 @@ void CopyEngineFactory::setResources(OptionInterface * options,const std::string
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,QStringLiteral("Unable to change date time of files, only gcc is supported"));
#endif
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,COMPILERINFO);
+ #if defined (UNICODE)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"UNICODE set");
+ #endif
+ #if defined (_FILE_OFFSET_BITS)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"_FILE_OFFSET_BITS set to "+std::to_string(_FILE_OFFSET_BITS));
+ #endif
+ #if defined (WIDESTRING)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"WIDESTRING set");
+ #endif
+ #if defined (_LARGE_FILE_SOURCE)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"_LARGE_FILE_SOURCE set to "+std::to_string(_LARGE_FILE_SOURCE));
+ #endif
#if defined (ULTRACOPIER_PLUGIN_CHECKLISTTYPE)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"CHECK LIST TYPE set");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"CHECK LIST TYPE set");
#else
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"CHECK LIST TYPE not set");
#endif
+ #ifdef Q_OS_WIN32
+ MEMORYSTATUSEX memoryStatus;
+ if(GlobalMemoryStatusEx(&memoryStatus))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"Detected Memory MB Windows: "+std::to_string(memoryStatus.ullTotalPhys/1024));
+ #endif
+ #ifdef Q_OS_LINUX
+ struct sysinfo info;
+ if(sysinfo(&info)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"Detected Memory MB Linux: "+std::to_string(info.totalhigh*info.mem_unit/1024/1024));
+ #endif
if(options!=NULL)
{
//load the options
@@ -174,25 +187,17 @@ void CopyEngineFactory::setResources(OptionInterface * options,const std::string
#else
KeysList.push_back(std::pair<std::string, std::string>("keepDate","true"));
#endif
+ KeysList.push_back(std::pair<std::string, std::string>("native_copy","false"));
+ KeysList.push_back(std::pair<std::string, std::string>("os_spec_flags","true"));
KeysList.push_back(std::pair<std::string, std::string>("blockSize",std::to_string(ULTRACOPIER_PLUGIN_DEFAULT_BLOCK_SIZE)));
- uint32_t sequentialBuffer=ULTRACOPIER_PLUGIN_DEFAULT_BLOCK_SIZE*ULTRACOPIER_PLUGIN_DEFAULT_SEQUENTIAL_NUMBER_OF_BLOCK;
- uint32_t parallelBuffer=ULTRACOPIER_PLUGIN_DEFAULT_BLOCK_SIZE*ULTRACOPIER_PLUGIN_DEFAULT_PARALLEL_NUMBER_OF_BLOCK;
//to prevent swap and other bad effect, only under windows and unix for now
#if defined(Q_OS_WIN32) or (defined(Q_OS_LINUX) and defined(_SC_PHYS_PAGES))
size_t max_memory=getTotalSystemMemory()/1024;
- if(max_memory>0)
- {
- if(max_memory>2147483648)
- max_memory=2147483648;
- if(sequentialBuffer>(max_memory/10))
- sequentialBuffer=max_memory/10;
- if(parallelBuffer>(max_memory/100))
- parallelBuffer=max_memory/100;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,QStringLiteral("detected memory: %1MB").arg(max_memory/1024).toStdString());
+ if(max_memory>2147483648)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,QStringLiteral("detected memory: %1MB").arg(max_memory/1024).toStdString());
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,QStringLiteral("detected memory: %1GB").arg(max_memory/(1024*1024)).toStdString());
#endif
- KeysList.push_back(std::pair<std::string, std::string>("sequentialBuffer",std::to_string(sequentialBuffer)));
- KeysList.push_back(std::pair<std::string, std::string>("parallelBuffer",std::to_string(parallelBuffer)));
KeysList.push_back(std::pair<std::string, std::string>("parallelizeIfSmallerThan",std::to_string(128)));//128KB, better for modern hardware: Multiple queue en linux, SSD, ...
KeysList.push_back(std::pair<std::string, std::string>("autoStart","true"));
#ifdef ULTRACOPIER_PLUGIN_RSYNC
@@ -204,34 +209,45 @@ void CopyEngineFactory::setResources(OptionInterface * options,const std::string
KeysList.push_back(std::pair<std::string, std::string>("fileCollision",std::to_string(0)));
KeysList.push_back(std::pair<std::string, std::string>("transferAlgorithm",std::to_string(0)));
KeysList.push_back(std::pair<std::string, std::string>("checkDestinationFolder","true"));
+ KeysList.push_back(std::pair<std::string, std::string>("mkpath","true"));
+ KeysList.push_back(std::pair<std::string, std::string>("checksum","false"));
KeysList.push_back(std::pair<std::string, std::string>("includeStrings",""));
KeysList.push_back(std::pair<std::string, std::string>("includeOptions",""));
KeysList.push_back(std::pair<std::string, std::string>("excludeStrings",""));
KeysList.push_back(std::pair<std::string, std::string>("excludeOptions",""));
- KeysList.push_back(std::pair<std::string, std::string>("doChecksum","false"));
KeysList.push_back(std::pair<std::string, std::string>("checksumIgnoreIfImpossible","true"));
KeysList.push_back(std::pair<std::string, std::string>("checksumOnlyOnError","true"));
- KeysList.push_back(std::pair<std::string, std::string>("osBuffer","false"));
KeysList.push_back(std::pair<std::string, std::string>("firstRenamingRule",""));
KeysList.push_back(std::pair<std::string, std::string>("otherRenamingRule",""));
KeysList.push_back(std::pair<std::string, std::string>("osBufferLimited","false"));
KeysList.push_back(std::pair<std::string, std::string>("osBufferLimit",std::to_string(512)));
KeysList.push_back(std::pair<std::string, std::string>("deletePartiallyTransferredFiles","true"));
KeysList.push_back(std::pair<std::string, std::string>("moveTheWholeFolder","true"));
- KeysList.push_back(std::pair<std::string, std::string>("followTheStrictOrder","false"));
+ KeysList.push_back(std::pair<std::string, std::string>("followTheStrictOrder","true"));
KeysList.push_back(std::pair<std::string, std::string>("renameTheOriginalDestination","false"));
KeysList.push_back(std::pair<std::string, std::string>("checkDiskSpace","true"));
KeysList.push_back(std::pair<std::string, std::string>("defaultDestinationFolder",""));
- KeysList.push_back(std::pair<std::string, std::string>("inodeThreads",std::to_string(1)));
- KeysList.push_back(std::pair<std::string, std::string>("copyListOrder","false"));
+ KeysList.push_back(std::pair<std::string, std::string>("inodeThreads",std::to_string(16)));
+ #ifdef Q_OS_WIN32
+ //un Windows, without buffer the write seam should be aligned and full block, Ultracopier not support this
+ KeysList.push_back(std::pair<std::string, std::string>("osBuffer","true"));
+ KeysList.push_back(std::pair<std::string, std::string>("buffer","true"));
+ #else
+ KeysList.push_back(std::pair<std::string, std::string>("osBuffer","false"));
+ KeysList.push_back(std::pair<std::string, std::string>("buffer","false"));
+ #endif
options->addOptionGroup(KeysList);
optionsEngine=options;
resetOptions();
- updateBufferCheckbox();
-
- updatedBlockSize();
+ std::string firstRenamingRule=options->getOptionValue("firstRenamingRule");
+ if(firstRenamingRule.find("%name%")==std::string::npos || firstRenamingRule.find("%suffix%")==std::string::npos)
+ options->setOptionValue("firstRenamingRule","");
+ std::string otherRenamingRule=options->getOptionValue("otherRenamingRule");
+ if(otherRenamingRule.find("%name%")==std::string::npos || otherRenamingRule.find("%suffix%")==std::string::npos
+ || otherRenamingRule.find("%number%")==std::string::npos)
+ options->setOptionValue("otherRenamingRule","");
}
}
@@ -264,6 +280,12 @@ bool CopyEngineFactory::canDoOnlyCopy() const
return false;
}
+/// \brief to get if have pause
+bool CopyEngineFactory::havePause()
+{
+ return true;
+}
+
void CopyEngineFactory::resetOptions()
{
auto options=optionsEngine;
@@ -274,7 +296,12 @@ void CopyEngineFactory::resetOptions()
#endif
ui->doRightTransfer->setChecked(stringtobool(options->getOptionValue("doRightTransfer")));
ui->keepDate->setChecked(stringtobool(options->getOptionValue("keepDate")));
- ui->blockSize->setValue(stringtouint32(options->getOptionValue("blockSize")));//keep before sequentialBuffer and parallelBuffer
+ ui->os_spec_flags->setChecked(stringtobool(options->getOptionValue("os_spec_flags")));
+ ui->native_copy->setChecked(stringtobool(options->getOptionValue("native_copy")));
+ #ifdef Q_OS_WIN32
+ ui->native_copy->setEnabled(false);
+ ui->native_copy->setToolTip(tr("Supported only on Windows"));
+ #endif
ui->autoStart->setChecked(stringtobool(options->getOptionValue("autoStart")));
#ifdef ULTRACOPIER_PLUGIN_RSYNC
ui->rsync->setChecked(stringtobool(options->getOptionValue("rsync")));
@@ -286,13 +313,9 @@ void CopyEngineFactory::resetOptions()
ui->comboBoxFolderCollision->setCurrentIndex(stringtouint32(options->getOptionValue("folderCollision")));
ui->comboBoxFileError->setCurrentIndex(stringtouint32(options->getOptionValue("fileError")));
ui->comboBoxFileCollision->setCurrentIndex(stringtouint32(options->getOptionValue("fileCollision")));
- ui->transferAlgorithm->setCurrentIndex(stringtouint32(options->getOptionValue("transferAlgorithm")));
ui->checkBoxDestinationFolderExists->setChecked(stringtobool(options->getOptionValue("checkDestinationFolder")));
- ui->parallelizeIfSmallerThan->setValue(stringtouint32(options->getOptionValue("parallelizeIfSmallerThan")));
- ui->sequentialBuffer->setValue(stringtouint32(options->getOptionValue("sequentialBuffer")));
- ui->parallelBuffer->setValue(stringtouint32(options->getOptionValue("parallelBuffer")));
- ui->sequentialBuffer->setSingleStep(ui->blockSize->value());
- ui->parallelBuffer->setSingleStep(ui->blockSize->value());
+ ui->mkpath->setChecked(stringtobool(options->getOptionValue("mkpath")));
+ ui->checksum->setChecked(stringtobool(options->getOptionValue("checksum")));
ui->deletePartiallyTransferredFiles->setChecked(stringtobool(options->getOptionValue("deletePartiallyTransferredFiles")));
ui->moveTheWholeFolder->setChecked(stringtobool(options->getOptionValue("moveTheWholeFolder")));
ui->followTheStrictOrder->setChecked(stringtobool(options->getOptionValue("followTheStrictOrder")));
@@ -300,28 +323,33 @@ void CopyEngineFactory::resetOptions()
ui->renameTheOriginalDestination->setChecked(stringtobool(options->getOptionValue("renameTheOriginalDestination")));
ui->checkDiskSpace->setChecked(stringtobool(options->getOptionValue("checkDiskSpace")));
ui->defaultDestinationFolder->setText(QString::fromStdString(options->getOptionValue("defaultDestinationFolder")));
+ ui->buffer->setChecked(stringtobool(options->getOptionValue("buffer")));
- ui->doChecksum->setChecked(stringtobool(options->getOptionValue("doChecksum")));
- ui->checksumIgnoreIfImpossible->setChecked(stringtobool(options->getOptionValue("checksumIgnoreIfImpossible")));
- ui->checksumOnlyOnError->setChecked(stringtobool(options->getOptionValue("checksumOnlyOnError")));
-
- ui->osBuffer->setChecked(stringtobool(options->getOptionValue("osBuffer")));
- ui->osBufferLimited->setChecked(stringtobool(options->getOptionValue("osBufferLimited")));
- ui->osBufferLimit->setValue(stringtouint32(options->getOptionValue("osBufferLimit")));
//ui->autoStart->setChecked(options->getOptionValue("autoStart").toBool());//moved from options(), wrong previous place
- includeStrings=stringtostringlist(options->getOptionValue("includeStrings"));
- includeOptions=stringtostringlist(options->getOptionValue("includeOptions"));
- excludeStrings=stringtostringlist(options->getOptionValue("excludeStrings"));
- excludeOptions=stringtostringlist(options->getOptionValue("excludeOptions"));
- filters->setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions);
+ std::string s;
+ s=options->getOptionValue("includeStrings");
+ includeStrings=stringtostringlist(s);
+ s=options->getOptionValue("includeOptions");
+ includeOptions=stringtostringlist(s);
+ s=options->getOptionValue("excludeStrings");
+ excludeStrings=stringtostringlist(s);
+ s=options->getOptionValue("excludeOptions");
+ excludeOptions=stringtostringlist(s);
+ if(!filters->setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions))
+ {
+ includeStrings.clear();
+ includeOptions.clear();
+ excludeStrings.clear();
+ excludeOptions.clear();
+ options->setOptionValue("includeStrings","");
+ options->setOptionValue("includeOptions","");
+ options->setOptionValue("excludeStrings","");
+ options->setOptionValue("excludeOptions","");
+ }
firstRenamingRule=options->getOptionValue("firstRenamingRule");
otherRenamingRule=options->getOptionValue("otherRenamingRule");
renamingRules->setRenamingRules(firstRenamingRule,otherRenamingRule);
- ui->checksumOnlyOnError->setEnabled(ui->doChecksum->isChecked());
- ui->checksumIgnoreIfImpossible->setEnabled(ui->doChecksum->isChecked());
- ui->copyListOrder->setChecked(stringtobool(options->getOptionValue("copyListOrder")));
-
optionsEngine=options;
}
@@ -344,50 +372,18 @@ void CopyEngineFactory::setKeepDate(bool keepDate)
optionsEngine->setOptionValue("keepDate",booltostring(keepDate));
}
-void CopyEngineFactory::setBlockSize(int blockSize)
+void CopyEngineFactory::setOsSpecFlags(bool os_spec_flags)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("blockSize",std::to_string(blockSize));
- updatedBlockSize();
+ optionsEngine->setOptionValue("os_spec_flags",booltostring(os_spec_flags));
}
-void CopyEngineFactory::setParallelBuffer(int parallelBuffer)
-{
- if(optionsEngine!=NULL)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
- parallelBuffer=round((float)parallelBuffer/(float)ui->blockSize->value())*ui->blockSize->value();
- ui->parallelBuffer->setValue(parallelBuffer);
- optionsEngine->setOptionValue("parallelBuffer",std::to_string(parallelBuffer));
- }
-}
-
-void CopyEngineFactory::setSequentialBuffer(int sequentialBuffer)
-{
- if(optionsEngine!=NULL)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
- sequentialBuffer=round((float)sequentialBuffer/(float)ui->blockSize->value())*ui->blockSize->value();
- ui->sequentialBuffer->setValue(sequentialBuffer);
- optionsEngine->setOptionValue("sequentialBuffer",std::to_string(sequentialBuffer));
- }
-}
-
-void CopyEngineFactory::setParallelizeIfSmallerThan(int parallelizeIfSmallerThan)
-{
- if(optionsEngine!=NULL)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
- optionsEngine->setOptionValue("parallelizeIfSmallerThan",std::to_string(parallelizeIfSmallerThan));
- }
-}
-
-void CopyEngineFactory::setAutoStart(bool autoStart)
+void CopyEngineFactory::setNativeCopy(bool native_copy)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("autoStart",booltostring(autoStart));
+ optionsEngine->setOptionValue("native_copy",booltostring(native_copy));
}
void CopyEngineFactory::setFolderCollision(int index)
@@ -404,18 +400,25 @@ void CopyEngineFactory::setFolderError(int index)
optionsEngine->setOptionValue("folderError",std::to_string(index));
}
-void CopyEngineFactory::setTransferAlgorithm(int index)
+void CopyEngineFactory::setCheckDestinationFolder()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("checkDestinationFolder",booltostring(ui->checkBoxDestinationFolderExists->isChecked()));
+}
+
+void CopyEngineFactory::setMkFullPath()
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("transferAlgorithm",std::to_string(index));
+ optionsEngine->setOptionValue("mkpath",booltostring(ui->mkpath->isChecked()));
}
-void CopyEngineFactory::setCheckDestinationFolder()
+void CopyEngineFactory::setChecksum()
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("checkDestinationFolder",booltostring(ui->checkBoxDestinationFolderExists->isChecked()));
+ optionsEngine->setOptionValue("checksum",booltostring(ui->checksum->isChecked()));
}
void CopyEngineFactory::newLanguageLoaded()
@@ -444,9 +447,6 @@ void CopyEngineFactory::newLanguageLoaded()
ui->comboBoxFileCollision->setItemText(5,tr("Overwrite if older"));
ui->comboBoxFileCollision->setItemText(6,tr("Rename"));
- ui->transferAlgorithm->setItemText(0,tr("Automatic"));
- ui->transferAlgorithm->setItemText(1,tr("Sequential"));
- ui->transferAlgorithm->setItemText(2,tr("Parallel"));
if(optionsEngine!=NULL)
{
filters->newLanguageLoaded();
@@ -456,43 +456,6 @@ void CopyEngineFactory::newLanguageLoaded()
this->optionsEngine=optionsEngine;
}
-void CopyEngineFactory::doChecksum_toggled(bool doChecksum)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
- if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("doChecksum",booltostring(doChecksum));
-}
-
-void CopyEngineFactory::checksumOnlyOnError_toggled(bool checksumOnlyOnError)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
- if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("checksumOnlyOnError",booltostring(checksumOnlyOnError));
-}
-
-void CopyEngineFactory::osBuffer_toggled(bool osBuffer)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
- if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("osBuffer",booltostring(osBuffer));
- ui->osBufferLimit->setEnabled(ui->osBuffer->isChecked() && ui->osBufferLimited->isChecked());
-}
-
-void CopyEngineFactory::osBufferLimited_toggled(bool osBufferLimited)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
- if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("osBufferLimited",booltostring(osBufferLimited));
- ui->osBufferLimit->setEnabled(ui->osBuffer->isChecked() && ui->osBufferLimited->isChecked());
-}
-
-void CopyEngineFactory::osBufferLimit_editingFinished()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the spinbox have changed");
- if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("osBufferLimit",std::to_string(ui->osBufferLimit->value()));
-}
-
void CopyEngineFactory::showFilterDialog()
{
if(optionsEngine==NULL)
@@ -543,19 +506,6 @@ void CopyEngineFactory::showRenamingRules()
renamingRules->exec();
}
-void CopyEngineFactory::updateBufferCheckbox()
-{
- ui->osBufferLimited->setEnabled(ui->osBuffer->isChecked());
- ui->osBufferLimit->setEnabled(ui->osBuffer->isChecked() && ui->osBufferLimited->isChecked());
-}
-
-void CopyEngineFactory::checksumIgnoreIfImpossible_toggled(bool checksumIgnoreIfImpossible)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
- if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("checksumIgnoreIfImpossible",booltostring(checksumIgnoreIfImpossible));
-}
-
void CopyEngineFactory::setFileCollision(int index)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"action index: "+std::to_string(index));
@@ -596,18 +546,6 @@ void CopyEngineFactory::setFileError(int index)
}
}
-void CopyEngineFactory::updatedBlockSize()
-{
- ui->sequentialBuffer->setMinimum(ui->blockSize->value());
- ui->sequentialBuffer->setSingleStep(ui->blockSize->value());
- ui->sequentialBuffer->setMaximum(ui->blockSize->value()*ULTRACOPIER_PLUGIN_MAX_SEQUENTIAL_NUMBER_OF_BLOCK);
- ui->parallelBuffer->setMinimum(ui->blockSize->value());
- ui->parallelBuffer->setSingleStep(ui->blockSize->value());
- ui->parallelBuffer->setMaximum(ui->blockSize->value()*ULTRACOPIER_PLUGIN_MAX_PARALLEL_NUMBER_OF_BLOCK);
- setParallelBuffer(ui->parallelBuffer->value());
- setSequentialBuffer(ui->sequentialBuffer->value());
-}
-
void CopyEngineFactory::deletePartiallyTransferredFiles(bool checked)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
@@ -701,9 +639,16 @@ void CopyEngineFactory::setRsync(bool rsync)
}
#endif
-void CopyEngineFactory::copyListOrder(bool checked)
+void CopyEngineFactory::setBuffer(bool checked)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("buffer",booltostring(checked));
+}
+
+void CopyEngineFactory::setAutoStart(bool autoStart)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"the value have changed");
if(optionsEngine!=NULL)
- optionsEngine->setOptionValue("copyListOrder",booltostring(checked));
+ optionsEngine->setOptionValue("autoStart",booltostring(autoStart));
}
diff --git a/plugins/CopyEngine/Ultracopier/CopyEngineFactory.h b/plugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.h
index 59c4208..810af80 100644..100755
--- a/plugins/CopyEngine/Ultracopier/CopyEngineFactory.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngineFactory.h
@@ -50,22 +50,25 @@ public:
CopyEngineFactory();
~CopyEngineFactory();
/// \brief to return the instance of the copy engine
- PluginInterface_CopyEngine * getInstance();
+ PluginInterface_CopyEngine * getInstance() override;
/// \brief set the resources, to store options, to have facilityInterface
- void setResources(OptionInterface * options,const std::string &writePath,const std::string &pluginPath,FacilityInterface * facilityInterface,const bool &portableVersion);
+ void setResources(OptionInterface * options,const std::string &writePath,const std::string &pluginPath,
+ FacilityInterface * facilityInterface,const bool &portableVersion) override;
//get mode allowed
/// \brief define if can copy file, folder or both
- Ultracopier::CopyType getCopyType();
+ Ultracopier::CopyType getCopyType() override;
/// \brief to return which kind of transfer list operation is supported
- Ultracopier::TransferListOperation getTransferListOperation();
+ Ultracopier::TransferListOperation getTransferListOperation() override;
/// \brief define if can only copy, or copy and move
- bool canDoOnlyCopy() const;
+ bool canDoOnlyCopy() const override;
/// \brief to get the supported protocols for the source
- std::vector<std::string> supportedProtocolsForTheSource() const;
+ std::vector<std::string> supportedProtocolsForTheSource() const override;
/// \brief to get the supported protocols for the destination
- std::vector<std::string> supportedProtocolsForTheDestination() const;
+ std::vector<std::string> supportedProtocolsForTheDestination() const override;
/// \brief to get the options of the copy engine
- QWidget * options();
+ QWidget * options() override;
+ /// \brief to get if have pause
+ bool havePause() override;
private:
Ui::copyEngineOptions *ui;
@@ -87,33 +90,23 @@ private slots:
void init();
void setDoRightTransfer(bool doRightTransfer);
void setKeepDate(bool keepDate);
- void setBlockSize(int blockSize);
- void setParallelBuffer(int parallelBuffer);
- void setSequentialBuffer(int sequentialBuffer);
- void setParallelizeIfSmallerThan(int parallelizeIfSmallerThan);
- void setAutoStart(bool autoStart);
+ void setOsSpecFlags(bool os_spec_flags);
+ void setNativeCopy(bool native_copy);
#ifdef ULTRACOPIER_PLUGIN_RSYNC
void setRsync(bool rsync);
#endif
void setFolderCollision(int index);
void setFolderError(int index);
- void setTransferAlgorithm(int index);
void setCheckDestinationFolder();
+ void setMkFullPath();
+ void setChecksum();
void showFilterDialog();
void sendNewFilters(const std::vector<std::string> &includeStrings,const std::vector<std::string> &includeOptions,
const std::vector<std::string> &excludeStrings,const std::vector<std::string> &excludeOptions);
- void doChecksum_toggled(bool);
- void checksumOnlyOnError_toggled(bool);
- void osBuffer_toggled(bool);
- void osBufferLimited_toggled(bool);
- void osBufferLimit_editingFinished();
- void checksumIgnoreIfImpossible_toggled(bool);
void sendNewRenamingRules(const std::string &firstRenamingRule, const std::string &otherRenamingRule);
void showRenamingRules();
- void updateBufferCheckbox();
void setFileCollision(int index);
void setFileError(int index);
- void updatedBlockSize();
void deletePartiallyTransferredFiles(bool checked);
void renameTheOriginalDestination(bool checked);
void checkDiskSpace(bool checked);
@@ -122,10 +115,11 @@ private slots:
void followTheStrictOrder(bool checked);
void moveTheWholeFolder(bool checked);
void on_inodeThreads_editingFinished();
- void copyListOrder(bool checked);
+ void setBuffer(bool checked);
+ void setAutoStart(bool autoStart);
public slots:
- void resetOptions();
- void newLanguageLoaded();
+ void resetOptions() override;
+ void newLanguageLoaded() override;
signals:
void reloadLanguage() const;
};
diff --git a/plugins/CopyEngine/Ultracopier/Variable.h b/plugins/CopyEngine/Ultracopier-Spec/CopyEngineUltracopier-SpecVariable.h
index 3311483..247680c 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Variable.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/CopyEngineUltracopier-SpecVariable.h
@@ -8,9 +8,9 @@
//Un-comment this next line to put ultracopier plugin in debug mode
#ifndef ULTRACOPIER_NODEBUG
-#define ULTRACOPIER_PLUGIN_DEBUG
+//#define ULTRACOPIER_PLUGIN_DEBUG
//#define ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
-#define ULTRACOPIER_PLUGIN_DEBUG_WINDOW
+//#define ULTRACOPIER_PLUGIN_DEBUG_WINDOW
#define ULTRACOPIER_PLUGIN_DEBUG_WINDOW_TIMER 150
#endif
@@ -18,18 +18,18 @@
#define ULTRACOPIER_PLUGIN_MAXTIMERINTERVAL 100
#define ULTRACOPIER_PLUGIN_NUMSEMSPEEDMANAGEMENT 2
#define ULTRACOPIER_PLUGIN_MAXPARALLELTRANFER 1
-#define ULTRACOPIER_PLUGIN_MINIMALYEAR 1995
+#define ULTRACOPIER_PLUGIN_MINIMALYEAR_TIMESTAMPS 788965200//1995
#define ULTRACOPIER_PLUGIN_DEFAULT_BLOCK_SIZE 256 //in KB
#define ULTRACOPIER_PLUGIN_DEFAULT_SEQUENTIAL_NUMBER_OF_BLOCK 512
-#define ULTRACOPIER_PLUGIN_DEFAULT_PARALLEL_NUMBER_OF_BLOCK 4 //in KB
+#define ULTRACOPIER_PLUGIN_DEFAULT_PARALLEL_NUMBER_OF_BLOCK 128
#define ULTRACOPIER_PLUGIN_MAX_BLOCK_SIZE 16*1024 //in KB
#define ULTRACOPIER_PLUGIN_MAX_SEQUENTIAL_NUMBER_OF_BLOCK 2048
#define ULTRACOPIER_PLUGIN_MAX_PARALLEL_NUMBER_OF_BLOCK 128 //in KB
//if set, check the inode type at scanFileOrFolder, deprecated into the new algorithm and not used
#define ULTRACOPIER_PLUGIN_CHECKLISTTYPE
-
#define ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+
//#define ULTRACOPIER_PLUGIN_RIGHTS
/** \brief Need be greater than 2, but greater than 20 to be efficient */
@@ -37,8 +37,6 @@
#define ULTRACOPIER_PLUGIN_TIME_UPDATE_PROGRESSION 200
#define ULTRACOPIER_PLUGIN_TIME_UPDATE_MOUNT_MS 60*1000
-//#define ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
-
#endif // VARIABLE_H
diff --git a/plugins/CopyEngine/Ultracopier/DebugDialog.cpp b/plugins/CopyEngine/Ultracopier-Spec/DebugDialog.cpp
index 0b3fec4..79e1088 100644..100755
--- a/plugins/CopyEngine/Ultracopier/DebugDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/DebugDialog.cpp
@@ -4,6 +4,7 @@
#include "DebugDialog.h"
#include "ui_debugDialog.h"
+#include "CopyEngine.h"
#ifdef ULTRACOPIER_PLUGIN_DEBUG_WINDOW
@@ -12,6 +13,8 @@ DebugDialog::DebugDialog(QWidget *parent) :
ui(new Ui::debugDialog)
{
ui->setupUi(this);
+ connect(&timer,&QTimer::timeout,this,&DebugDialog::updateOnTimer);
+ timer.start(200);
}
DebugDialog::~DebugDialog()
@@ -51,4 +54,10 @@ void DebugDialog::setTransferThreadList(const std::vector<std::string> &list)
}
}
+void DebugDialog::updateOnTimer()
+{
+ ui->alreadyExistsQueue->setValue(copyEngine->alreadyExistsQueue.size());
+ ui->errorQueue->setValue(copyEngine->errorQueue.size());
+}
+
#endif
diff --git a/plugins/CopyEngine/Ultracopier/DebugDialog.h b/plugins/CopyEngine/Ultracopier-Spec/DebugDialog.h
index c84cfaa..0da388e 100644..100755
--- a/plugins/CopyEngine/Ultracopier/DebugDialog.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/DebugDialog.h
@@ -10,11 +10,14 @@
#ifdef ULTRACOPIER_PLUGIN_DEBUG_WINDOW
#include <QWidget>
+#include <QTimer>
namespace Ui {
class debugDialog;
}
+class CopyEngine;
+
/// \brief class to the dialog to have debug information
class DebugDialog : public QWidget
{
@@ -30,8 +33,14 @@ public:
void setActiveTransfer(const int &activeTransfer);
/// \brief show many many inode is manipulated
void setInodeUsage(const int &inodeUsage);
+
+ CopyEngine *copyEngine;
private:
Ui::debugDialog *ui;
+ QTimer timer;
+
+private slots:
+ void updateOnTimer();
};
#endif // ULTRACOPIER_PLUGIN_DEBUG_WINDOW
diff --git a/plugins/CopyEngine/Ultracopier/DebugEngineMacro.h b/plugins/CopyEngine/Ultracopier-Spec/DebugEngineMacro.h
index f9b5349..f9b5349 100644..100755
--- a/plugins/CopyEngine/Ultracopier/DebugEngineMacro.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/DebugEngineMacro.h
diff --git a/plugins/CopyEngine/Ultracopier/DiskSpace.cpp b/plugins/CopyEngine/Ultracopier-Spec/DiskSpace.cpp
index e9b996d..e9b996d 100644..100755
--- a/plugins/CopyEngine/Ultracopier/DiskSpace.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/DiskSpace.cpp
diff --git a/plugins/CopyEngine/Ultracopier/DiskSpace.h b/plugins/CopyEngine/Ultracopier-Spec/DiskSpace.h
index 5a923ab..5a923ab 100644..100755
--- a/plugins/CopyEngine/Ultracopier/DiskSpace.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/DiskSpace.h
diff --git a/plugins/CopyEngine/Ultracopier/DiskSpace.ui b/plugins/CopyEngine/Ultracopier-Spec/DiskSpace.ui
index 10b5c69..ebf380f 100644..100755
--- a/plugins/CopyEngine/Ultracopier/DiskSpace.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/DiskSpace.ui
@@ -15,7 +15,7 @@
</property>
<property name="windowIcon">
<iconset resource="copyEngineResources.qrc">
- <normaloff>:/CopyEngine/Ultracopier/resources/remove.png</normaloff>:/CopyEngine/Ultracopier/resources/remove.png</iconset>
+ <normaloff>:/CopyEngine/Ultracopier-Spec/resources/remove.png</normaloff>:/CopyEngine/Ultracopier-Spec/resources/remove.png</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/DriveManagement.cpp b/plugins/CopyEngine/Ultracopier-Spec/DriveManagement.cpp
new file mode 100755
index 0000000..148eabb
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/DriveManagement.cpp
@@ -0,0 +1,180 @@
+#include "DriveManagement.h"
+
+#include <QDir>
+#include <QFileInfoList>
+#include <QStorageInfo>
+
+#include "../../../cpp11addition.h"
+
+DriveManagement::DriveManagement()
+{
+ tryUpdate();
+ #ifdef Q_OS_WIN32
+ reg3=std::regex("^[a-zA-Z]:[\\\\/].*");
+ reg4=std::regex("^([a-zA-Z]:[\\\\/]).*$");
+ #endif
+ /// \warn ULTRACOPIER_DEBUGCONSOLE() don't work here because the sinal slot is not connected!
+}
+
+//get drive of an file or folder
+/// \todo do network drive support for windows
+std::string DriveManagement::getDrive(const std::string &fileOrFolder) const
+{
+ const std::string &inode=fileOrFolder;
+ Q_UNUSED(inode);
+ #ifdef Q_OS_WIN32
+ //optimized to windows version:
+ if(fileOrFolder.size()>=3)
+ {
+ if(fileOrFolder.at(1)==L':' && (fileOrFolder.at(2)==L'\\' || fileOrFolder.at(2)==L'/'))
+ {
+ char driveLetter=toupper(fileOrFolder.at(0));
+ return driveLetter+std::string(":/");
+ }
+ }
+
+ if(fileOrFolder.size()>=5)
+ {
+ char f1=fileOrFolder.at(0);
+ char f2=fileOrFolder.at(1);
+ if(f1=='/' || f1=='\\')
+ if(f2=='/' || f2=='\\')
+ {
+ bool postSeparador=false;
+ std::string post;
+ unsigned int index=2;
+ unsigned int s=2;
+ while(index<fileOrFolder.size())
+ {
+ const char c=fileOrFolder.at(index);
+ if(c=='/' || c=='\\')
+ {
+ if(postSeparador==false)
+ {
+ post="//"+fileOrFolder.substr(2,index-2);
+ postSeparador=true;
+ char c;
+ do
+ {
+ index++;
+ c=fileOrFolder.at(index);
+ } while((c=='/' || c=='\\') && index<fileOrFolder.size());
+ s=index;
+ }
+ else
+ return post+"/"+fileOrFolder.substr(s,index-s);
+ }
+ index++;
+ }
+ return post;
+ }
+ /*std::string returnString=fileOrFolder;
+ std::regex_replace(returnString,reg2,"$1");
+ return returnString;*/
+ }
+ //due to lack of WMI support into mingw, the new drive event is never called, this is a workaround
+ if(std::regex_match(fileOrFolder,reg3))
+ {
+ std::string returnString=fileOrFolder;
+ std::regex_replace(returnString,reg4,"$1");
+ return QDir::toNativeSeparators(QString::fromStdString(returnString)).toUpper().toStdString();
+ }
+ #else
+ int size=mountSysPoint.size();
+ for (int i = 0; i < size; ++i) {
+ if(stringStartWith(inode,mountSysPoint.at(i)))
+ return mountSysPoint.at(i);
+ }
+ #endif
+ //if unable to locate the right mount point
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"unable to locate the right mount point for: "+inode+", mount point: "+stringimplode(mountSysPoint,";"));
+ return std::string();
+}
+
+std::string DriveManagement::getDriveType(const std::string &drive) const
+{
+ int index=vectorindexOf(mountSysPoint,drive);
+ if(index!=-1)
+ return driveType.at(index);
+ return std::string();
+}
+
+bool DriveManagement::isSameDrive(const std::string &file1,const std::string &file2) const
+{
+ if(file1.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"file1 is empty");
+ return false;
+ }
+ if(file2.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"file2 is empty");
+ return false;
+ }
+ if(mountSysPoint.size()==0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"no mount point found");
+ return false;
+ }
+ const std::string &drive1=getDrive(file1);
+ if(drive1.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"drive for the file1 not found: "+file1);
+ return false;
+ }
+ const std::string &drive2=getDrive(file2);
+ if(drive2.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"drive for the file2 not found: "+file2);
+ return false;
+ }
+ if(drive1==drive2)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,drive1+" is egal to "+drive2);
+ return true;
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,drive1+" is NOT egal to "+drive2);
+ return false;
+ }
+}
+
+void DriveManagement::tryUpdate()
+{
+ mountSysPoint.clear();
+ driveType.clear();
+ std::vector<std::pair<std::string/*mountSysPoint*/,std::string/*driveType*/> > temp;
+ const QList<QStorageInfo> mountedVolumesList=QStorageInfo::mountedVolumes();
+ int index=0;
+ while(index<mountedVolumesList.size())
+ {
+ std::string mountSysPoint=QDir::toNativeSeparators(mountedVolumesList.at(index).rootPath()).toStdString();
+ #ifdef Q_OS_WIN32
+ std::string driveType;
+ if(mountSysPoint!="A:\\" && mountSysPoint!="A:/" && mountSysPoint!="A:" && mountSysPoint!="A" &&
+ mountSysPoint!="a:\\" && mountSysPoint!="a:/" && mountSysPoint!="a:" && mountSysPoint!="a")
+ {
+ const QByteArray &data=mountedVolumesList.at(index).fileSystemType();
+ driveType=std::string(data.constData(),data.size());
+ }
+ #else
+ const QByteArray &data=mountedVolumesList.at(index).fileSystemType();
+ std::string driveType=std::string(data.constData(),data.size());
+ #endif
+ temp.push_back(std::pair<std::string/*mountSysPoint*/,std::string/*driveType*/>(mountSysPoint,driveType));
+ index++;
+ }
+ /*sort larger to small mount point, to correctly detect it: /mnt, /
+ then /mnt/folder/file will be detected as /mnt
+ then /folder/file will be detected as / */
+ std::sort(temp.begin(), temp.end(), [](
+ std::pair<std::string/*mountSysPoint*/,std::string/*driveType*/> a,
+ std::pair<std::string/*mountSysPoint*/,std::string/*driveType*/> b) {
+ return a.first.size() > b.first.size();
+ });
+ for(const std::pair<std::string/*mountSysPoint*/,std::string/*driveType*/> &a : temp) {
+ mountSysPoint.push_back(a.first);
+ driveType.push_back(a.second);
+ }
+}
diff --git a/plugins/CopyEngine/Ultracopier/DriveManagement.h b/plugins/CopyEngine/Ultracopier-Spec/DriveManagement.h
index 8013b7c..24c8af6 100644..100755
--- a/plugins/CopyEngine/Ultracopier/DriveManagement.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/DriveManagement.h
@@ -18,13 +18,13 @@ public:
bool isSameDrive(const std::string &file1, const std::string &file2) const;
/// \brief get drive of an file or folder
std::string getDrive(const std::string &fileOrFolder) const;
- QByteArray getDriveType(const std::string &drive) const;
+ std::string getDriveType(const std::string &drive) const;
void tryUpdate();
protected:
- std::vector<std::string> mountSysPoint;
- std::vector<QByteArray> driveType;
+ std::vector<std::string> mountSysPoint;
+ std::vector<std::string> driveType;
#ifdef Q_OS_WIN32
- std::regex reg1,reg2,reg3,reg4;
+ std::regex reg3,reg4;
#endif
signals:
/// \brief To debug source
diff --git a/plugins/CopyEngine/Ultracopier/Environment.h b/plugins/CopyEngine/Ultracopier-Spec/Environment.h
index 34db2a2..9cb5732 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Environment.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/Environment.h
@@ -3,7 +3,7 @@
\author alpha_one_x86
\licence GPL3, see the file COPYING */
-#include "Variable.h"
+#include "CopyEngineUltracopier-SpecVariable.h"
/// \brief The global include
#include "StructEnumDefinition.h"
#include "StructEnumDefinition_CopyEngine.h"
diff --git a/plugins/CopyEngine/Ultracopier-Spec/EventLoop.cpp b/plugins/CopyEngine/Ultracopier-Spec/EventLoop.cpp
new file mode 100755
index 0000000..c2e237a
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/EventLoop.cpp
@@ -0,0 +1,71 @@
+#include "EventLoop.h"
+#include "CallBackEventLoop.h"
+
+#ifdef ASYNCFILEMANIP
+
+#ifdef Q_OS_LINUX
+#include <sys/epoll.h>
+#include <signal.h>
+#endif
+
+EventLoop EventLoop::eventLoop;
+
+EventLoop::EventLoop()
+{
+ int efd = epoll_create1(0);
+ if(efd==-1)
+ {
+ fprintf(stderr,"%s, errno %i\n", strerror(errno), errno);
+ abort();
+ }
+ //start();->put cpu at 100%
+ stopIt=false;
+}
+
+EventLoop::~EventLoop()
+{
+ stop();
+ QThread::wait();
+}
+
+void EventLoop::stop()
+{
+ stopIt=true;
+}
+
+void EventLoop::run()
+{
+ while(!stopIt)
+ {
+ int number_of_events = epoll_wait(efd, events, MAXEVENTS, -1);
+ if (-1 == number_of_events && EINTR == errno)
+ return;
+ for(int i = 0; i < number_of_events; i++)
+ static_cast<CallBackEventLoop *>(events[i].data.ptr)->callBack();
+ }
+}
+
+void EventLoop::watchSource(CallBackEventLoop * const object,const int &fd)
+{
+ epoll_event event;
+ event.events = EPOLLIN | EPOLLPRI | EPOLLERR | EPOLLET;
+ event.data.ptr = object;
+ if(epoll_ctl(efd, EPOLL_CTL_ADD, fd, &event)!=0)
+ {
+ printf("%s, errno %i\n", strerror(errno), errno);
+ //abort();
+ }
+}
+
+void EventLoop::watchDestination(CallBackEventLoop * const object,const int &fd)
+{
+ epoll_event event;
+ event.events = EPOLLOUT | EPOLLPRI | EPOLLERR | EPOLLET;
+ event.data.ptr = object;
+ if(epoll_ctl(efd, EPOLL_CTL_ADD, fd, &event)!=0)
+ {
+ printf("%s, errno %i\n", strerror(errno), errno);
+ //abort();
+ }
+}
+#endif
diff --git a/plugins/CopyEngine/Ultracopier-Spec/EventLoop.h b/plugins/CopyEngine/Ultracopier-Spec/EventLoop.h
new file mode 100755
index 0000000..3d68ce2
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/EventLoop.h
@@ -0,0 +1,30 @@
+#ifndef EVENTLOOP_H
+#define EVENTLOOP_H
+
+#include "Variable.h"
+
+#ifdef ASYNCFILEMANIP
+#include <QThread>
+#include "CallBackEventLoop.h"
+#include <sys/epoll.h>
+#define MAXEVENTS 64
+
+class EventLoop : public QThread
+{
+public:
+ EventLoop();
+ ~EventLoop();
+ static EventLoop eventLoop;
+ void watchSource(CallBackEventLoop * const object,const int &fd);
+ void watchDestination(CallBackEventLoop * const object,const int &fd);
+protected:
+ void run();
+ void stop();
+private:
+ epoll_event events[MAXEVENTS];
+ int efd;
+ bool stopIt;
+};
+#endif
+
+#endif // EVENTLOOP_H
diff --git a/plugins/CopyEngine/Ultracopier/FileErrorDialog.cpp b/plugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp
index d88fb90..587a889 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FileErrorDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp
@@ -1,12 +1,13 @@
#include "FileErrorDialog.h"
#include "ui_fileErrorDialog.h"
#include "TransferThread.h"
+#include "../../../cpp11addition.h"
#include <QString>
bool FileErrorDialog::isInAdmin=false;
-FileErrorDialog::FileErrorDialog(QWidget *parent, QFileInfo fileInfo, std::string errorString, const ErrorType &errorType) :
+FileErrorDialog::FileErrorDialog(QWidget *parent, INTERNALTYPEPATH fileInfo, std::string errorString, const ErrorType &errorType,FacilityInterface * facilityEngine) :
QDialog(parent),
ui(new Ui::fileErrorDialog)
{
@@ -20,58 +21,103 @@ FileErrorDialog::FileErrorDialog(QWidget *parent, QFileInfo fileInfo, std::strin
ui->setupUi(this);
action=FileError_Cancel;
ui->label_error->setText(QString::fromStdString(errorString));
- if(fileInfo.exists())
+#ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA fileInfoW;
+ if(GetFileAttributesExW(fileInfo.c_str(),GetFileExInfoStandard,&fileInfoW))
{
- ui->label_content_file_name->setText(QString::fromStdString(TransferThread::resolvedName(fileInfo)));
+ 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;
+ if(stat(TransferThread::internalStringTostring(fileInfo).c_str(), &p_statbuf)==0)
+ {
+ #ifdef Q_OS_UNIX
+ #ifdef Q_OS_MAC
+ uint64_t mdate=p_statbuf.st_mtimespec.tv_sec;
+ #else
+ uint64_t mdate=*reinterpret_cast<int64_t*>(&p_statbuf.st_mtim);
+ #endif
+ #else
+ uint64_t mdate=*reinterpret_cast<int64_t*>(&p_statbuf.st_mtime);
+ #endif
+ const uint64_t size=p_statbuf.st_size;
+#endif
+ ui->label_content_file_name->setText(
+ QString::fromStdString(
+ TransferThread::resolvedName(
+ TransferThread::internalStringTostring(fileInfo)
+ )
+ )
+ );
if(ui->label_content_file_name->text().isEmpty())
{
- ui->label_content_file_name->setText(fileInfo.absoluteFilePath());
+ ui->label_content_file_name->setText(QString::fromStdString(TransferThread::internalStringTostring(fileInfo)));
ui->label_folder->setVisible(false);
ui->label_content_folder->setVisible(false);
}
else
{
- QString folder=fileInfo.absolutePath();
+ std::string folder=TransferThread::internalStringTostring(fileInfo);
if(folder.size()>80)
- folder=folder.mid(0,38)+"..."+folder.mid(folder.size()-38);
- ui->label_content_folder->setText(fileInfo.absolutePath());
+ folder=folder.substr(0,38)+"..."+folder.substr(folder.size()-38);
+ ui->label_content_folder->setText(QString::fromStdString(FSabsolutePath(TransferThread::internalStringTostring(fileInfo))));
}
- ui->label_content_size->setText(QString::number(fileInfo.size()));
- QDateTime maxTime(QDate(ULTRACOPIER_PLUGIN_MINIMALYEAR,1,1));
- if(maxTime<fileInfo.lastModified())
+ ui->label_content_size->setText(QString::fromStdString(facilityEngine->sizeToString(size)));
+ if(ULTRACOPIER_PLUGIN_MINIMALYEAR_TIMESTAMPS<mdate)
{
ui->label_modified->setVisible(true);
ui->label_content_modified->setVisible(true);
- ui->label_content_modified->setText(fileInfo.lastModified().toString());
+ ui->label_content_modified->setText(QDateTime::fromMSecsSinceEpoch(mdate*1000).toString());
}
else
{
ui->label_modified->setVisible(false);
ui->label_content_modified->setVisible(false);
}
- if(fileInfo.isDir())
+ #ifdef Q_OS_WIN32
+ if(fileInfoW.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ #else
+ if(S_ISDIR(p_statbuf.st_mode))
+ #endif
{
this->setWindowTitle(tr("Error on folder"));
ui->label_size->hide();
ui->label_content_size->hide();
ui->label_file_name->setText(tr("Folder name"));
}
- ui->label_file_destination->setVisible(fileInfo.isSymLink());
- ui->label_content_file_destination->setVisible(fileInfo.isSymLink());
- if(fileInfo.isSymLink())
- ui->label_content_file_destination->setText(fileInfo.symLinkTarget());
+ #ifdef Q_OS_UNIX
+ ui->label_file_destination->setVisible(p_statbuf.st_mode==S_IFLNK);
+ ui->label_content_file_destination->setVisible(p_statbuf.st_mode==S_IFLNK);
+ if(S_ISLNK(p_statbuf.st_mode))
+ {
+ char buf[1024];
+ ssize_t len;
+ if ((len = readlink(TransferThread::internalStringTostring(fileInfo).c_str(), buf, sizeof(buf)-1)) != -1)
+ {
+ buf[len] = '\0';
+ ui->label_content_file_destination->setText(buf);
+ }
+ }
+ #else
+ ui->label_file_destination->setVisible(false);
+ ui->label_content_file_destination->setVisible(false);
+ #endif
}
else
{
- ui->label_content_file_name->setText(QString::fromStdString(TransferThread::resolvedName(fileInfo)));
+ ui->label_content_file_name->setText(QString::fromStdString(TransferThread::resolvedName(TransferThread::internalStringTostring(fileInfo))));
if(ui->label_content_file_name->text().isEmpty())
{
- ui->label_content_file_name->setText(fileInfo.absoluteFilePath());
+ ui->label_content_file_name->setText(QString::fromStdString(TransferThread::internalStringTostring(fileInfo)));
ui->label_folder->setVisible(false);
ui->label_content_folder->setVisible(false);
}
else
- ui->label_content_folder->setText(fileInfo.absolutePath());
+ ui->label_content_folder->setText(QString::fromStdString(FSabsolutePath(TransferThread::internalStringTostring(fileInfo))));
ui->label_file_destination->hide();
ui->label_content_file_destination->hide();
diff --git a/plugins/CopyEngine/Ultracopier/FileErrorDialog.h b/plugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.h
index 133a8b0..635eebc 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FileErrorDialog.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/FileErrorDialog.h
@@ -7,13 +7,18 @@
#include <QWidget>
#include <QString>
#include <QDateTime>
-#include <QFileInfo>
+#include <string>
#include "Environment.h"
+#include "../../../interface/FacilityInterface.h"
#ifndef FILEERRORDIALOG_H
#define FILEERRORDIALOG_H
-
+#ifdef WIDESTRING
+#define INTERNALTYPEPATH std::wstring
+#else
+#define INTERNALTYPEPATH std::string
+#endif
namespace Ui {
class fileErrorDialog;
@@ -25,7 +30,7 @@ class FileErrorDialog : public QDialog
Q_OBJECT
public:
/// \brief create the object and pass all the informations to it
- explicit FileErrorDialog(QWidget *parent,QFileInfo fileInfo,std::string errorString,const ErrorType &errorType);
+ explicit FileErrorDialog(QWidget *parent, INTERNALTYPEPATH fileInfo, std::string errorString, const ErrorType &errorType, FacilityInterface *facilityEngine);
~FileErrorDialog();
/// \brief return the the always checkbox is checked
bool getAlways();
diff --git a/plugins/CopyEngine/Ultracopier/FileExistsDialog.cpp b/plugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp
index 10b8543..e0d841e 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FileExistsDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp
@@ -1,6 +1,7 @@
#include "FileExistsDialog.h"
#include "ui_fileExistsDialog.h"
#include "TransferThread.h"
+#include "../../../cpp11addition.h"
#ifdef Q_OS_WIN32
#define CURRENTSEPARATOR "\\"
@@ -8,11 +9,11 @@
#define CURRENTSEPARATOR "/"
#endif
-#include <QRegularExpression>
-#include <QFileInfo>
#include <QMessageBox>
-FileExistsDialog::FileExistsDialog(QWidget *parent, QFileInfo source, QFileInfo destination, std::string firstRenamingRule, std::string otherRenamingRule) :
+FileExistsDialog::FileExistsDialog(QWidget *parent, INTERNALTYPEPATH source,
+ INTERNALTYPEPATH destination, std::string firstRenamingRule,
+ std::string otherRenamingRule,FacilityInterface * facilityEngine) :
QDialog(parent),
ui(new Ui::fileExistsDialog)
{
@@ -25,58 +26,111 @@ FileExistsDialog::FileExistsDialog(QWidget *parent, QFileInfo source, QFileInfo
ui->setupUi(this);
action=FileExists_Cancel;
- destinationInfo=destination;
- oldName=TransferThread::resolvedName(destination);
+ destinationInfo=TransferThread::internalStringTostring(destination);
+ oldName=TransferThread::resolvedName(TransferThread::internalStringTostring(destination));
ui->lineEditNewName->setText(QString::fromStdString(oldName));
ui->lineEditNewName->setPlaceholderText(QString::fromStdString(oldName));
+
ui->Overwrite->addAction(ui->actionOverwrite_if_newer);
+ ui->Overwrite->addAction(ui->actionOverwrite_if_older);
ui->Overwrite->addAction(ui->actionOverwrite_if_not_same_modification_date);
- ui->label_content_source_size->setText(QString::number(source.size()));
- ui->label_content_source_modified->setText(source.lastModified().toString());
- ui->label_content_source_file_name->setText(QString::fromStdString(TransferThread::resolvedName(source)));
- QString folder=source.absolutePath();
+ ui->Overwrite->addAction(ui->actionOverwrite_if_not_same_size);
+ ui->Overwrite->addAction(ui->actionOverwrite_if_not_same_size_and_date);
+
+ ui->label_content_source_file_name->setText(QString::fromStdString(TransferThread::resolvedName(TransferThread::internalStringTostring(source))));
+ std::string folder=TransferThread::internalStringTostring(FSabsolutePath(source));
if(folder.size()>80)
- folder=folder.mid(0,38)+"..."+folder.mid(folder.size()-38);
- ui->label_content_source_folder->setText(folder);
- ui->label_content_destination_size->setText(QString::number(destination.size()));
- ui->label_content_destination_modified->setText(destination.lastModified().toString());
- ui->label_content_destination_file_name->setText(QString::fromStdString(TransferThread::resolvedName(destination)));
- folder=destination.absolutePath();
+ folder=folder.substr(0,38)+"..."+folder.substr(folder.size()-38);
+ ui->label_content_source_folder->setText(QString::fromStdString(folder));
+ ui->label_content_destination_file_name->setText(QString::fromStdString(TransferThread::resolvedName(TransferThread::internalStringTostring(destination))));
+ folder=TransferThread::internalStringTostring(FSabsolutePath(destination));
if(folder.size()>80)
- folder=folder.mid(0,38)+"..."+folder.mid(folder.size()-38);
- ui->label_content_destination_folder->setText(folder);
- QDateTime maxTime(QDate(ULTRACOPIER_PLUGIN_MINIMALYEAR,1,1));
- if(maxTime<source.lastModified())
+ folder=folder.substr(0,38)+"..."+folder.substr(folder.size()-38);
+ ui->label_content_destination_folder->setText(QString::fromStdString(folder));
+ //QDateTime maxTime(QDate(ULTRACOPIER_PLUGIN_MINIMALYEAR,1,1));
+#ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA sourceW;
+ if(GetFileAttributesExW(source.c_str(),GetFileExInfoStandard,&sourceW))
+ {
+ uint64_t mdate=sourceW.ftLastWriteTime.dwHighDateTime;
+ mdate<<=32;
+ mdate|=sourceW.ftLastWriteTime.dwLowDateTime;
+ uint64_t size=sourceW.nFileSizeHigh;
+ size<<=32;
+ size|=sourceW.nFileSizeLow;
+#else
+ struct stat source_statbuf;
+ #ifdef Q_OS_UNIX
+ if(lstat(TransferThread::internalStringTostring(source).c_str(), &source_statbuf)==0)
+ #else
+ if(stat(TransferThread::internalStringTostring(source).c_str(), &source_statbuf)==0)
+ #endif
{
+ #ifdef Q_OS_UNIX
+ #ifdef Q_OS_MAC
+ const uint64_t mdate=source_statbuf.st_mtimespec.tv_sec;
+ #else
+ const uint64_t mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtim);
+ #endif
+ #else
+ const uint64_t mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtime);
+ #endif
+ const uint64_t size=source_statbuf.st_size;
+#endif
ui->label_source_modified->setVisible(true);
+ ui->label_content_source_size->setVisible(true);
+ ui->label_content_source_size->setText(QString::fromStdString(facilityEngine->sizeToString(size)));
ui->label_content_source_modified->setVisible(true);
- ui->label_content_source_modified->setText(source.lastModified().toString());
+ ui->label_content_source_modified->setText(QDateTime::fromMSecsSinceEpoch(mdate*1000).toString());
}
else
{
+ ui->label_content_source_size->setVisible(false);
+ ui->label_source_size->setVisible(false);
+ ui->label_source_modified->setVisible(false);
+ ui->label_content_source_modified->setVisible(false);
ui->label_source_modified->setVisible(false);
ui->label_content_source_modified->setVisible(false);
}
- if(maxTime<destination.lastModified())
+#ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA destinationW;
+ if(GetFileAttributesExW(destination.c_str(),GetFileExInfoStandard,&destinationW))
{
+ uint64_t mdate=destinationW.ftLastWriteTime.dwHighDateTime;
+ mdate<<=32;
+ mdate|=destinationW.ftLastWriteTime.dwLowDateTime;
+ uint64_t size=destinationW.nFileSizeHigh;
+ size<<=32;
+ size|=destinationW.nFileSizeLow;
+#else
+ struct stat destination_statbuf;
+ #ifdef Q_OS_UNIX
+ if(lstat(TransferThread::internalStringTostring(destination).c_str(), &destination_statbuf)==0)
+ #else
+ if(stat(TransferThread::internalStringTostring(destination).c_str(), &destination_statbuf)==0)
+ #endif
+ {
+ #ifdef Q_OS_UNIX
+ #ifdef Q_OS_MAC
+ const uint64_t mdate=destination_statbuf.st_mtimespec.tv_sec;
+ #else
+ const uint64_t mdate=*reinterpret_cast<int64_t*>(&destination_statbuf.st_mtim);
+ #endif
+ #else
+ const uint64_t mdate=*reinterpret_cast<int64_t*>(&destination_statbuf.st_mtime);
+ #endif
+ const uint64_t size=destination_statbuf.st_size;
+#endif
ui->label_destination_modified->setVisible(true);
+ ui->label_content_destination_size->setVisible(true);
+ ui->label_content_destination_size->setText(QString::fromStdString(facilityEngine->sizeToString(size)));
ui->label_content_destination_modified->setVisible(true);
- ui->label_content_destination_modified->setText(destination.lastModified().toString());
+ ui->label_content_destination_modified->setText(QDateTime::fromMSecsSinceEpoch(mdate*1000).toString());
}
else
{
ui->label_destination_modified->setVisible(false);
ui->label_content_destination_modified->setVisible(false);
- }
- if(!source.exists())
- {
- ui->label_content_source_size->setVisible(false);
- ui->label_source_size->setVisible(false);
- ui->label_source_modified->setVisible(false);
- ui->label_content_source_modified->setVisible(false);
- }
- if(!destination.exists())
- {
ui->label_content_destination_size->setVisible(false);
ui->label_destination_size->setVisible(false);
ui->label_destination_modified->setVisible(false);
@@ -114,8 +168,8 @@ std::string FileExistsDialog::getNewName()
void FileExistsDialog::on_SuggestNewName_clicked()
{
- QFileInfo destinationInfo=this->destinationInfo;
- QString absolutePath=destinationInfo.absolutePath();
+ std::string destinationInfo=this->destinationInfo;
+ QString absolutePath=QString::fromStdString(FSabsolutePath(destinationInfo));
QString fileName=QString::fromStdString(TransferThread::resolvedName(destinationInfo));
QString suffix="";
QString destination;
@@ -148,11 +202,18 @@ void FileExistsDialog::on_SuggestNewName_clicked()
}
newFileName.replace(QStringLiteral("%name%"),fileName);
newFileName.replace(QStringLiteral("%suffix%"),suffix);
- destination=absolutePath+CURRENTSEPARATOR+newFileName;
- destinationInfo.setFile(destination);
+ destination=absolutePath;
+ if(!destination.endsWith('/')
+ #ifdef Q_OS_WIN32
+ && !destination.endsWith('\\')
+ #endif
+ )
+ destination+=CURRENTSEPARATOR;
+ destination+=newFileName;
+ destinationInfo=destination.toStdString();
num++;
}
- while(destinationInfo.exists());
+ while(TransferThread::exists(destinationInfo.c_str()));
ui->lineEditNewName->setText(newFileName);
}
@@ -188,7 +249,7 @@ void FileExistsDialog::on_actionOverwrite_if_newer_triggered()
void FileExistsDialog::on_actionOverwrite_if_not_same_modification_date_triggered()
{
- action=FileExists_OverwriteIfNotSame;
+ action=FileExists_OverwriteIfNotSameMdate;
this->close();
}
@@ -238,3 +299,15 @@ void FileExistsDialog::on_lineEditNewName_editingFinished()
{
updateRenameButton();
}
+
+void FileExistsDialog::on_actionOverwrite_if_not_same_size_triggered()
+{
+ action=FileExists_OverwriteIfNotSameSize;
+ this->close();
+}
+
+void FileExistsDialog::on_actionOverwrite_if_not_same_size_and_date_triggered()
+{
+ action=FileExists_OverwriteIfNotSameSizeAndDate;
+ this->close();
+}
diff --git a/plugins/CopyEngine/Ultracopier/FileExistsDialog.h b/plugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.h
index 05ff7e0..ae3e02b 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FileExistsDialog.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/FileExistsDialog.h
@@ -7,13 +7,19 @@
#include <QWidget>
#include <QString>
#include <QDateTime>
-#include <QFileInfo>
-#include <QDir>
+#include <string>
#include "Environment.h"
+#include "../../../interface/FacilityInterface.h"
#ifndef FILEEXISTSDIALOG_H
#define FILEEXISTSDIALOG_H
+#ifdef WIDESTRING
+#define INTERNALTYPEPATH std::wstring
+#else
+#define INTERNALTYPEPATH std::string
+#endif
+
namespace Ui {
class fileExistsDialog;
}
@@ -24,7 +30,7 @@ class FileExistsDialog : public QDialog
Q_OBJECT
public:
/// \brief create the object and pass all the informations to it
- explicit FileExistsDialog(QWidget *parent,QFileInfo source,QFileInfo destination,std::string firstRenamingRule,std::string otherRenamingRule);
+ explicit FileExistsDialog(QWidget *parent, INTERNALTYPEPATH source, INTERNALTYPEPATH destination, std::string firstRenamingRule, std::string otherRenamingRule, FacilityInterface *facilityEngine);
~FileExistsDialog();
/// \brief return the the always checkbox is checked
bool getAlways();
@@ -48,11 +54,13 @@ private slots:
void on_lineEditNewName_returnPressed();
void on_actionOverwrite_if_older_triggered();
void on_lineEditNewName_editingFinished();
+ void on_actionOverwrite_if_not_same_size_triggered();
+ void on_actionOverwrite_if_not_same_size_and_date_triggered();
private:
Ui::fileExistsDialog *ui;
FileExistsAction action;
std::string oldName;
- QFileInfo destinationInfo;
+ std::string destinationInfo;
std::string firstRenamingRule;
std::string otherRenamingRule;
};
diff --git a/plugins/CopyEngine/Ultracopier/FileIsSameDialog.cpp b/plugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp
index 7683d1d..69d63d0 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FileIsSameDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp
@@ -1,6 +1,7 @@
#include "FileIsSameDialog.h"
#include "ui_fileIsSameDialog.h"
#include "TransferThread.h"
+#include "../../../cpp11addition.h"
#ifdef Q_OS_WIN32
#define CURRENTSEPARATOR "\\"
@@ -8,11 +9,10 @@
#define CURRENTSEPARATOR "/"
#endif
-#include <QRegularExpression>
-#include <QFileInfo>
#include <QMessageBox>
-FileIsSameDialog::FileIsSameDialog(QWidget *parent, QFileInfo fileInfo, std::string firstRenamingRule, std::string otherRenamingRule) :
+FileIsSameDialog::FileIsSameDialog(QWidget *parent, INTERNALTYPEPATH fileInfo,
+ std::string firstRenamingRule, std::string otherRenamingRule,FacilityInterface * facilityEngine) :
QDialog(parent),
ui(new Ui::fileIsSameDialog)
{
@@ -25,31 +25,60 @@ FileIsSameDialog::FileIsSameDialog(QWidget *parent, QFileInfo fileInfo, std::str
ui->setupUi(this);
action=FileExists_Cancel;
- oldName=TransferThread::resolvedName(fileInfo);
- destinationInfo=fileInfo;
+ oldName=TransferThread::resolvedName(TransferThread::internalStringTostring(fileInfo));
+ destinationInfo=TransferThread::internalStringTostring(fileInfo);
ui->lineEditNewName->setText(QString::fromStdString(oldName));
ui->lineEditNewName->setPlaceholderText(QString::fromStdString(oldName));
- ui->label_content_size->setText(QString::number(fileInfo.size()));
- ui->label_content_modified->setText(fileInfo.lastModified().toString());
- ui->label_content_file_name->setText(QString::fromStdString(TransferThread::resolvedName(fileInfo)));
- QString folder=fileInfo.absolutePath();
+ ui->label_content_file_name->setText(QString::fromStdString(TransferThread::resolvedName(TransferThread::internalStringTostring(fileInfo))));
+ std::string folder=FSabsolutePath(TransferThread::internalStringTostring(fileInfo));
if(folder.size()>80)
- folder=folder.mid(0,38)+"..."+folder.mid(folder.size()-38);
- ui->label_content_folder->setText(folder);
+ folder=folder.substr(0,38)+"..."+folder.substr(folder.size()-38);
+ ui->label_content_folder->setText(QString::fromStdString(folder));
updateRenameButton();
- QDateTime maxTime(QDate(ULTRACOPIER_PLUGIN_MINIMALYEAR,1,1));
- if(maxTime<fileInfo.lastModified())
+#ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA fileInfoW;
+ if(GetFileAttributesExW(fileInfo.c_str(),GetFileExInfoStandard,&fileInfoW))
{
- ui->label_modified->setVisible(true);
- ui->label_content_modified->setVisible(true);
- ui->label_content_modified->setText(fileInfo.lastModified().toString());
- }
- else
+ 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 source_statbuf;
+ #ifdef Q_OS_UNIX
+ if(lstat(TransferThread::internalStringTostring(fileInfo).c_str(), &source_statbuf)==0)
+ #else
+ if(stat(TransferThread::internalStringTostring(fileInfo).c_str(), &source_statbuf)==0)
+ #endif
{
- ui->label_modified->setVisible(false);
- ui->label_content_modified->setVisible(false);
+ #ifdef Q_OS_UNIX
+ #ifdef Q_OS_MAC
+ const uint64_t mdate=source_statbuf.st_mtimespec.tv_sec;
+ #else
+ const uint64_t mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtim);
+ #endif
+ #else
+ const uint64_t mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtime);
+ #endif
+ const uint64_t size=source_statbuf.st_size;
+#endif
+ ui->label_content_size->setText(QString::fromStdString(facilityEngine->sizeToString(size)));
+ ui->label_content_size->setVisible(true);
+ if(ULTRACOPIER_PLUGIN_MINIMALYEAR_TIMESTAMPS<mdate)
+ {
+ ui->label_modified->setVisible(true);
+ ui->label_content_modified->setVisible(true);
+ ui->label_content_modified->setText(QDateTime::fromMSecsSinceEpoch(mdate*1000).toString());
+ }
+ else
+ {
+ ui->label_modified->setVisible(false);
+ ui->label_content_modified->setVisible(false);
+ }
}
- if(!fileInfo.exists())
+ else
{
ui->label_content_size->setVisible(false);
ui->label_size->setVisible(false);
@@ -88,8 +117,8 @@ std::string FileIsSameDialog::getNewName()
void FileIsSameDialog::on_SuggestNewName_clicked()
{
- QFileInfo destinationInfo=this->destinationInfo;
- QString absolutePath=destinationInfo.absolutePath();
+ std::string destinationInfo=this->destinationInfo;
+ QString absolutePath=QString::fromStdString(FSabsolutePath(destinationInfo));
QString fileName=QString::fromStdString(TransferThread::resolvedName(destinationInfo));
QString suffix="";
QString destination;
@@ -108,25 +137,32 @@ void FileIsSameDialog::on_SuggestNewName_clicked()
if(num==1)
{
if(firstRenamingRule.empty())
- newFileName=tr("%name% - copy");
+ newFileName=tr("%name% - copy%suffix%");
else
newFileName=QString::fromStdString(firstRenamingRule);
}
else
{
if(otherRenamingRule.empty())
- newFileName=tr("%name% - copy (%number%)");
+ newFileName=tr("%name% - copy (%number%)%suffix%");
else
newFileName=QString::fromStdString(otherRenamingRule);
newFileName.replace(QStringLiteral("%number%"),QString::number(num));
}
newFileName.replace(QStringLiteral("%name%"),fileName);
newFileName.replace(QStringLiteral("%suffix%"),suffix);
- destination=absolutePath+CURRENTSEPARATOR+newFileName+suffix;
- destinationInfo.setFile(destination);
+ destination=absolutePath;
+ if(!destination.endsWith('/')
+ #ifdef Q_OS_WIN32
+ && !destination.endsWith('\\')
+ #endif
+ )
+ destination+=CURRENTSEPARATOR;
+ destination+=newFileName;
+ destinationInfo=destination.toStdString();
num++;
}
- while(destinationInfo.exists());
+ while(TransferThread::exists(destinationInfo.c_str()));
ui->lineEditNewName->setText(newFileName);
}
diff --git a/plugins/CopyEngine/Ultracopier/FileIsSameDialog.h b/plugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.h
index 5dc0067..25a43b9 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FileIsSameDialog.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/FileIsSameDialog.h
@@ -7,13 +7,19 @@
#include <QWidget>
#include <QString>
#include <QDateTime>
-#include <QFileInfo>
-#include <QDir>
+#include <string>
#include "Environment.h"
+#include "../../../interface/FacilityInterface.h"
#ifndef FILEISSAMEDIALOG_H
#define FILEISSAMEDIALOG_H
+#ifdef WIDESTRING
+#define INTERNALTYPEPATH std::wstring
+#else
+#define INTERNALTYPEPATH std::string
+#endif
+
namespace Ui {
class fileIsSameDialog;
}
@@ -24,7 +30,7 @@ class FileIsSameDialog : public QDialog
Q_OBJECT
public:
/// \brief create the object and pass all the informations to it
- explicit FileIsSameDialog(QWidget *parent,QFileInfo fileInfo,std::string firstRenamingRule,std::string otherRenamingRule);
+ explicit FileIsSameDialog(QWidget *parent, INTERNALTYPEPATH fileInfo, std::string firstRenamingRule, std::string otherRenamingRule, FacilityInterface *facilityEngine);
~FileIsSameDialog();
/// \brief return the the always checkbox is checked
bool getAlways();
@@ -48,7 +54,7 @@ private:
Ui::fileIsSameDialog *ui;
FileExistsAction action;
std::string oldName;
- QFileInfo destinationInfo;
+ std::string destinationInfo;
std::string firstRenamingRule;
std::string otherRenamingRule;
diff --git a/plugins/CopyEngine/Ultracopier/FilterRules.cpp b/plugins/CopyEngine/Ultracopier-Spec/FilterRules.cpp
index 0f6bf2c..965f5f3 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FilterRules.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/FilterRules.cpp
@@ -47,9 +47,9 @@ ApplyOn FilterRules::get_apply_on()
{
case 0:
return ApplyOn_file;
- case 1:
- return ApplyOn_fileAndFolder;
case 2:
+ return ApplyOn_fileAndFolder;
+ case 1:
return ApplyOn_folder;
}
return ApplyOn_fileAndFolder;
@@ -89,10 +89,10 @@ void FilterRules::set_apply_on(ApplyOn apply_on)
ui->apply_on->setCurrentIndex(0);
break;
case ApplyOn_fileAndFolder:
- ui->apply_on->setCurrentIndex(1);
+ ui->apply_on->setCurrentIndex(2);
break;
case ApplyOn_folder:
- ui->apply_on->setCurrentIndex(2);
+ ui->apply_on->setCurrentIndex(1);
break;
}
}
@@ -117,7 +117,7 @@ void FilterRules::updateChecking()
QString tempString;
if(ui->search_type->currentIndex()==0)
{
- tempString=QRegularExpression::escape(ui->search->text());
+ //tempString=QRegularExpression::escape(ui->search->text()); -> generate bug because escape contains slash
if(tempString.contains('/') || tempString.contains('\\'))
isValid=false;
}
@@ -191,3 +191,9 @@ void FilterRules::on_buttonBox_clicked(QAbstractButton *button)
accept();
}
}
+
+void FilterRules::on_search_textChanged(const QString &arg1)
+{
+ Q_UNUSED(arg1);
+ updateChecking();
+}
diff --git a/plugins/CopyEngine/Ultracopier/FilterRules.h b/plugins/CopyEngine/Ultracopier-Spec/FilterRules.h
index 0838792..e57ea97 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FilterRules.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/FilterRules.h
@@ -36,6 +36,7 @@ private slots:
void on_search_type_currentIndexChanged(int index);
void on_need_match_all_clicked();
void on_buttonBox_clicked(QAbstractButton *button);
+ void on_search_textChanged(const QString &arg1);
private:
Ui::FilterRules *ui;
void updateChecking();
diff --git a/plugins/CopyEngine/Ultracopier/FilterRules.ui b/plugins/CopyEngine/Ultracopier-Spec/FilterRules.ui
index a4006fe..a4006fe 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FilterRules.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/FilterRules.ui
diff --git a/plugins/CopyEngine/Ultracopier/Filters.cpp b/plugins/CopyEngine/Ultracopier-Spec/Filters.cpp
index c7b1526..214896c 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Filters.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/Filters.cpp
@@ -16,10 +16,10 @@ Filters::~Filters()
delete ui;
}
-void Filters::setFilters(std::vector<std::string> includeStrings,std::vector<std::string> includeOptions,std::vector<std::string> excludeStrings,std::vector<std::string> excludeOptions)
+bool Filters::setFilters(std::vector<std::string> includeStrings,std::vector<std::string> includeOptions,std::vector<std::string> excludeStrings,std::vector<std::string> excludeOptions)
{
if(includeStrings.size()!=includeOptions.size() || excludeStrings.size()!=excludeOptions.size())
- return;
+ return false;
Filters_rules new_item;
include.clear();
@@ -77,6 +77,7 @@ void Filters::setFilters(std::vector<std::string> includeStrings,std::vector<std
}
reShowAll();
+ return true;
}
void Filters::reShowAll()
@@ -269,9 +270,12 @@ bool Filters::convertToRegex(Filters_rules &item)
std::string tempString;
if(item.search_type==SearchType_rawText)
{
+ //here to validate below the regex
tempString=QRegularExpression::escape(QString::fromStdString(item.search_text)).toStdString();
- if(tempString.find('/') != std::string::npos || tempString.find('\\') != std::string::npos)
- isValid=false;
+ //do search on string only on file or file and folder, QRegularExpression::escape() introduce \ on special char
+ if(item.apply_on!=ApplyOn::ApplyOn_folder)
+ if(item.search_text.find('/') != std::string::npos || item.search_text.find('\\') != std::string::npos)
+ isValid=false;
}
else if(item.search_type==SearchType_simpleRegex)
{
diff --git a/plugins/CopyEngine/Ultracopier/Filters.h b/plugins/CopyEngine/Ultracopier-Spec/Filters.h
index 6645afc..60e2277 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Filters.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/Filters.h
@@ -18,7 +18,7 @@ class Filters : public QDialog
public:
explicit Filters(QWidget *parent = 0);
~Filters();
- void setFilters(std::vector<std::string> includeStrings, std::vector<std::string> includeOptions, std::vector<std::string> excludeStrings, std::vector<std::string> excludeOptions);
+ bool setFilters(std::vector<std::string> includeStrings, std::vector<std::string> includeOptions, std::vector<std::string> excludeStrings, std::vector<std::string> excludeOptions);
void reShowAll();
std::vector<Filters_rules> getInclude() const;
std::vector<Filters_rules> getExclude() const;
diff --git a/plugins/CopyEngine/Ultracopier/Filters.ui b/plugins/CopyEngine/Ultracopier-Spec/Filters.ui
index 33822af..ed6a0a2 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Filters.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/Filters.ui
@@ -14,14 +14,23 @@
<string>Filters</string>
</property>
<property name="windowIcon">
- <iconset resource="resources.qrc">
- <normaloff>:/CopyEngine/Ultracopier/resources/filter.png</normaloff>:/CopyEngine/Ultracopier/resources/filter.png</iconset>
+ <iconset resource="copyEngineResources.qrc">
+ <normaloff>:/CopyEngine/Ultracopier-Spec/resources/filter.png</normaloff>:/CopyEngine/Ultracopier-Spec/resources/filter.png</iconset>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>1</number>
</property>
- <property name="margin">
+ <property name="leftMargin">
+ <number>1</number>
+ </property>
+ <property name="topMargin">
+ <number>1</number>
+ </property>
+ <property name="rightMargin">
+ <number>1</number>
+ </property>
+ <property name="bottomMargin">
<number>1</number>
</property>
<item>
@@ -33,7 +42,16 @@
<property name="spacing">
<number>1</number>
</property>
- <property name="margin">
+ <property name="leftMargin">
+ <number>2</number>
+ </property>
+ <property name="topMargin">
+ <number>2</number>
+ </property>
+ <property name="rightMargin">
+ <number>2</number>
+ </property>
+ <property name="bottomMargin">
<number>2</number>
</property>
<item>
@@ -48,24 +66,24 @@
<item>
<widget class="QToolButton" name="add_exclusion">
<property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/CopyEngine/Ultracopier/resources/add.png</normaloff>:/CopyEngine/Ultracopier/resources/add.png</iconset>
+ <iconset resource="copyEngineResources.qrc">
+ <normaloff>:/CopyEngine/Ultracopier-Spec/resources/add.png</normaloff>:/CopyEngine/Ultracopier-Spec/resources/add.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="edit_exclusion">
<property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/CopyEngine/Ultracopier/resources/edit.png</normaloff>:/CopyEngine/Ultracopier/resources/edit.png</iconset>
+ <iconset resource="copyEngineResources.qrc">
+ <normaloff>:/CopyEngine/Ultracopier-Spec/resources/edit.png</normaloff>:/CopyEngine/Ultracopier-Spec/resources/edit.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="remove_exclusion">
<property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/CopyEngine/Ultracopier/resources/remove.png</normaloff>:/CopyEngine/Ultracopier/resources/remove.png</iconset>
+ <iconset resource="copyEngineResources.qrc">
+ <normaloff>:/CopyEngine/Ultracopier-Spec/resources/remove.png</normaloff>:/CopyEngine/Ultracopier-Spec/resources/remove.png</iconset>
</property>
</widget>
</item>
@@ -96,7 +114,16 @@
<property name="spacing">
<number>1</number>
</property>
- <property name="margin">
+ <property name="leftMargin">
+ <number>2</number>
+ </property>
+ <property name="topMargin">
+ <number>2</number>
+ </property>
+ <property name="rightMargin">
+ <number>2</number>
+ </property>
+ <property name="bottomMargin">
<number>2</number>
</property>
<item>
@@ -120,24 +147,24 @@
<item>
<widget class="QToolButton" name="add_inclusion">
<property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/CopyEngine/Ultracopier/resources/add.png</normaloff>:/CopyEngine/Ultracopier/resources/add.png</iconset>
+ <iconset resource="copyEngineResources.qrc">
+ <normaloff>:/CopyEngine/Ultracopier-Spec/resources/add.png</normaloff>:/CopyEngine/Ultracopier-Spec/resources/add.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="edit_inclusion">
<property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/CopyEngine/Ultracopier/resources/edit.png</normaloff>:/CopyEngine/Ultracopier/resources/edit.png</iconset>
+ <iconset resource="copyEngineResources.qrc">
+ <normaloff>:/CopyEngine/Ultracopier-Spec/resources/edit.png</normaloff>:/CopyEngine/Ultracopier-Spec/resources/edit.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="remove_inclusion">
<property name="icon">
- <iconset resource="resources.qrc">
- <normaloff>:/CopyEngine/Ultracopier/resources/remove.png</normaloff>:/CopyEngine/Ultracopier/resources/remove.png</iconset>
+ <iconset resource="copyEngineResources.qrc">
+ <normaloff>:/CopyEngine/Ultracopier-Spec/resources/remove.png</normaloff>:/CopyEngine/Ultracopier-Spec/resources/remove.png</iconset>
</property>
</widget>
</item>
@@ -188,7 +215,7 @@
</layout>
</widget>
<resources>
- <include location="resources.qrc"/>
+ <include location="copyEngineResources.qrc"/>
</resources>
<connections/>
</ui>
diff --git a/plugins/CopyEngine/Ultracopier/FolderExistsDialog.cpp b/plugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp
index 59466ed..f37acd1 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FolderExistsDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp
@@ -1,6 +1,7 @@
#include "FolderExistsDialog.h"
#include "ui_folderExistsDialog.h"
#include "TransferThread.h"
+#include "../../../cpp11addition.h"
#ifdef Q_OS_WIN32
#define CURRENTSEPARATOR "\\"
@@ -9,10 +10,9 @@
#endif
#include <QMessageBox>
-#include <QFileInfo>
-#include <QMessageBox>
-FolderExistsDialog::FolderExistsDialog(QWidget *parent, QFileInfo source, bool isSame, QFileInfo destination, std::string firstRenamingRule, std::string otherRenamingRule) :
+FolderExistsDialog::FolderExistsDialog(QWidget *parent, INTERNALTYPEPATH source, bool isSame, INTERNALTYPEPATH destination,
+ std::string firstRenamingRule, std::string otherRenamingRule) :
QDialog(parent),
ui(new Ui::folderExistsDialog)
{
@@ -25,15 +25,42 @@ FolderExistsDialog::FolderExistsDialog(QWidget *parent, QFileInfo source, bool i
ui->setupUi(this);
action=FolderExists_Cancel;
- oldName=TransferThread::resolvedName(destination);
+ oldName=TransferThread::resolvedName(TransferThread::internalStringTostring(destination));
ui->lineEditNewName->setText(QString::fromStdString(oldName));
ui->lineEditNewName->setPlaceholderText(QString::fromStdString(oldName));
- ui->label_content_source_modified->setText(source.lastModified().toString());
- ui->label_content_source_folder_name->setText(source.fileName());
- QString folder=source.absolutePath();
+#ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA fileInfoW;
+ if(GetFileAttributesExW(source.c_str(),GetFileExInfoStandard,&fileInfoW))
+ {
+ 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 source_statbuf;
+ if(TransferThread::exists(source))
+ {
+ #ifdef Q_OS_UNIX
+ #ifdef Q_OS_MAC
+ const uint64_t mdate=source_statbuf.st_mtimespec.tv_sec;
+ #else
+ const uint64_t mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtim);
+ #endif
+ #else
+ const uint64_t mdate=*reinterpret_cast<int64_t*>(&source_statbuf.st_mtime);
+ #endif
+#endif
+ ui->label_content_source_modified->setText(QDateTime::fromMSecsSinceEpoch(mdate*1000).toString());
+ }
+ else
+ ui->label_content_source_modified->hide();
+ ui->label_content_source_folder_name->setText(QString::fromStdString(TransferThread::resolvedName(TransferThread::internalStringTostring(source))));
+ std::string folder=TransferThread::internalStringTostring(FSabsolutePath(source));
if(folder.size()>80)
- folder=folder.mid(0,38)+"..."+folder.mid(folder.size()-38);
- ui->label_content_source_folder->setText(folder);
+ folder=folder.substr(0,38)+"..."+folder.substr(folder.size()-38);
+ ui->label_content_source_folder->setText(QString::fromStdString(folder));
if(ui->label_content_source_folder_name->text().isEmpty())
{
ui->label_source_folder_name->hide();
@@ -41,7 +68,7 @@ FolderExistsDialog::FolderExistsDialog(QWidget *parent, QFileInfo source, bool i
}
if(isSame)
{
- this->destinationInfo=source;
+ this->destinationInfo=TransferThread::internalStringTostring(source);
ui->label_source->hide();
ui->label_destination->hide();
ui->label_destination_modified->hide();
@@ -53,14 +80,29 @@ FolderExistsDialog::FolderExistsDialog(QWidget *parent, QFileInfo source, bool i
}
else
{
- this->destinationInfo=destination;
+ this->destinationInfo=TransferThread::internalStringTostring(destination);
this->setWindowTitle(tr("Folder already exists"));
- ui->label_content_destination_modified->setText(destination.lastModified().toString());
- ui->label_content_destination_folder_name->setText(destination.fileName());
- QString folder=destination.absolutePath();
+ struct stat destination_statbuf;
+ if(TransferThread::exists(destination))
+ {
+ #ifdef Q_OS_UNIX
+ #ifdef Q_OS_MAC
+ const uint64_t mdate=destination_statbuf.st_mtimespec.tv_sec;
+ #else
+ const uint64_t mdate=*reinterpret_cast<int64_t*>(&destination_statbuf.st_mtim);
+ #endif
+ #else
+ const uint64_t mdate=*reinterpret_cast<int64_t*>(&destination_statbuf.st_mtime);
+ #endif
+ ui->label_content_destination_modified->setText(QDateTime::fromMSecsSinceEpoch(mdate*1000).toString());
+ }
+ else
+ ui->label_content_destination_modified->hide();
+ ui->label_content_destination_folder_name->setText(QString::fromStdString(TransferThread::resolvedName(TransferThread::internalStringTostring(destination))));
+ std::string folder=TransferThread::internalStringTostring(FSabsolutePath(destination));
if(folder.size()>80)
- folder=folder.mid(0,38)+"..."+folder.mid(folder.size()-38);
- ui->label_content_destination_folder->setText(folder);
+ folder=folder.substr(0,38)+"..."+folder.substr(folder.size()-38);
+ ui->label_content_destination_folder->setText(QString::fromStdString(folder));
if(ui->label_content_destination_folder_name->text().isEmpty())
{
ui->label_destination_folder_name->hide();
@@ -99,8 +141,8 @@ std::string FolderExistsDialog::getNewName()
void FolderExistsDialog::on_SuggestNewName_clicked()
{
- QFileInfo destinationInfo=this->destinationInfo;
- QString absolutePath=destinationInfo.absolutePath();
+ std::string destinationInfo=this->destinationInfo;
+ QString absolutePath=QString::fromStdString(FSabsolutePath(destinationInfo));
QString fileName=QString::fromStdString(TransferThread::resolvedName(destinationInfo));
QString suffix;
QString destination;
@@ -119,7 +161,7 @@ void FolderExistsDialog::on_SuggestNewName_clicked()
if(num==1)
{
if(firstRenamingRule.empty())
- newFileName=tr("%name% - copy");
+ newFileName=tr("%name% - copy%suffix%");
else
{
newFileName=QString::fromStdString(firstRenamingRule);
@@ -128,17 +170,25 @@ void FolderExistsDialog::on_SuggestNewName_clicked()
else
{
if(otherRenamingRule.empty())
- newFileName=tr("%name% - copy (%number%)");
+ newFileName=tr("%name% - copy (%number%)%suffix%");
else
newFileName=QString::fromStdString(otherRenamingRule);
newFileName.replace(QStringLiteral("%number%"),QString::number(num));
}
newFileName.replace(QStringLiteral("%name%"),fileName);
- destination=absolutePath+CURRENTSEPARATOR+newFileName+suffix;
- destinationInfo.setFile(destination);
+ newFileName.replace(QStringLiteral("%suffix%"),suffix);
+ destination=absolutePath;
+ if(!destination.endsWith('/')
+ #ifdef Q_OS_WIN32
+ && !destination.endsWith('\\')
+ #endif
+ )
+ destination+=CURRENTSEPARATOR;
+ destination+=newFileName;
+ destinationInfo=destination.toStdString();
num++;
}
- while(destinationInfo.exists());
+ while(TransferThread::exists(destinationInfo.c_str()));
ui->lineEditNewName->setText(newFileName);
}
@@ -190,7 +240,7 @@ void FolderExistsDialog::on_lineEditNewName_returnPressed()
QMessageBox::warning(this,tr("Error"),tr("Try rename with using special characters"));
}
-void FolderExistsDialog::on_lineEditNewName_textChanged(const std::string &arg1)
+void FolderExistsDialog::on_lineEditNewName_textChanged(const QString &arg1)
{
Q_UNUSED(arg1);
updateRenameButton();
diff --git a/plugins/CopyEngine/Ultracopier/FolderExistsDialog.h b/plugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.h
index a3bcf67..8681ba6 100644..100755
--- a/plugins/CopyEngine/Ultracopier/FolderExistsDialog.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/FolderExistsDialog.h
@@ -7,10 +7,7 @@
#define FOLDERISSAMEDIALOG_H
#include <QDialog>
-#include <QFileInfo>
-#include <QString>
-#include <QDateTime>
-#include <QDir>
+#include <string>
#include "Environment.h"
@@ -18,6 +15,12 @@ namespace Ui {
class folderExistsDialog;
}
+#ifdef WIDESTRING
+#define INTERNALTYPEPATH std::wstring
+#else
+#define INTERNALTYPEPATH std::string
+#endif
+
/// \brief to show file exists dialog, and ask what do
class FolderExistsDialog : public QDialog
{
@@ -25,7 +28,7 @@ class FolderExistsDialog : public QDialog
public:
/// \brief create the object and pass all the informations to it
- explicit FolderExistsDialog(QWidget *parent,QFileInfo source,bool isSame,QFileInfo destination,std::string firstRenamingRule,std::string otherRenamingRule);
+ explicit FolderExistsDialog(QWidget *parent,INTERNALTYPEPATH source,bool isSame,INTERNALTYPEPATH destination,std::string firstRenamingRule,std::string otherRenamingRule);
~FolderExistsDialog();
/// \brief return the the always checkbox is checked
bool getAlways();
@@ -44,14 +47,14 @@ private slots:
void on_Merge_clicked();
void on_lineEditNewName_editingFinished();
void on_lineEditNewName_returnPressed();
- void on_lineEditNewName_textChanged(const std::string &arg1);
+ void on_lineEditNewName_textChanged(const QString &arg1);
private:
Ui::folderExistsDialog *ui;
FolderExistsAction action;
std::string oldName;
std::string firstRenamingRule;
std::string otherRenamingRule;
- QFileInfo destinationInfo;
+ std::string destinationInfo;
};
#endif // FOLDERISSAMEDIALOG_H
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.qm
new file mode 100755
index 0000000..a48b608
--- /dev/null
+++ 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
new file mode 100755
index 0000000..a94fa18
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ar/translation.ts
@@ -0,0 +1,1147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ar_JO">
+<context>
+ <name>CopyEngine</name>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
+ <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"/>
+ <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"/>
+ <source>Destination</source>
+ <translation>الوجهه</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="520"/>
+ <source>Use the actual destination &quot;%1&quot;?</source>
+ <translation>استخدام الوجهة الفعلية &quot;%1&quot; ؟</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="685"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation>تخطي</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="980"/>
+ <source>Merge</source>
+ <translation>دمج</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
+ <source>Rename</source>
+ <translation>اعاده تسميه</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="986"/>
+ <source>Put at the end</source>
+ <translation>وضع في نهاية</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="990"/>
+ <source>Overwrite</source>
+ <translation>الكتابة فوق</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="991"/>
+ <source>Overwrite if different</source>
+ <translation>الكتابة فوق إذا كان مختلفا</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="992"/>
+ <source>Overwrite if newer</source>
+ <translation>الكتابة فوق إذا كان أحدث</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="993"/>
+ <source>Overwrite if older</source>
+ <translation>الكتابة فوق إذا كان أقدم</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options error</source>
+ <translation>خطا في الخيارات</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation>لم يتم تحميل محرك الخيارات. غير قادر علي الوصول إلى الفلاتر</translation>
+ </message>
+</context>
+<context>
+ <name>CopyEngineFactory</name>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation>تخطي</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <source>Merge</source>
+ <translation>دمج</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <source>Rename</source>
+ <translation>اعاده تسميه</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <source>Put at the end</source>
+ <translation>وضع في نهاية</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <source>Overwrite</source>
+ <translation>الكتابة فوق</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <source>Overwrite if different</source>
+ <translation>الكتابة فوق إذا كان مختلفا</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <source>Overwrite if newer</source>
+ <translation>الكتابة فوق إذا كان أحدث</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <source>Overwrite if older</source>
+ <translation>الكتابة فوق إذا كان أقدم</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options error</source>
+ <translation>خطا في الخيارات</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation>لم يتم تحميل محرك الخيارات. غير قادر علي الوصول إلى الفلاتر</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options engine is not loaded, can&apos;t access to the filters</source>
+ <translation>لم يتم تحميل محرك الخيارات. غير قادر علي الوصول إلى الفلاتر</translation>
+ </message>
+</context>
+<context>
+ <name>DiskSpace</name>
+ <message>
+ <location filename="../../DiskSpace.ui" line="14"/>
+ <source>Disk space</source>
+ <translation>مساحة القرص</translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="24"/>
+ <source>You need more space on this drive to finish this transfer</source>
+ <translation>تحتاج مساحة أكبر على محرك الاقراص هذا لإنهاء هذا النقل</translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="49"/>
+ <source>Continue</source>
+ <translation>مواصله</translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="56"/>
+ <source>Cancel</source>
+ <translation>إلغاء الأمر</translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.cpp" line="23"/>
+ <source>Drives %1 have %2 available but need %3</source>
+ <translation>تتوفر %2 محركات الاقراص %1 ولكن تحتاج %3</translation>
+ </message>
+</context>
+<context>
+ <name>FileErrorDialog</name>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <source>Error on folder</source>
+ <translation>خطأ في المجلد</translation>
+ </message>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <source>Folder name</source>
+ <translation>اسم المجلد</translation>
+ </message>
+</context>
+<context>
+ <name>FileExistsDialog</name>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>% اسم%-نسخ% لاحقه%</translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>(% الاسم%-النسخ (% العدد%% اللاحق +ه%</translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Error</source>
+ <translation>الخطا</translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Try rename with using special characters</source>
+ <translation>حاول أعاده تسميه باستخدام أحرف خاصه</translation>
+ </message>
+</context>
+<context>
+ <name>FileIsSameDialog</name>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>% اسم%-نسخ% لاحقه%</translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>(% الاسم%-النسخ (% العدد%% اللاحق +ه%</translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Error</source>
+ <translation>الخطا</translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Try rename with using special characters</source>
+ <translation>حاول أعاده تسميه باستخدام أحرف خاصه</translation>
+ </message>
+</context>
+<context>
+ <name>FilterRules</name>
+ <message>
+ <location filename="../../FilterRules.ui" line="33"/>
+ <source>Search:</source>
+ <translation>بحث:</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="43"/>
+ <source>Search type:</source>
+ <translation>نوع البحث:</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="51"/>
+ <source>Raw text</source>
+ <translation>نص خام</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="56"/>
+ <source>Simplified regex</source>
+ <translation>Simplified regex</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="61"/>
+ <source>Perl&apos;s regex</source>
+ <translation>Perl&apos;s regex</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="69"/>
+ <source>Apply on:</source>
+ <translation>تنطبق على:</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="77"/>
+ <source>File</source>
+ <translation>ملف</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="82"/>
+ <source>Folder</source>
+ <translation>مجلد</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="87"/>
+ <source>File and folder</source>
+ <translation>ملف ومجلد</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="125"/>
+ <source>The test string matches with the regex</source>
+ <translation>سلسله اختبار يطابق مع regex</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="102"/>
+ <source>Checking</source>
+ <translation>التحقق</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="115"/>
+ <source>Test string:</source>
+ <translation>سلسله الاختبار:</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="17"/>
+ <source>Filters dialog</source>
+ <translation>حوار الفلاتر</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="95"/>
+ <source>Whole string must match</source>
+ <translation>يجب ان تتطابق السلسلة الكاملة</translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="108"/>
+ <source>The regex is valid</source>
+ <translation>regex صالحة</translation>
+ </message>
+</context>
+<context>
+ <name>Filters</name>
+ <message>
+ <location filename="../../Filters.ui" line="14"/>
+ <source>Filters</source>
+ <translation>فلاتر</translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="39"/>
+ <source>Exclusion filters</source>
+ <translation>فلاتر الاستبعاد</translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="111"/>
+ <source>Inclusion filters</source>
+ <translation>فلاتر مدرجة</translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="132"/>
+ <source>None = Include all</source>
+ <translation>بلا = تضمين الكل</translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
+ <source>Raw text</source>
+ <translation>نص خام</translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
+ <source>Simplified regex</source>
+ <translation>المبسطة regex</translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
+ <source>Perl&apos;s regex</source>
+ <translation>Perl&apos;s regex</translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
+ <source>Only on file</source>
+ <translation>فقط في الملف</translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
+ <source>Only on folder</source>
+ <translation>فقط في المجلد</translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
+ <source>Full match</source>
+ <translation>تطابق كامل</translation>
+ </message>
+</context>
+<context>
+ <name>FolderExistsDialog</name>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <source>Folder already exists</source>
+ <translation>المجلد موجود بالفعل</translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>% اسم%-نسخ% لاحقه%</translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>(% الاسم%-النسخ (% العدد%% اللاحق +ه%</translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Error</source>
+ <translation>الخطا</translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Try rename with using special characters</source>
+ <translation>حاول أعاده التسميه باستخدام أحرف خاصه</translation>
+ </message>
+</context>
+<context>
+ <name>ListThread</name>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
+ <source>Unable do to move or copy item into wrong forced mode: %1</source>
+ <translation>غير قادر علي القيام بنقل المادة أو نسخه إلى وضع إجباري غير صحيح: %1</translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
+ <source>Unable to save the transfer list: %1</source>
+ <translation>غير قادر على حفظ قائمه النقل: %1</translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
+ <source>Problem reading file, or file-size is 0</source>
+ <translation>مشكلة في قراءة الملف ، أو حجم الملف هو 0</translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
+ <source>Wrong header: &quot;%1&quot;</source>
+ <translation>العنوان الرأسي الخاطئ: &quot;%1&quot;</translation>
+ </message>
+ <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>قائمة النقل في الوضع المختلط ، ولكن هذا المثيل ليس في هذا الوضع</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>قائمه النقل في وضع النسخ ولكن هذا المثيل غير في هذا الوضع</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>قائمه النقل في وضع النقل ، ولكن هذا المثيل ليس في هذا الوضع</translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
+ <source>Some errors have been found during the line parsing</source>
+ <translation>عثر على بعض الأخطاء اثناء تحليل الخط</translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
+ <source>Unable to open the transfer list: %1</source>
+ <translation>غير قادر على فتح قائمه النقل: %1</translation>
+ </message>
+</context>
+<context>
+ <name>MkPath</name>
+ <message>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
+ <source>Unable to create the folder</source>
+ <translation>غير قادر على إنشاء المجلد</translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="227"/>
+ <source>The source folder don&apos;t exists</source>
+ <translation>مجلد المصدر غير موجود</translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="255"/>
+ <source>Unable to temporary rename the folder</source>
+ <translation>غير قادر على أعاده تسميه المجلد المؤقت</translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="278"/>
+ <source>Unable to do the final real move the folder</source>
+ <translation>غير قادر على القيام بالخطوة الحقيقية النهائية المجلد</translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="309"/>
+ <source>Unable to move the folder</source>
+ <translation>غير قادر على نقل المجلد</translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
+ <source>Unable to remove</source>
+ <translation>غير قادر على أزاله</translation>
+ </message>
+</context>
+<context>
+ <name>ReadThread</name>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
+ <source>Internal error, please report it!</source>
+ <translation>خطا داخلي ، يرجى الإبلاغ عن ذلك!</translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
+ <source>Unable to read the source file: </source>
+ <translation>غير قادر على قراءه الملف المصدر:</translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
+ <source>File truncated during the read, possible data change</source>
+ <translation>تم اقتطاع الملف اثناء القراءة ، وتغيير البيانات المحتملة</translation>
+ </message>
+</context>
+<context>
+ <name>RenamingRules</name>
+ <message>
+ <location filename="../../RenamingRules.ui" line="35"/>
+ <source>First renaming</source>
+ <translation>أعاده التسمية الاولي</translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="41"/>
+ <source>%name% - copy%suffix%</source>
+ <extracomment>%name% should not be translated</extracomment>
+ <translation>% اسم%-نسخ% لاحقه%</translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="57"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation>% الاسم%-النسخ (% العدد%% اللاحق +ه%)</translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="67"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation>&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;لاحقه الملف&lt;/span&gt;%لاحقه%&lt;span style=&quot; font-weight:600;&quot;&gt;للعدد الإضافي ،&lt;/span&gt;%عدد%&lt;span style=&quot; font-weight:600;&quot;&gt;لاسم الملف الأصلي ،&lt;/span&gt;%اسم%&lt;span style=&quot; font-weight:600;&quot;&gt;المتغيرات: &lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="51"/>
+ <source>Second renaming</source>
+ <translation>أعاده تسميه ثانيه</translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation>أعاده تسميه القواعد</translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation>%1 - نسخ (%2)</translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation>%1-نسخ (%2) %3</translation>
+ </message>
+</context>
+<context>
+ <name>ScanFileOrFolder</name>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
+ <source>%1 - copy</source>
+ <translation>%1-نسخ</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
+ <source>%1 - copy (%2)</source>
+ <translation>%1 - نسخ (%2)</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
+ <source>%name% - copy</source>
+ <translation>%اسم% - نسخ</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
+ <source>%name% - copy (%number%)</source>
+ <translation>% الاسم%-النسخة (% العدد%)</translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation>مشكله في قراءه المجلد</translation>
+ </message>
+</context>
+<context>
+ <name>TransferThread</name>
+ <message>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>% اسم%-نسخ% لاحقه%</translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>(% الاسم%-النسخ (% العدد%% اللاحق +ه%</translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation>الملف غير موجود</translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
+ <translation>غير قادر على تغيير التاريخ</translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
+ <translation>حاول أعاده تسميه باستخدام أحرف خاصه</translation>
+ </message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
+ <message>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished">errno: %1 غير قادر علي إنشاء المجلد الوجهة</translation>
+ </message>
+</context>
+<context>
+ <name>WriteThread</name>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation>errno: %1 غير قادر علي إنشاء المجلد الوجهة</translation>
+ </message>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation>خطا داخلي ، يرجى الإبلاغ عن ذلك!</translation>
+ </message>
+</context>
+<context>
+ <name>copyEngineOptions</name>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="44"/>
+ <source>Transfer</source>
+ <translation>نقل</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
+ <source>Move the whole folder</source>
+ <translation>نقل المجلد بأكمله</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
+ <translation>نقل حقوق الملف</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
+ <translation>الاحتفاظ بتاريخ الملف</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation>إنشاء مسار كامل إذا لم يكن موجودا</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation>اختباري </translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation>البدء التلقائي</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
+ <source>Error and collision</source>
+ <translation>الخطا والاصطدام</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
+ <source>When folder error</source>
+ <translation>عند خطا في المجلد</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
+ <source>When file error</source>
+ <translation>عند خطا في الملف</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
+ <source>When file collision</source>
+ <translation>عندما تتضارب الملفات</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished">الكتابة فوق إذا اختلف تاريخ التعديل</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
+ <translation>عندما يتضارب المجلد</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
+ <translation>تحقق مما إذا كان مجلد الوجهة موجودا</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
+ <translation>أعاده تسميه القواعد</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
+ <translation>حذف الملفات المنقولة جزئيا</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
+ <translation>أعاده تسميه الوجهة الاصليه</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
+ <source>Performance</source>
+ <translation>الاداء</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation>Inode threads</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
+ <source>Misc</source>
+ <translation>متفرقات</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
+ <source>Check the disk space</source>
+ <translation>تحقق من مساحة القرص</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
+ <source>Use this folder when destination is not set</source>
+ <translation>استخدم هذا المجلد عندما لا يتم تعيين الوجهة</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
+ <source>Browse</source>
+ <translation>استعراض </translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
+ <source>Filters</source>
+ <translation>فلاتر</translation>
+ </message>
+</context>
+<context>
+ <name>fileErrorDialog</name>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="14"/>
+ <source>Error with file</source>
+ <translation>خطا في الملف</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="20"/>
+ <source>Error</source>
+ <translation>الخطا</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="59"/>
+ <source>Size</source>
+ <translation>حجم</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="76"/>
+ <source>Modified</source>
+ <translation>معدل</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="93"/>
+ <source>File name</source>
+ <translation>اسم الملف</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="110"/>
+ <source>Destination</source>
+ <translation>الوجهه</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="127"/>
+ <source>Folder</source>
+ <translation>مجلد</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="173"/>
+ <source>&amp;Always perform this action</source>
+ <translation>&amp; تنفيذ هذا الاجراء دوما</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="193"/>
+ <source>Try in with elevated privileges</source>
+ <translation>جرب مع الامتيازات المرتفعة</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="200"/>
+ <source>Put to bottom</source>
+ <translation>وضع إلى أسفل</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="207"/>
+ <source>Retry</source>
+ <translation>اعاده المحاوله</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="214"/>
+ <source>&amp;Skip</source>
+ <translation>&amp;تخطي</translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="221"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;الغاء الامر</translation>
+ </message>
+</context>
+<context>
+ <name>fileExistsDialog</name>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="14"/>
+ <source>The file exists</source>
+ <translation>الملف موجود</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation>المصدر</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation>الوجهه</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="82"/>
+ <location filename="../../fileExistsDialog.ui" line="170"/>
+ <source>Size</source>
+ <translation>حجم</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="99"/>
+ <location filename="../../fileExistsDialog.ui" line="187"/>
+ <source>Modified</source>
+ <translation>معدل</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="116"/>
+ <location filename="../../fileExistsDialog.ui" line="204"/>
+ <source>File name</source>
+ <translation>اسم الملف</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="133"/>
+ <location filename="../../fileExistsDialog.ui" line="221"/>
+ <source>Folder</source>
+ <translation>مجلد</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="277"/>
+ <source>Suggest new &amp;name</source>
+ <translation>اقتراح &amp;اسم جديد</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="288"/>
+ <source>&amp;Always perform this action</source>
+ <translation>&amp; تنفيذ هذا الاجراء دوما</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="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="308"/>
+ <source>&amp;Rename</source>
+ <translation>&amp;اعاده تسميه</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="315"/>
+ <source>&amp;Overwrite</source>
+ <translation>&amp;الكتابة فوق</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="325"/>
+ <source>&amp;Skip</source>
+ <translation>&amp;تخطي</translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="332"/>
+ <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>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="40"/>
+ <source>Size</source>
+ <translation>حجم</translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="110"/>
+ <source>Modified</source>
+ <translation>معدل</translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="70"/>
+ <source>File name</source>
+ <translation>اسم الملف</translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="14"/>
+ <source>The source and destination are same</source>
+ <translation>المصدر والوجهة متشابهان</translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="90"/>
+ <source>Folder</source>
+ <translation>مجلد</translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="159"/>
+ <source>Suggest new &amp;name</source>
+ <translation>اقتراح &amp;اسم جديد</translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="170"/>
+ <source>&amp;Always perform this action</source>
+ <translation>&amp; تنفيذ هذا الاجراء دوما</translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="190"/>
+ <source>&amp;Rename</source>
+ <translation>&amp;اعاده تسميه</translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="197"/>
+ <source>&amp;Skip</source>
+ <translation>&amp;تخطي</translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="204"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;الغاء الامر</translation>
+ </message>
+</context>
+<context>
+ <name>folderExistsDialog</name>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation>المصدر</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation>الوجهه</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="14"/>
+ <source>The source and destination is identical</source>
+ <translation>المصدر والوجهة متطابقان</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="82"/>
+ <location filename="../../folderExistsDialog.ui" line="150"/>
+ <source>Modified</source>
+ <translation>معدل</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="99"/>
+ <location filename="../../folderExistsDialog.ui" line="160"/>
+ <source>Folder name</source>
+ <translation>اسم المجلد</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="116"/>
+ <location filename="../../folderExistsDialog.ui" line="184"/>
+ <source>Folder</source>
+ <translation>مجلد</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="227"/>
+ <source>Suggest new &amp;name</source>
+ <translation>اقتراح &amp;اسم جديد</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="238"/>
+ <source>&amp;Always perform this action</source>
+ <translation>&amp; تنفيذ هذا الاجراء دوما</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="245"/>
+ <source>&amp;Rename</source>
+ <translation>&amp;اعاده تسميه</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="252"/>
+ <source>Merge</source>
+ <translation>دمج</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="259"/>
+ <source>Skip</source>
+ <translation>تخطي</translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="266"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;الغاء الامر</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.qm
new file mode 100755
index 0000000..10475cf
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/de/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.ts
index fb6408e..dc9f497 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/de/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/de/translation.ts
@@ -2,144 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1" language="de" sourcelanguage="en">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation>Auf dieser Plattform nicht unterstützt</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation>Datum der letzten Änderung ist falsch</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translatorcomment> </translatorcomment>
- <translation>Datum des letzten Zugriffs ist falsch</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation>Unbekannter Fehler: %1</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation>Unbekannter Fehler</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation>Pfad Konvertierungsfehler</translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation>Ziel</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation>Aktuelles Ziel: &quot;%1&quot; benutzen?</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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>
+ <translation>Der Modus wurde vorher erzwungen. Interner Fehler - Bitte bei mir melden</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation>Fragen</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation>Überspringen</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation>Fusionieren</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation>Umbenennen</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation>Ans Ende verschieben</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation>Überschreiben</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation>Überschreiben, falls verschieden</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation>Überschreiben, falls neuer</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation>Überschreiben, falls älter</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation>Automatisch</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation>Sequentiell</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation>Parallel</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation>Fehlerhafte Optionen</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation>Optionen nicht geladen - Kein Zugriff auf Filter</translation>
</message>
@@ -147,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation>Fragen</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation>Überspringen</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation>Fusionieren</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation>Umbenennen</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation>Ans Ende verschieben</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation>Überschreiben</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation>Überschreiben, falls verschieden</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation>Überschreiben, falls neuer</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation>Überschreiben, falls älter</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation>Automatisch</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation>Sequentiell</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation>Parallel</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation>Fehlerhafte Optionen</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<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="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<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>
@@ -261,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation>Ordnerfehler</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation>Ordnername</translation>
</message>
@@ -274,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">%name% - Kopie%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">%name% - Kopie% (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation>Versuche Umbenennung mit Sonderzeichen</translation>
</message>
@@ -297,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - Kopie</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished">%name% - Kopie%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - Kopie (%number%)</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished">%name% - Kopie% (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation>Versuche Umbenennung mit Sonderzeichen</translation>
</message>
@@ -403,55 +342,55 @@
<translation>Filter</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation>Ausschließungs-Filter</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation>Einschließungs-Filter</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation>Keiner = Alle einschließen</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation>Roh-Text</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation>Vereinfachte RegEx</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation>Perls RegEx</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation>Nur auf Datei</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation>Nur auf Ordner</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation>Volle Übereinstimmung</translation>
</message>
@@ -459,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation>Ordner existiert bereits</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - Kopie</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished">%name% - Kopie%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - Kopie (%number%)</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished">%name% - Kopie% (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation>Versuche Umbenennung mit Sonderzeichen</translation>
</message>
@@ -487,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation>Falscher Modus: %1 - Kann Element nicht verschieben oder kopieren</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation>Konnte die Transferliste: %1 nicht speichern</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation>Lesefehler, oder Dateigröße=0</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation>Falscher Header: &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <location filename="../../ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation>Die Transferliste ist im gemischten Modus, aber diese Instanz ist nicht im selben Modus</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <location filename="../../ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation>Die Transferliste ist im Kopiermodus, aber diese Instanz ist nicht im selben Modus</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <location filename="../../ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation>Die Transferliste ist im Verschiebe-Modus, aber diese Instanz ist nicht im selben Modus</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation>Bei der Zeilenanalyse sind Fehler aufgetreten</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation>Transferliste: %1 kann nicht geöffnet werden</translation>
</message>
@@ -537,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation>Der Ordner kann nicht erstellt werden</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation>Quell-Ordner existiert nicht</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation>Kann den Ordner nicht temporär umbenennen</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<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="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation>Kann den Ordner nicht verschieben</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation>Kann nicht löschen</translation>
</message>
@@ -571,26 +516,19 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
- <translation>Interner Fehler - Bitte bei mir melden!</translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation>Interner Fehler beim Lesen der Quelldatei: Blockgröße außerhalb des zulässigen Bereichs</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
- <translation>Die Quelldatei kann nicht gelesen werden: </translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
- <translation>Datei während des Lesevorgangs abgeschnitten, Daten wurden möglicherweise verändert</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -604,19 +542,19 @@
<location filename="../../RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>%name% - Kopie%suffix%</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>%name% - Kopie% (%number%)%suffix%</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; für den originalen Dateinamen, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; für die extra Nummer, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; Datei suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="51"/>
@@ -624,194 +562,129 @@
<translation>Zweite Umbenennung</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation>%1 - Kopie</translation>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation>Umbennungsregeln</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation>%1 - Kopie (%2)</translation>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation>%1 - Kopie%2</translation>
</message>
<message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation>Umbennungsregeln</translation>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation>%1 - Kopie (%2) {1 ?} {2)%3?}</translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation>Ordner der schwarzen Liste</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation>%1 - Kopie</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation>%1 - Kopie (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
- <translation type="unfinished">%name% - Kopie</translation>
+ <translation>%name% - Kopie</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - Kopie (%number%)</translation>
+ <translation>%name% - Kopie (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation>Dies ist kein Ordner</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation>Ordner existiert bereits</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation>Der Ordner kann nicht gelesen werden</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation>Problem mit der Namen-Encodierung</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation>Problem beim Lesen des Ordners</translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation>Datei nicht gefunden</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished">Interner Fehler: Bereits geöffnet</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished">Laufwerk %1</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished">Unbekannter Ordner</translation>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished">%name% - Kopie%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished">Stammverzeichnis</translation>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished">%name% - Kopie% (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished">Quelle existiert nicht</translation>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation>Datei nicht gefunden</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
<source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished">Quelldatei existiert nicht</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished">Prüfsummen sind verschieden</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished">Interner Fehler: Ubertragene Größe ungleich</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished">Ordner kann nicht erstellt werden</translation>
+ <translation>Kann Datum nicht ändern</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
+ <location filename="../../TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation>Versuche Umbenennung mit Sonderzeichen</translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - Kopie</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - Kopie (%number%)</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished">Andere Datei befindet sich am selben Ort</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished">Interner Fehler: Ziel ist nicht geschlossen</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
+ <translation type="unfinished">Zielordner konnte nicht erstellt werden: </translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished">Interner Fehler: Puffer ist nicht leer</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished">Zielordner konnte nicht erstellt werden, Fehler Nummer: %1</translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
- <translation>Pfad-Auflösungsfehler (leerer Pfad)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation>Interner Fehler - Bitte bei mir melden!</translation>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
+ <translation type="unfinished">Zielordner konnte nicht erstellt werden: </translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation>Quelldatei kann nicht gelesen werden: </translation>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <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="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation>Datenabbruch beim Lesen, Daten wurden möglicherweise verändert</translation>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -822,193 +695,163 @@
<translation>Übertragung</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation>Verschiebe den ganzen Ordner</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation>Übertrage die Dateirechte</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation>Datum der Dateien beibehalten</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation>Übertragung automatisch starten</translation>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation>Vollen Pfad erstellen, wenn nicht vorhanden</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation>Leistung drosseln</translation>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation>Genau nach Reihenfolge</translation>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation>Fehler und Kollision</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
- <translation>Bei Ordnerfehlern:</translation>
+ <translation>Bei Ordnerfehler</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
- <translation>Bei Dateifehlern:</translation>
+ <translation>Bei Dateifehler</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
- <translation>Bei Dateikollisionen:</translation>
+ <translation>Bei Dateikollision</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished">Überschreiben, falls Änderungsdatum verschieden</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
<source>When folder collision</source>
- <translation>Bei Ordnerkollisionen:</translation>
+ <translation>Bei Ordnerkollision</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
<source>Check if destination folder exists</source>
<translation>Prüfen ob Zielordner vorhanden ist</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
<source>Renaming rules</source>
<translation>Umbennungsregeln</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
<source>Delete partially transferred files</source>
<translation>Unvollständig übertragene Dateien löschen</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
<source>Rename the original destination</source>
<translation>Original-Ziel umbenennen</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation>Überprüfung</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation>Prüfsumme</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation>Nur nach einem Fehler</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation>Ignorieren falls unmöglich</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation>Prüfsummen vergleichen</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation>Leistung</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation>Paralleler Puffer</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation>Blockgröße</translation>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation>Sequentieller Puffer</translation>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation>OS-Puffer aktivieren</translation>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation>OS-Puffer nur verwenden, wenn kleiner als</translation>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation>Übertragungs-Algorithmus</translation>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation>Parallelisieren wenn kleiner als</translation>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation>Verschiedenes</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation>Auf freien Speicherplatz überprüfen</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
+ <translation>Diesen Ordner benutzen, wenn kein Ziel definiert wurde</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation>Wählen</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation>Filter</translation>
</message>
@@ -1139,6 +982,18 @@
<translation>Überschreiben, falls Änderungsdatum verschieden</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation>Umbenennen (&amp;R)</translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/id/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.ts
index e17b3f2..ef5da14 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/id/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/el/translation.ts
@@ -2,143 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -146,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
+ <source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -260,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -273,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -296,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -402,55 +342,55 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -458,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -486,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <location filename="../../ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <location filename="../../ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <location filename="../../ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -536,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -570,24 +516,17 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -623,193 +562,128 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -821,193 +695,163 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -1138,6 +982,18 @@
<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>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.qm
new file mode 100755
index 0000000..d925dd6
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/en/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.ts
index 223e40a..4a444fe 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/en/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/en/translation.ts
@@ -2,143 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1" language="en">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -146,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
+ <source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -260,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -273,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -296,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -402,55 +342,55 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -458,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -486,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <location filename="../../ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <location filename="../../ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <location filename="../../ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -536,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -570,24 +516,17 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -628,188 +567,123 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -821,193 +695,163 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -1138,6 +982,18 @@
<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>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.qm
new file mode 100755
index 0000000..feaf1fc
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/es/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.ts
index d69e5eb..aad6412 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/es/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/es/translation.ts
@@ -2,143 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1" language="es" sourcelanguage="en">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation>No es compatible con esta plataforma</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation>Fecha de última modificación es incorrecto</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation>Fecha de último acceso es incorrecto</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation>Error desconocido: %1</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation>Error desconocido</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation>Error de conversión de Sendero</translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation>Destino</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<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="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation>Pedir</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation>Omitir</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation>Unir</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation>Cambiar el nombre</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation>Ponga al final</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation>Sobrescribir</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation>Sobrescribir si es diferente</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation>Sobrescribir si nuevo</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation>Sobrescribir si es mayor</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation>Automático</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation>Secuencial</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation>Paralelo</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation>error Opciones</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<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>
@@ -146,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation>Pedir</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation>Omitir</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation>Unir</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation>Cambiar el nombre</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation>Ponga al final</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation>Sobrescribir</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation>Sobrescribir si es diferente</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation>Sobrescribir si nuevo</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation>Sobrescribir si es mayor</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation>Automático</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation>Secuencial</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation>Paralelo</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation>error Opciones</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<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="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<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>
@@ -260,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation>Error en la carpeta</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation>Nombre de la carpeta</translation>
</message>
@@ -273,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
+ <translation>%name% - copia%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
+ <translation>%name% - copia (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation>Trate de cambiar el nombre con el uso de caracteres especiales</translation>
</message>
@@ -296,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - copia</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>%name% - copia%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - copia (%number%)</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>%name% - copia (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation>Trate de cambiar el nombre con el uso de caracteres especiales</translation>
</message>
@@ -402,55 +342,55 @@
<translation>Filtros</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation>Filtros de exclusión</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation>Filtros de inclusión</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation>Ninguno = Incluya todos los</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation>texto Fuente</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation>Simplificado regex</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation>Perl&apos;s regex</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation>Sólo en el archivo</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation>Sólo en la carpeta</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation>Partido completo</translation>
</message>
@@ -458,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation>Carpeta ya existe</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - copia</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>%name% - copia%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - copia (%number%)</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>%name% - copia (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation>Trate de cambiar el nombre con el uso de caracteres especiales</translation>
</message>
@@ -486,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation>No se puede hacer para mover o copiar elemento en modo incorrecto obligado: %1</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation>No se puede guardar la lista de transferencias: %1</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation>Problema al leer el archivo o archivos de tamaño es 0</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation>Encabezado incorrecto: &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <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 de transferencia está en modo mixto, pero este caso no es de este modo</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <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 de transferencia está en el modo de copia, pero esta instancia no está en este modo</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <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 de transferencia es el modo de desplazamiento, pero esta instancia no está en este modo</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation>Algunos errores han sido encontrados durante el análisis de línea</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation>No se puede abrir la lista de transferencias: %1</translation>
</message>
@@ -536,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation>No se puede crear la carpeta</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation>La carpeta de origen no existe</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<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="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<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="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation>No se puede mover la carpeta</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation>No se puede eliminar</translation>
</message>
@@ -570,26 +516,19 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
- <translation>Error interno, por favor informe de ello!</translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation>Error interno de leer el archivo de origen: tamaño de bloque fuera de rango</translation>
+ <translation>¡Error interno, por favor repórtelo!</translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
- <translation>No se puede leer el archivo de origen: </translation>
+ <translation>No se puede leer el archivo fuente: </translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
- <translation>Archivo truncada durante el cambio de lectura, los datos posibles</translation>
+ <translation>Archivo truncado durante la lectura, posible cambio de datos</translation>
</message>
</context>
<context>
@@ -603,19 +542,19 @@
<location filename="../../RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>%name% - copia%suffix%</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>%name% - copia (%number%)%suffix%</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; para el nombre del archivo original, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; para el número extra, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; sufijo de archivo&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="51"/>
@@ -623,194 +562,129 @@
<translation>En segundo lugar el cambio de nombre</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation>%1 - copia</translation>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation>Reglas de Cambio de nombre</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation>%1 - copia (%2)</translation>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation>%1 - copia%2</translation>
</message>
<message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation>Reglas de Cambio de nombre</translation>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation>%1 - copia (%2)%3</translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation>Carpeta de la lista negra</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation>%1 - copia</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation>%1 - copia (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
- <translation type="unfinished">%name% - copia</translation>
+ <translation>%name% - copia</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - copia (%number%)</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation>Esto no es una carpeta</translation>
+ <translation>%name% - copia (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation>La carpeta no existe</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation>La carpeta no se puede leer</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation>Problema con codificación de nombres</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation>Problema con la carpeta leída</translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation>Archivo no encontrado</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished">Error interno: Ya la apertura</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished">Drive %1</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished">Desconocido carpeta</translation>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>%name% - copia%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished">raíz</translation>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>%name% - copia (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished">La fuente no existe</translation>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation>Archivo no encontrado</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
<source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished">El archivo de origen no existe</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished">Las sumas de comprobación no coinciden</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished">Error interno: El tamaño transferido no coincide</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished">Incapaz de hacer la carpeta</translation>
+ <translation>No se puede cambiar la fecha</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
+ <location filename="../../TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation>Trate de cambiar el nombre con el uso de caracteres especiales</translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - copia</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - copia (%number%)</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished">Otro archivo existe en el mismo lugar</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished">Error interno: El destino no está cerrado</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
+ <translation>No se puede crear la carpeta de destino: </translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished">Error interno: El buffer no está vacío</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation>No se puede crear la carpeta de destino, errno: %1</translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
- <translation>Error de resolución de ruta (camino vacío)</translation>
+ <translation>Error de resolución de ruta (ruta vacía)</translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation>Error interno, por favor informe de ello!</translation>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
+ <translation>No se puede crear la carpeta de destino: </translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation>No se puede leer el archivo de origen: </translation>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <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="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation>Archivo truncado durante lectura, posible cambio de datos</translation>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation>¡Error interno, por favor repórtelo!</translation>
</message>
</context>
<context>
@@ -821,193 +695,163 @@
<translation>Transferencia</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation>Mueva la carpeta completa</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation>Transferencia de los derechos de archivo</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation>Mantener la fecha de archivo</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation>Inicio automático de la transferencia</translation>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation>Crear ruta completa si no existe</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation>Si comprueba Menos rendimiento</translation>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation>Suma de comprobación</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation>Siga el orden estricto</translation>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation>Inicio automático</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation>Error y de la colisión</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation>Cuando el error carpeta</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation>Cuando archivo error</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation>Cuando archivo colisión</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation>Sobrescribir si no es del mismo tamaño</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation>Sobrescribir si la fecha de modificación difiere</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
<source>When folder collision</source>
<translation>Cuando la colisión carpeta</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
<source>Check if destination folder exists</source>
<translation>Compruebe si existe la carpeta de destino</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
<source>Renaming rules</source>
<translation>Reglas de Cambio de nombre</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
<source>Delete partially transferred files</source>
<translation>Eliminar archivos parcialmente transferidos</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
<source>Rename the original destination</source>
<translation>Cambie el nombre del destino original</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation>Controlar</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation>Suma de comprobación</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation>Sólo después de un error</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation>No haga caso si no es posible</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation>Verifique checksums</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation>Rendimiento</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation>Búfer paralelo</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation>Tamaño del bloque</translation>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation>Inode threads</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation>Tampón secuencial</translation>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation>Habilitar el OS de amortiguación</translation>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation>Desmarca esto en Windows crear problema</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation>OS de amortiguación sólo si menor que</translation>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation>Algoritmo de transferencia</translation>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation>Paralelice si más pequeño que</translation>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation>Misc</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation>Compruebe el espacio en disco</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
+ <translation>Use esta carpeta cuando el destino no esté configurado</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation>Busque</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation>Filtros</translation>
</message>
@@ -1138,6 +982,18 @@
<translation>Sobrescribir si la fecha de modificación difiere</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation>Sobrescribir si no es del mismo tamaño</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>Sobrescribir si no es del mismo tamaño y fecha</translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation>&amp;Cambiar el nombre</translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.qm
new file mode 100755
index 0000000..c538b95
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/fr/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.ts
index 1eeef1b..6bec60f 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/fr/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/fr/translation.ts
@@ -2,143 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1" language="fr" sourcelanguage="en">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation>Non supporté sur cette plateforme</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation>Date de dernière modification du fichier incorrecte</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation>Date du dernier accès au fichier incorrecte</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation>Erreur inconnue: %1</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation>Erreur inconnue</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation>Erreur de conversion de chemain</translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation>Destination</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<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="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation>Demander</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation>Passer</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation>Fusionner</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation>Renommer</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation>Mettre à la fin</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation>Écraser</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation>Écraser si différent</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation>Écraser si plus récent</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation>Écraser si plus vieux</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation>Automatique</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation>Séquentiel</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation>Parallèle</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation>Erreur d&apos;options</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<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>
@@ -146,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation>Demander</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation>Passer</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation>Fusionner</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation>Renommer</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation>Mettre à la fin</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation>Écraser</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation>Écraser si différent</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation>Écraser si plus récent</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation>Écraser si plus vieux</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation>Automatique</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation>Séquentiel</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation>Parallèle</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation>Erreur d&apos;options</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<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="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<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>
@@ -260,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation>Erreur sur un dossier</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation>Nom de répertoire</translation>
</message>
@@ -273,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
+ <translation>%name% - copie%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
+ <translation>%name% - copie (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation>Essaie de renommage avec caratéres interdits</translation>
</message>
@@ -296,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - copie</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>%name% - copie%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - copie (%number%)</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>%name% - copie (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation>Essaie de renommage avec caratéres interdits</translation>
</message>
@@ -402,55 +342,55 @@
<translation>Filtres</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation>Filtres d&apos;exclusion</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation>Filtres d&apos;inclusion</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation>Aucun = tout inclure</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation>Texte brute</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation>Regex simplifié</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation>Regex perl</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation>Appliquer sur fichier</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation>Appliquer sur dossier</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation>Correspondance totale</translation>
</message>
@@ -458,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation>Dossier déjà existant</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - copie</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>%name% - copie%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - copie (%number%)</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>%name% - copie (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation>Essaie de renommage avec caratéres interdits</translation>
</message>
@@ -486,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation>Impossible de faire un déplacement ou une copie dans le mauvais mode forcé: %1</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation>Impossible de sauvegarder la liste de transfert: %1</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation>Problem durant la lecture, ou taille de fichier est 0</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation>Mauvais en-tête: &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <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 liste de transfert est en mode mixte, mais l&apos;instance n&apos;est pas dans ce mode</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <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 liste de transfert est en mode copie, mais l&apos;instance n&apos;est pas dans ce mode</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <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 liste de transfert est en mode déplacement, mais l&apos;instance n&apos;est pas dans ce mode</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation>Certaine erreur ont été trouvé durant l&apos;analise de la line</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation>Impossible d&apos;ouvrir la list de transfert: %1</translation>
</message>
@@ -536,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation>Impossible de créer le répertoire</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation>Le dossier source n&apos;éxiste pas</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation>Impossible de renommer le dossier</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<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="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation>Impossible de déplacer le dossier</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation>Impossible de supprimer</translation>
</message>
@@ -570,27 +516,19 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
- <translation>Erreur interne, merci de la reporter!</translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation>Erreur interne lisant le fichier source: taille de block hors de la plage</translation>
+ <translation>Erreur interne, veuillez la signaler!</translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation>Impossible de lire le fichier source: </translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
- <translatorcomment>La taille du fichier a diminué durant -&gt; changé le texte original</translatorcomment>
- <translation>Fichier a diminué durant la lecture, possible changement de données</translation>
+ <translation>Fichier tronqué lors de la lecture, modification possible des données</translation>
</message>
</context>
<context>
@@ -604,19 +542,19 @@
<location filename="../../RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>%name% - copie%suffix%</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>%name% - copie (%number%)%suffix%</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; pour le nom original, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; pour le numero extra, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="51"/>
@@ -624,194 +562,129 @@
<translation>Second renommage</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation>%1 - copie</translation>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation>Règles de renommage</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation>%1 - copie (%2)</translation>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation>%1 - copie%2</translation>
</message>
<message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation>Règles de renommage</translation>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation>%1 - copie (%2) {1 ?} {2)%3?}</translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation>Dossier banis</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation>%1 - copie</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation>%1 - copie (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
- <translation type="unfinished">%name% - copie</translation>
+ <translation>%name% - copie</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - copie (%number%)</translation>
+ <translation>%name% - copie (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation>N&apos;est pas un dossier</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation>Le répertoire n&apos;existe pas</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation>Le répertoire n&apos;est pas lisible</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation>Problém d&apos;encodage</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation>Probléme avec la lecture du dossier</translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation>Fichier non trouvé</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation>Lecteur %1</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation>Dossier inconnu</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation>racine</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation>La source n&apos;existe pas</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation>Le fichier source n&apos;existe pas</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation>Les sommes de controle ne correspondent pas</translation>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>%name% - copie%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation>Erreur interne: La taille transféré ne corresponds pas</translation>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>%name% - copie (%number%)%suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation>Impossible de créer le dossier</translation>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation>Fichier non trouvé</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
+ <location filename="../../TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation>Essaie de renommage avec caratéres interdits</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation>Erreur interne: Déjà ouvert</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - copie</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - copie (%number%)</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation>Un autre fichier exists à la même place</translation>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
+ <translation>Impossible de changer la date</translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation>Erreur interne: La destination n&apos;est pas fermé</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation>Erreur interne: Le buffer n&apos;est pas vide</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
+ <translation>Impossible de créer le dossier de destination: </translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation>Impossible de changer la date</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation>Impossible de créer le dossier de destination, errno: %1</translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
- <translation>Erreur de résolution de chemain (chemain vide)</translation>
+ <translation>Erreur de résolution de chemin (chemin vide)</translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation>Erreur interne, merci de la reporter!</translation>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
+ <translation>Impossible de créer le dossier de destination: </translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation>Impossible de lire le fichier source: </translation>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <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="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation>Fichier rétréci pendant la lecture, possible changement de données</translation>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation>Erreur interne, veuillez la signaler!</translation>
</message>
</context>
<context>
@@ -822,193 +695,163 @@
<translation>Transfert</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation>Déplacer le dossier complet</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation>Transférer les droits des fichiers</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation>Garder la date du fichier</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation>Démarrer automatiquement le transfert</translation>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation>Créer le dossier complet si il n&apos;existe pas</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation>Moins de performance si coché</translation>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation>Somme de contrôle</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation>Suivre l&apos;ordre strict</translation>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation>Démarrage automatique</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation>Erreur et collision</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation>En cas d&apos;erreur de répertoire</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation>En cas d&apos;erreur de fichier</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation>En cas de collision de fichier</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation>Écraser si pas la même taille</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation>Écraser si les dates différes</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
<source>When folder collision</source>
<translation>Lors d&apos;une collision de dossier</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
<source>Check if destination folder exists</source>
<translation>Vérifier si le répertoire de destination existe</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
<source>Renaming rules</source>
<translation>Règles de renommage</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
<source>Delete partially transferred files</source>
<translation>Supprimer les transferts partiels</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
<source>Rename the original destination</source>
<translation>Renommer la destination originale</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation>Controle</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation>Somme de contrôle</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation>Seulement après erreur</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation>Ignorer si impossible</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation>Vérifier les sommes de contrôles</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation>Performance</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation>Buffer paralléle</translation>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation>Threads d&apos;inodes</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation>Ko</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation>Taille de bloc</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation>Buffer séquentiel</translation>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation>Activer le tampon de l&apos;OS</translation>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation>Décochez ceci sous Windows créer un problème</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation>Tampon de l&apos;OS seulement si plus petit que</translation>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation>Algorithme de transfert</translation>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation>Parallèlise si plus petit que</translation>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
- <translation>Inode threads (non sécurisé&gt; 1)</translation>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
- <translation>Plus de cpu mais meilleur organisation sur le disque</translation>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
- <translation>Ordonner la liste</translation>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation>Divers</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation>Vérifier l&apos;espace disque</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation>Utiliser ce dossier quand la destination n&apos;est pas défini</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation>Parcourir</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation>Filtres</translation>
</message>
@@ -1139,6 +982,18 @@
<translation>Écraser si les dates différes</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation>Écraser si pas la même taille</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>Remplacer si ce n&apos;est pas la même taille et la même date</translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation>&amp;Renommer</translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/el/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.ts
index e17b3f2..ef5da14 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/el/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/hi/translation.ts
@@ -2,143 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -146,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
+ <source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -260,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -273,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -296,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -402,55 +342,55 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -458,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -486,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <location filename="../../ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <location filename="../../ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <location filename="../../ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -536,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -570,24 +516,17 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -623,193 +562,128 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -821,193 +695,163 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -1138,6 +982,18 @@
<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>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.qm
new file mode 100755
index 0000000..6b6a991
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/hu/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.ts
index ca0151e..b7dde65 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/hu/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/hu/translation.ts
@@ -2,143 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1" language="hu">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation>Nem támogatott ezen a platformon</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation>A módosítás utolsó dátuma hibás</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation>A hozzáférés utolsó dátuma hibása</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation>Ismeretlen hiba: %1</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation>Útvonal konvertálási hiba</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation>Ismeretlen hiba</translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation>Cél</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<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="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation>Kérdezzen rá</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation>Kihagy</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation>Összeolvaszt</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation>Nevezze át</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation>Helyezze a végére</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation>Felülír</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation>Felülír, ha különbözik</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation>Felülír, ha újabb</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation>Felülír, ha régebbi</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation>Automatikus</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation>Szekvenciális</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation>Párhuzamos</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation>Beállítási hiba</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<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>
@@ -146,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation>Kérdezzen rá</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation>Kihagy</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation>Összeolvaszt</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation>Nevezze át</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation>Helyezze a végére</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation>Felülír</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation>Felülír, ha különbözik</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation>Felülír, ha újabb</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation>Felülír, ha régebbi</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation>Automatikus</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation>Szekvenciális</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation>Párhuzamos</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation>Beállítási hiba</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<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="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<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>
@@ -260,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation>Hiba a mappával</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation>Mappa neve</translation>
</message>
@@ -273,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation>Átnevezés speciális karakterek használatával</translation>
</message>
@@ -296,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - másolás</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - másolás (%number%)</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation>Átnevezés speciális karakterek használatával</translation>
</message>
@@ -402,55 +342,55 @@
<translation>Szűrők</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation>Kizáró szűrők</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation>Használt szűrők</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation>Nincs = Mindet használ</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation>Nyers szöveg</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation>Egyszerűsített regex</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation>Perl regex</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation>Csak fájlon</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation>Csak mappán</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation>Teljes egyezés</translation>
</message>
@@ -458,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation>Mappa már létezik</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - másolás</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - másolás (%number%)</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation>Átnevezés speciális karakterek használatával</translation>
</message>
@@ -486,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation>Elem másolása vagy mozgatás nem lehetséges a hibás kényszerített módban: %1</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation>Átviteli lista mentése nem lehetséges: %1</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation>Hiba a fájl olvasásánál vagy a fálméret 0</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation>Hibás fejléc: &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <location filename="../../ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation>Az átviteli lista kevert módban van, de ez a példány nincs</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <location filename="../../ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation>Az átviteli lista másolás módban van, de ez a példány nincs</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <location filename="../../ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation>Az átviteli lista mozgatás módban van, de ez a példány nincs</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation>Néhány hiba történt a sorelemzés során</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation>Az átviteli lista megnyitása nem lehetséges: %1</translation>
</message>
@@ -536,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation>Mappa létrehozása nem lehetséges</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation>Eltávolítás nem lehetséges</translation>
</message>
@@ -570,26 +516,19 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
- <translation>Belső hiba, kérlek jelentsd!</translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation>Belső hiba történt a forrásfájl olvasásakor: a blokkméret tartományon kívüli</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
- <translation>A forrásfájl olvasása nem lehetséges:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
- <translation>A fájl olvasás során megcsonkult, valószínűleg adatváltozás miatt</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -628,189 +567,124 @@
<translation>Második átnevezés</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation>%1 - másolás</translation>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation>%1 - másolás (%2)</translation>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation type="unfinished">%1 - másolás (%2) {1 ?} {2)%3?}</translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation>Feketelistás mappa</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation>%1 - másolás</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation>%1 - másolás (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished">%name% - másolás</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished">%name% - másolás (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation>Ez nem mappa</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation>A mappa létezik</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation>A mappa nem olvasható</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation>Probléma a névkódolással</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation>Fájl nem található</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished">%1 meghajtó</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished">Ismeretlen mappa</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished">gyökér</translation>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished">A forrás nem létezik</translation>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished">Mappaművelet nem lehetséges</translation>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation>Fájl nem található</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
+ <location filename="../../TransferThread.cpp" line="179"/>
<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="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <source>Wrong modification date or unable to get it, you can disable time transfer to do it</source>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - másolás</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - másolás (%number%)</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished">A forrásfájl nem létezik</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished">Egy másik fájl létezik ugyanazon a helyen</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished">A checksumok nem egyeznek meg</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished">Belső hiba: a cél nincs bezárva</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished">Belső hiba: az átvitt méret nem egyezik meg</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished">Belső hiba: a puffer nem üres</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
- <translation>Útvonal feloldási hiba (Üres útvonal)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation>Belső hiba, kérlek jelentsd!</translation>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation>A forrásfájl olvasása nem lehetséges:</translation>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation>Fájl megsérült az olvasás közben, valószínűleg adatváltozás</translation>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -821,193 +695,163 @@
<translation>Átvitel</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation>Mozgassa át az egész mappát</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation>Fájljogok átadása</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation>Fájl dátumának megtartása</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation>Átvitel automatikus indítása</translation>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation>Kisebb teljesítmény, ha be van jelölve</translation>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation>Kövesse a szigorú sorrendet</translation>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation>Hiba és ütközés</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation>Mappa hiba esetén</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation>Fájl hiba esetén</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation>Fájl ütközés esetén</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished">Felülír, ha a módosítás dátuma különbözik</translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
<source>When folder collision</source>
<translation>Mappa ütközés esetén</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
<source>Check if destination folder exists</source>
<translation>Célmappa létezésének ellenőrzése</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
<source>Renaming rules</source>
<translation>Átnevezési szabályok</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
<source>Delete partially transferred files</source>
<translation>Részben átvitt fájlok törlése</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
<source>Rename the original destination</source>
<translation>Eredeti cél átnevezése</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation>Irányítás</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation>Checksum</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation>Csak hiba után</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation>Hagyja ki, ha nem lehetséges</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation>Checksumok ellenőrzése</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation>Teljesítmény</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation>Párhuzamos puffer</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation>KB</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation>Blokkméret</translation>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation>Szekvenciális puffer</translation>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation>OS puffer engedélyezése</translation>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation>OS buffer csak akkor, ha kisebb mint</translation>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation>Átviteli algoritmus</translation>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation>Párhuzamosítás, ha kisebb mint</translation>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation>Egyéb</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation>Lemezterület ellenőrzése</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation>Tallózás</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation>Szűrők</translation>
</message>
@@ -1144,6 +988,18 @@
<translation>Felülír, ha régebbi</translation>
</message>
<message>
+ <location filename="../../fileExistsDialog.ui" line="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation>&amp;Átnevez</translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/ar/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.ts
index e17b3f2..ef5da14 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/ar/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/id/translation.ts
@@ -2,143 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -146,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
+ <source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -260,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -273,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -296,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -402,55 +342,55 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -458,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -486,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <location filename="../../ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <location filename="../../ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <location filename="../../ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -536,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -570,24 +516,17 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -623,193 +562,128 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -821,193 +695,163 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -1138,6 +982,18 @@
<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>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.qm
new file mode 100755
index 0000000..5090866
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/it/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.ts
index cba024c..bedc49e 100644
--- a/plugins/CopyEngine/Ultracopier/Languages/it/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/it/translation.ts
@@ -2,231 +2,171 @@
<!DOCTYPE TS>
<TS version="2.1" language="it" sourcelanguage="en">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation>Non supportato su questa piattaforma</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation>La data dell&apos;ultima modifica è errata</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation>La data dell&apos;ultimo accesso è errata</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation>Percorso dell&apos;errore di conversione</translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
- <translation>Impossibile copiare, il motore per la copia forzerà lo spostamento</translation>
+ <translation>Impossibile copiare, il motore di copia forzerà lo spostamento</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
- <translation>Impossibile effettuare lo spostamento, il motore per la copia forzerà la copia</translation>
+ <translation>Impossibile effettuare lo spostamento, il motore di copia forzerà la copia</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
- <translation type="unfinished">Cartella di destinazione</translation>
+ <translation>Percorso di destinazione</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
- <translation type="unfinished"></translation>
+ <translation>Usare l&apos;attuale destinazione? &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<source>The mode has been forced previously. This is an internal error, please report it</source>
- <translation type="unfinished"></translation>
+ <translation>La modalità è stata forzata precedentemente. Questo è un errore interno, si prega di riportatelo</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation>Chiedi</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation>Salta</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation>Unisci</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation>Rinomina</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation>Metti in coda</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation>Sovrascrivi</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation>Sovrascrivi se differente</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation>Sovrascrivi se più recente</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation>Sovrascrivi se meno recente</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation>Automatico</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation>Sequenziale</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation>Parallelo</translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
- <translation>Opzioni di errore</translation>
+ <translation>Errore opzioni</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
+ <translation>Motore delle opzioni non caricato. Impossibile accedere ai filtri</translation>
</message>
</context>
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation>Chiedi</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation>Salta</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation>Unisci</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation>Rinomina</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation>Metti in coda</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation>Sovrascrivi</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation>Sovrascrivi se differente</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation>Sovrascrivi se più recente</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation>Sovrascrivi se meno recente</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation>Automatico</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation>Sequenziale</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation>Parallelo</translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
- <translation>Opzioni di errore</translation>
+ <translation>Errore opzioni</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
+ <translation>Motore delle opzioni non caricato. Impossibile accedere ai filtri</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
- <translation>Le opzioni del motore per la copia non vengono caricate, impossibile accedere ai filtri</translation>
+ <translation>Le opzioni del motore di copia non sono state caricate. Impossibile accedere ai filtri</translation>
</message>
</context>
<context>
@@ -239,7 +179,7 @@
<message>
<location filename="../../DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
- <translation type="unfinished"></translation>
+ <translation>Hai bisogno di più spazio su questo disco per finire il trasferimento</translation>
</message>
<message>
<location filename="../../DiskSpace.ui" line="49"/>
@@ -260,60 +200,60 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
- <translation>Errore nella cartella</translation>
+ <translation>Errore con la cartella</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
- <translation>Nome della cartella</translation>
+ <translation>Nome cartella</translation>
</message>
</context>
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
+ <translation>Copia di %name% %suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
+ <translation>Copia di %name% (%number%) %suffix%</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
+ <translation>Tenta ridenominazione usando caratteri speciali</translation>
</message>
</context>
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished">Copia di %name%</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>Copia di %name% %suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">Copia di %name% (%number%)</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>Copia di %name% (%number%) %suffix%</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
+ <translation>Tenta ridenominazione usando caratteri speciali</translation>
</message>
</context>
<context>
@@ -326,27 +266,27 @@
<message>
<location filename="../../FilterRules.ui" line="43"/>
<source>Search type:</source>
- <translation>Tipo di ricerca:</translation>
+ <translation>Cerca tipologia:</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="51"/>
<source>Raw text</source>
- <translation>Testo raw</translation>
+ <translation>Testo nudo</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="56"/>
<source>Simplified regex</source>
- <translation>Regex semplificato</translation>
+ <translation>Espressione regolare semplificata</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
- <translation>Regex in Perl</translation>
+ <translation>Espressione regolare in Perl</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="69"/>
<source>Apply on:</source>
- <translation>Applicare su:</translation>
+ <translation>Applicare a:</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="77"/>
@@ -356,7 +296,7 @@
<message>
<location filename="../../FilterRules.ui" line="82"/>
<source>Folder</source>
- <translation>Cartelle</translation>
+ <translation>Cartella</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="87"/>
@@ -366,7 +306,7 @@
<message>
<location filename="../../FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
- <translation type="unfinished"></translation>
+ <translation>La stringa di prova combacia con l&apos;espressione regolare</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="102"/>
@@ -381,17 +321,17 @@
<message>
<location filename="../../FilterRules.ui" line="17"/>
<source>Filters dialog</source>
- <translation>Finestra dei filtri</translation>
+ <translation>Finestra dialogo dei filtri</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="95"/>
<source>Whole string must match</source>
- <translation type="unfinished"></translation>
+ <translation>L&apos;intera stringa deve combaciare</translation>
</message>
<message>
<location filename="../../FilterRules.ui" line="108"/>
<source>The regex is valid</source>
- <translation>La regex è valida</translation>
+ <translation>L&apos;espressione regolare è valida</translation>
</message>
</context>
<context>
@@ -402,58 +342,55 @@
<translation>Filtri</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation>Filtri di esclusione</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
- <translatorcomment>o filtri per l&apos;inserimento?</translatorcomment>
<translation>Filtri di inclusione</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
- <translatorcomment>o Nessuno = Includi tutti oppure Nessuno = Inserisci tutti oppure bisogna lasiare none?</translatorcomment>
- <translation>Nessuno = Tutti inclusi</translation>
+ <translation>Nessuno = Includi tutti</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
- <translation>Testo raw</translation>
+ <translation>Testo nudo</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
- <translation>Regex semplificato</translation>
+ <translation>Espressione regolare semplificata</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
- <translation>Regex in Perl</translation>
+ <translation>Espressione regolare in Perl</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
- <translation>Solo su file</translation>
+ <translation>Solamente su file</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
- <translatorcomment>o cartella al singolare?</translatorcomment>
- <translation>Solo su cartelle</translation>
+ <translation>Solamente su cartella</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation>Corrispondenza completa</translation>
</message>
@@ -461,112 +398,117 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation>Cartella già presente</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished">Copia di %name%</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>Copia di %name% %suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">Copia di %name% (%number%)</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>Copia di %name% (%number%) %suffix%</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
+ <translation>Tenta ridenominazione usando caratteri speciali</translation>
</message>
</context>
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation>Impossibile spostare o copiare elementi in modalità forzata anomala: %1</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <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 dei trasferimenti: %1</translation>
+ <translation>Impossibile salvare la lista di trasferimento %1</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
- <translation type="unfinished"></translation>
+ <translation>Problema durante la lettura del file o dimensione file nulla</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
- <translatorcomment>Header si riferisce all&apos;intestazione?</translatorcomment>
- <translation>Intestazione sbagliata: &quot;%1&quot;</translation>
+ <translation>Intestazione errata: &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <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 dei trasferimenti è in modalità mista, ma questa istanza non è in questa modalità</translation>
+ <translation>La lista di trasferimento è in modalità mista ma questa istanza non lo è</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <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 dei trasferimenti è in modalità di copia, ma questa istanza non è in questa modalità</translation>
+ <translation>La lista di trasferimento è in modalità copia ma questa istanza non lo è</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <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 dei trasferimenti è in modalità di spostamento, ma questa istanza non è in questa modalità</translation>
+ <translation>La lista di trasferimento è in modalità spostamento ma questa istanza non lo è</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
- <translation type="unfinished"></translation>
+ <translation>Alcuni errori rilevati durante l&apos;analisi di linea</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
- <translation>Impossibile aprire la lista dei trasferimenti: %1</translation>
+ <translation>Impossibile aprire lista di trasferimento %1</translation>
</message>
</context>
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation>Impossibile creare la cartella</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
- <translation type="unfinished"></translation>
+ <translation>La cartella di origine non esiste</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
- <translation type="unfinished"></translation>
+ <translation>Impossibile ridenominare temporaneamente la cartella</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
- <translation type="unfinished"></translation>
+ <translation>Impossibile fare il vero spostamento finale della cartella</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
- <translation type="unfinished"></translation>
+ <translation>Impossibile spostare la cartella</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation>Impossibile eliminare</translation>
</message>
@@ -574,26 +516,19 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
- <translation>Errore interno, pregasi di segnalarlo!</translation>
+ <translation>Errore interno, si prega di riportarlo!</translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
- <translation>Impossibile leggere il file di origine: </translation>
+ <translation>Impossibile leggere file di origine: </translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
- <translation>File troncato durante la lettura, possibili variazioni di dati</translation>
+ <translation>File troncato durante la lettura. Possibile cambio dati</translation>
</message>
</context>
<context>
@@ -601,222 +536,158 @@
<message>
<location filename="../../RenamingRules.ui" line="35"/>
<source>First renaming</source>
- <translatorcomment>o Prima ridenominazione?</translatorcomment>
- <translation>Prima rinomina</translation>
+ <translation>Prima ridenominazione</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translatorcomment>%name% non dovrà essere tradotto</translatorcomment>
+ <translation>Copia di %name% %suffix%</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translatorcomment>%name%, %number% non dovranno essere tradotti</translatorcomment>
+ <translation>Copia di %name% (%number%) %suffix%</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translatorcomment>%name%, %number% non dovranno essere tradotti</translatorcomment>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variabili: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; per il nome file originale, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; per il numero extra, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; Suffisso file&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../../RenamingRules.ui" line="51"/>
<source>Second renaming</source>
- <translatorcomment>o Seconda ridenominazione?</translatorcomment>
- <translation>Seconda rinomina</translation>
+ <translation>Seconda ridenominazione</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation>%1 - copia</translation>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation>Regole di ridenominazione</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation>%1 - copia (%2)</translation>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation>Copia di %1 %2</translation>
</message>
<message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation>Regole di rinomina</translation>
+ <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>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
- <translation>%1 - copia</translation>
+ <translation>Copia di %1</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
- <translation>%1 - copia (%2)</translation>
+ <translation>Copia di %1 (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
- <translation type="unfinished">Copia di %name%</translation>
+ <translation>Copia di %name%</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
- <translation type="unfinished">Copia di %name% (%number%)</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation>Questa non è una cartella</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation>La cartella non è leggibile</translation>
+ <translation>Copia di %name% (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation>Problema con la codifica del nome</translation>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation>Problema con la lettura della cartella</translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation>File non trovato</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished">Unità %1</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished">root</translation>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation>Copia di %name% %suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation>Copia di %name% (%number%) %suffix%</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished">Impossibile creare la cartella</translation>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation>File non trovato</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
+ <location filename="../../TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
+ <translation>Tenta ridenominazione usando caratteri speciali</translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished">Copia di %name%</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">Copia di %name% (%number%)</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished">Nello stesso percorso è presente un altro file</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished">Errore interno: la cartella di destinazione non è chiusa</translation>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
+ <translation>Impossibile cambiare data</translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished"></translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished">Errore interno: il buffer non è vuoto</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
+ <translation>Impossibile creare cartella di destinazione: </translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation type="unfinished">Impossibile cambiare la data</translation>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation>Impossibile creare cartella di destinazione, error %1</translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
- <translation type="unfinished"></translation>
+ <translation>Errore di risoluzione percorso (vuoto)</translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation>Errore interno, pregasi di segnalarlo!</translation>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
+ <translation>Impossibile creare cartella di destinazione: </translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation>Impossibile leggere il file di origine: </translation>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation>Impossibile creare cartella di destinazione, errore %1</translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation type="unfinished"></translation>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation>Errore interno, si prega di riportarlo!</translation>
</message>
</context>
<context>
@@ -824,196 +695,166 @@
<message>
<location filename="../../copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
- <translation>Trasferisci</translation>
+ <translation>Trasferimento</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
- <translation>Spostare l&apos;intera cartella</translation>
+ <translation>Spostare intera cartella</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
- <translation>Trasferire le autorizzazioni dei file</translation>
+ <translation>Trasferire autorizzazioni dei file</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
- <translation>Mantenere la data del file</translation>
+ <translation>Mantenere date dei file</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation type="unfinished"></translation>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation>Creare percorso completo se non esistente</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation>Se selezionato si avranno prestazioni ridotte</translation>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation>Checksum</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation>Seguire rigorosamente l&apos;ordine</translation>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation>Avvio automatico</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation>Errori di coincidenze</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
- <translation>Quando si verifica un errore nelle cartelle</translation>
+ <translation>Quando si verifica errore nelle cartelle</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
- <translation>Quando si verifica un errore nei file</translation>
+ <translation>Quando si verifica errore nei file</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation>Quando i file coincidono</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation>Sovrascrivere se 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>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
<source>When folder collision</source>
<translation>Quando le cartelle coincidono</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
<source>Check if destination folder exists</source>
- <translation>Controllare se la cartella di destinazione esiste</translation>
+ <translation>Controllare esistenza cartella di destinazione</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
<source>Renaming rules</source>
- <translation>Regole di rinomina</translation>
+ <translation>Regole di ridenominazione</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
<source>Delete partially transferred files</source>
<translation>Eliminare i file parzialmente trasferiti</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
<source>Rename the original destination</source>
- <translation>Rinominare la destinazione all&apos;origine</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation>Controllare</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation>Codice di controllo (Checksum)</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation>Solo dopo l&apos;errore</translation>
+ <translation>Ridenominare destinazione all&apos;origine</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation>Ignora se non corrisponde</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation>Prestazioni</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation>Buffer parallelo</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation>KB</translation>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation>Numero thread inode</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation>Dimensione del blocco</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation>Buffer sequenziale</translation>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation>Attivare il buffer del sistema operativo</translation>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation>Deselezionare ciò su Windows causa problemi</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation>Buffer del sistema operativo solo se inferiore a</translation>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation>Algoritmo di trasferimento </translation>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation>Affiancare se inferiore a</translation>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation>Varie</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
- <translation>Controllare lo spazio su disco</translation>
+ <translation>Controllare spazio su disco</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
+ <translation>Usare questa cartella quando la destinazione non è impostata</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation>Sfoglia</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation>Filtri</translation>
</message>
@@ -1023,7 +864,7 @@
<message>
<location filename="../../fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
- <translation type="unfinished"></translation>
+ <translation>Errore con file</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="20"/>
@@ -1043,12 +884,12 @@
<message>
<location filename="../../fileErrorDialog.ui" line="93"/>
<source>File name</source>
- <translation>Nome del file</translation>
+ <translation>Nome file</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="110"/>
<source>Destination</source>
- <translation>Cartella di destinazione</translation>
+ <translation>Destinazione</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="127"/>
@@ -1058,17 +899,17 @@
<message>
<location filename="../../fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
+ <translation>Esegui sempre questa azione</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
- <translation type="unfinished"></translation>
+ <translation>Tenta con privilegi superiori</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
- <translation>Mettere in coda</translation>
+ <translation>Metti in coda</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="207"/>
@@ -1078,12 +919,12 @@
<message>
<location filename="../../fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
- <translation>&amp;Salta</translation>
+ <translation>Salta</translation>
</message>
<message>
<location filename="../../fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
- <translation>&amp;Annulla</translation>
+ <translation>Annulla</translation>
</message>
</context>
<context>
@@ -1091,17 +932,17 @@
<message>
<location filename="../../fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
- <translation>Il file è già presente</translation>
+ <translation>File è già presente</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="34"/>
<source>Source</source>
- <translation>Cartella di origine</translation>
+ <translation>Origine</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="50"/>
<source>Destination</source>
- <translation>Cartella di destinazione</translation>
+ <translation>Destinazione</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="82"/>
@@ -1119,7 +960,7 @@
<location filename="../../fileExistsDialog.ui" line="116"/>
<location filename="../../fileExistsDialog.ui" line="204"/>
<source>File name</source>
- <translation>Nome del file</translation>
+ <translation>Nome file</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="133"/>
@@ -1130,38 +971,50 @@
<message>
<location filename="../../fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
- <translation>Suggerisci un nuovo &amp;nome</translation>
+ <translation>Suggerisci nuovo nome</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
+ <translation>Esegui sempre questa azione</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>
+ <translation>Sovrascrivere se data di modifica differisce</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>
+ </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>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
- <translation>&amp;Rinomina</translation>
+ <translation>Rinomina</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
- <translation>&amp;Sovrascrivi</translation>
+ <translation>Sovrascrivi</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
- <translation>&amp;Salta</translation>
+ <translation>Salta</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
- <translation>&amp;Annulla</translation>
+ <translation>Annulla</translation>
</message>
<message>
<location filename="../../fileExistsDialog.ui" line="341"/>
@@ -1190,12 +1043,12 @@
<message>
<location filename="../../fileIsSameDialog.ui" line="70"/>
<source>File name</source>
- <translation>Nome del file</translation>
+ <translation>Nome file</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
- <translation type="unfinished"></translation>
+ <translation>Origine e destinazioni sono identiche</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="90"/>
@@ -1205,27 +1058,27 @@
<message>
<location filename="../../fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
- <translation>Suggerisci nuovo &amp;nome</translation>
+ <translation>Suggerisci nuovo nome</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
+ <translation>Esegui sempre questa azione</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
- <translation>&amp;Rinomina</translation>
+ <translation>Rinomina</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
- <translation>&amp;Salta</translation>
+ <translation>Salta</translation>
</message>
<message>
<location filename="../../fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
- <translation>&amp;Annulla</translation>
+ <translation>Annulla</translation>
</message>
</context>
<context>
@@ -1233,17 +1086,17 @@
<message>
<location filename="../../folderExistsDialog.ui" line="34"/>
<source>Source</source>
- <translation>Cartella di origine</translation>
+ <translation>Origine</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="50"/>
<source>Destination</source>
- <translation>Cartella di destinazione</translation>
+ <translation>Destinazione</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
- <translation type="unfinished"></translation>
+ <translation>Origine e destinazioni sono identiche</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="82"/>
@@ -1255,7 +1108,7 @@
<location filename="../../folderExistsDialog.ui" line="99"/>
<location filename="../../folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
- <translation>Nome della cartella</translation>
+ <translation>Nome cartella</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="116"/>
@@ -1266,17 +1119,17 @@
<message>
<location filename="../../folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
- <translation>Suggerisci nuovo &amp;nome</translation>
+ <translation>Suggerisci nuovo nome</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
+ <translation>Esegui sempre questa azione</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
- <translation>&amp;Rinomina</translation>
+ <translation>Rinomina</translation>
</message>
<message>
<location filename="../../folderExistsDialog.ui" line="252"/>
@@ -1291,7 +1144,7 @@
<message>
<location filename="../../folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
- <translation>&amp;Annulla</translation>
+ <translation>Annulla</translation>
</message>
</context>
</TS>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/hi/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.ts
index e17b3f2..a771060 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/hi/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ja/translation.ts
@@ -2,143 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -146,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
+ <source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -260,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -273,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -296,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -319,6 +259,11 @@
<context>
<name>FilterRules</name>
<message>
+ <location filename="../../FilterRules.ui" line="17"/>
+ <source>Filters dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
@@ -364,6 +309,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../FilterRules.ui" line="95"/>
+ <source>Whole string must match</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
@@ -374,23 +324,13 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FilterRules.ui" line="115"/>
- <source>Test string:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="17"/>
- <source>Filters dialog</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="95"/>
- <source>Whole string must match</source>
+ <location filename="../../FilterRules.ui" line="108"/>
+ <source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FilterRules.ui" line="108"/>
- <source>The regex is valid</source>
+ <location filename="../../FilterRules.ui" line="115"/>
+ <source>Test string:</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -402,55 +342,55 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -458,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -486,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <location filename="../../ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <location filename="../../ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <location filename="../../ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -536,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -570,24 +516,17 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -595,6 +534,11 @@
<context>
<name>RenamingRules</name>
<message>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
@@ -623,193 +567,123 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -821,193 +695,163 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -1138,6 +982,18 @@
<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>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.qm
new file mode 100755
index 0000000..5bec6b9
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/ko/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.ts
index 7698857..f8a23f8 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/ko/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ko/translation.ts
@@ -2,143 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1" language="ko_KR">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation>이 플랫폼에서 지원되지 않습니다</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation>마지막 수정 날짜가 잘못되었습니다</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation>마지막 엑세스 날짜가 잘못되었습니다</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished">대상</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished">확인</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished">건너뛰기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished">합치기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished">이름 바꾸기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished">더 최신이면 덮어씌우기</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -146,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished">확인</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished">건너뛰기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished">합치기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished">이름 바꾸기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished">더 최신이면 덮어씌우기</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
+ <source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -260,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished">폴더 이름</translation>
</message>
@@ -273,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -296,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -402,55 +342,55 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -458,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -486,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <location filename="../../ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <location filename="../../ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <location filename="../../ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -536,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation>폴더를 생성할 수 없습니다</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -570,24 +516,17 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
- <translation>원본 파일 읽기 불가:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -628,188 +567,123 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished">폴더를 읽을 수 없습니다</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished">원본 파일 읽기 불가:</translation>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -821,193 +695,163 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation type="unfinished">파일 권한 전송</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation type="unfinished">파일 날짜 보존</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished">폴더 오류시</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
<source>When folder collision</source>
<translation type="unfinished">폴더 충돌시</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
<source>Check if destination folder exists</source>
<translation type="unfinished">대상 폴드 존재시 확인</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
<source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
<source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished">KB</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished">블럭 크기</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -1138,6 +982,18 @@
<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>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation>&amp;이름 바꾸기</translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.ts
new file mode 100755
index 0000000..ef5da14
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/nl/translation.ts
@@ -0,0 +1,1147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>CopyEngine</name>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
+ <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"/>
+ <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"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="520"/>
+ <source>Use the actual destination &quot;%1&quot;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="685"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="980"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="986"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="990"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="991"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="992"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="993"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CopyEngineFactory</name>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options engine is not loaded, can&apos;t access to the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>DiskSpace</name>
+ <message>
+ <location filename="../../DiskSpace.ui" line="14"/>
+ <source>Disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="24"/>
+ <source>You need more space on this drive to finish this transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="49"/>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="56"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.cpp" line="23"/>
+ <source>Drives %1 have %2 available but need %3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileErrorDialog</name>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <source>Error on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileExistsDialog</name>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileIsSameDialog</name>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterRules</name>
+ <message>
+ <location filename="../../FilterRules.ui" line="33"/>
+ <source>Search:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="43"/>
+ <source>Search type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="51"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="56"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="61"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="69"/>
+ <source>Apply on:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="77"/>
+ <source>File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="82"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="87"/>
+ <source>File and folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="125"/>
+ <source>The test string matches with the regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="102"/>
+ <source>Checking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="115"/>
+ <source>Test string:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="17"/>
+ <source>Filters dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="95"/>
+ <source>Whole string must match</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="108"/>
+ <source>The regex is valid</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Filters</name>
+ <message>
+ <location filename="../../Filters.ui" line="14"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="39"/>
+ <source>Exclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="111"/>
+ <source>Inclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="132"/>
+ <source>None = Include all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
+ <source>Only on file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
+ <source>Only on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
+ <source>Full match</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FolderExistsDialog</name>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <source>Folder already exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ListThread</name>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
+ <source>Unable do to move or copy item into wrong forced mode: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
+ <source>Unable to save the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
+ <source>Problem reading file, or file-size is 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
+ <source>Wrong header: &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <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 type="unfinished"></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 type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
+ <source>Some errors have been found during the line parsing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
+ <source>Unable to open the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MkPath</name>
+ <message>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
+ <source>Unable to create the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="227"/>
+ <source>The source folder don&apos;t exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="255"/>
+ <source>Unable to temporary rename the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="278"/>
+ <source>Unable to do the final real move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="309"/>
+ <source>Unable to move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
+ <source>Unable to remove</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ReadThread</name>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
+ <source>Unable to read the source file: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
+ <source>File truncated during the read, possible data change</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RenamingRules</name>
+ <message>
+ <location filename="../../RenamingRules.ui" line="35"/>
+ <source>First renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="41"/>
+ <source>%name% - copy%suffix%</source>
+ <extracomment>%name% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="57"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="67"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="51"/>
+ <source>Second renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ScanFileOrFolder</name>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
+ <source>%1 - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
+ <source>%1 - copy (%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
+ <source>%name% - copy (%number%)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThread</name>
+ <message>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
+ <message>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WriteThread</name>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>copyEngineOptions</name>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="44"/>
+ <source>Transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
+ <source>Move the whole folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
+ <source>Error and collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
+ <source>When folder error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
+ <source>When file error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
+ <source>When file collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
+ <source>Performance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
+ <source>Misc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
+ <source>Check the disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
+ <source>Use this folder when destination is not set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileErrorDialog</name>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="14"/>
+ <source>Error with file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="20"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="59"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="76"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="93"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="110"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="127"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="173"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="193"/>
+ <source>Try in with elevated privileges</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="200"/>
+ <source>Put to bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="207"/>
+ <source>Retry</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="214"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="221"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileExistsDialog</name>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="14"/>
+ <source>The file exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="82"/>
+ <location filename="../../fileExistsDialog.ui" line="170"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="99"/>
+ <location filename="../../fileExistsDialog.ui" line="187"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="116"/>
+ <location filename="../../fileExistsDialog.ui" line="204"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="133"/>
+ <location filename="../../fileExistsDialog.ui" line="221"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="277"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="288"/>
+ <source>&amp;Always perform this action</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="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="308"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="315"/>
+ <source>&amp;Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="325"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="332"/>
+ <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>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="40"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="110"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="70"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="14"/>
+ <source>The source and destination are same</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="90"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="159"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="170"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="190"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="197"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="204"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>folderExistsDialog</name>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="14"/>
+ <source>The source and destination is identical</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="82"/>
+ <location filename="../../folderExistsDialog.ui" line="150"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="99"/>
+ <location filename="../../folderExistsDialog.ui" line="160"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="116"/>
+ <location filename="../../folderExistsDialog.ui" line="184"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="227"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="238"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="245"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="252"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="259"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="266"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.ts
new file mode 100755
index 0000000..ef5da14
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/no/translation.ts
@@ -0,0 +1,1147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>CopyEngine</name>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
+ <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"/>
+ <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"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="520"/>
+ <source>Use the actual destination &quot;%1&quot;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="685"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="980"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="986"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="990"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="991"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="992"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="993"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CopyEngineFactory</name>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options engine is not loaded, can&apos;t access to the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>DiskSpace</name>
+ <message>
+ <location filename="../../DiskSpace.ui" line="14"/>
+ <source>Disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="24"/>
+ <source>You need more space on this drive to finish this transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="49"/>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="56"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.cpp" line="23"/>
+ <source>Drives %1 have %2 available but need %3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileErrorDialog</name>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <source>Error on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileExistsDialog</name>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileIsSameDialog</name>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterRules</name>
+ <message>
+ <location filename="../../FilterRules.ui" line="33"/>
+ <source>Search:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="43"/>
+ <source>Search type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="51"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="56"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="61"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="69"/>
+ <source>Apply on:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="77"/>
+ <source>File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="82"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="87"/>
+ <source>File and folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="125"/>
+ <source>The test string matches with the regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="102"/>
+ <source>Checking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="115"/>
+ <source>Test string:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="17"/>
+ <source>Filters dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="95"/>
+ <source>Whole string must match</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="108"/>
+ <source>The regex is valid</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Filters</name>
+ <message>
+ <location filename="../../Filters.ui" line="14"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="39"/>
+ <source>Exclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="111"/>
+ <source>Inclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="132"/>
+ <source>None = Include all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
+ <source>Only on file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
+ <source>Only on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
+ <source>Full match</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FolderExistsDialog</name>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <source>Folder already exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ListThread</name>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
+ <source>Unable do to move or copy item into wrong forced mode: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
+ <source>Unable to save the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
+ <source>Problem reading file, or file-size is 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
+ <source>Wrong header: &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <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 type="unfinished"></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 type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
+ <source>Some errors have been found during the line parsing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
+ <source>Unable to open the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MkPath</name>
+ <message>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
+ <source>Unable to create the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="227"/>
+ <source>The source folder don&apos;t exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="255"/>
+ <source>Unable to temporary rename the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="278"/>
+ <source>Unable to do the final real move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="309"/>
+ <source>Unable to move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
+ <source>Unable to remove</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ReadThread</name>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
+ <source>Unable to read the source file: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
+ <source>File truncated during the read, possible data change</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RenamingRules</name>
+ <message>
+ <location filename="../../RenamingRules.ui" line="35"/>
+ <source>First renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="41"/>
+ <source>%name% - copy%suffix%</source>
+ <extracomment>%name% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="57"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="67"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="51"/>
+ <source>Second renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ScanFileOrFolder</name>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
+ <source>%1 - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
+ <source>%1 - copy (%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
+ <source>%name% - copy (%number%)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThread</name>
+ <message>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
+ <message>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WriteThread</name>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>copyEngineOptions</name>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="44"/>
+ <source>Transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
+ <source>Move the whole folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
+ <source>Error and collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
+ <source>When folder error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
+ <source>When file error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
+ <source>When file collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
+ <source>Performance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
+ <source>Misc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
+ <source>Check the disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
+ <source>Use this folder when destination is not set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileErrorDialog</name>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="14"/>
+ <source>Error with file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="20"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="59"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="76"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="93"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="110"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="127"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="173"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="193"/>
+ <source>Try in with elevated privileges</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="200"/>
+ <source>Put to bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="207"/>
+ <source>Retry</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="214"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="221"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileExistsDialog</name>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="14"/>
+ <source>The file exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="82"/>
+ <location filename="../../fileExistsDialog.ui" line="170"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="99"/>
+ <location filename="../../fileExistsDialog.ui" line="187"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="116"/>
+ <location filename="../../fileExistsDialog.ui" line="204"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="133"/>
+ <location filename="../../fileExistsDialog.ui" line="221"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="277"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="288"/>
+ <source>&amp;Always perform this action</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="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="308"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="315"/>
+ <source>&amp;Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="325"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="332"/>
+ <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>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="40"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="110"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="70"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="14"/>
+ <source>The source and destination are same</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="90"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="159"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="170"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="190"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="197"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="204"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>folderExistsDialog</name>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="14"/>
+ <source>The source and destination is identical</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="82"/>
+ <location filename="../../folderExistsDialog.ui" line="150"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="99"/>
+ <location filename="../../folderExistsDialog.ui" line="160"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="116"/>
+ <location filename="../../folderExistsDialog.ui" line="184"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="227"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="238"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="245"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="252"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="259"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="266"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.ts
new file mode 100755
index 0000000..ef5da14
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/pl/translation.ts
@@ -0,0 +1,1147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>CopyEngine</name>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
+ <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"/>
+ <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"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="520"/>
+ <source>Use the actual destination &quot;%1&quot;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="685"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="980"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="986"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="990"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="991"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="992"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="993"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CopyEngineFactory</name>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options engine is not loaded, can&apos;t access to the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>DiskSpace</name>
+ <message>
+ <location filename="../../DiskSpace.ui" line="14"/>
+ <source>Disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="24"/>
+ <source>You need more space on this drive to finish this transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="49"/>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="56"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.cpp" line="23"/>
+ <source>Drives %1 have %2 available but need %3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileErrorDialog</name>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <source>Error on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileExistsDialog</name>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileIsSameDialog</name>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterRules</name>
+ <message>
+ <location filename="../../FilterRules.ui" line="33"/>
+ <source>Search:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="43"/>
+ <source>Search type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="51"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="56"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="61"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="69"/>
+ <source>Apply on:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="77"/>
+ <source>File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="82"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="87"/>
+ <source>File and folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="125"/>
+ <source>The test string matches with the regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="102"/>
+ <source>Checking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="115"/>
+ <source>Test string:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="17"/>
+ <source>Filters dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="95"/>
+ <source>Whole string must match</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="108"/>
+ <source>The regex is valid</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Filters</name>
+ <message>
+ <location filename="../../Filters.ui" line="14"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="39"/>
+ <source>Exclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="111"/>
+ <source>Inclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="132"/>
+ <source>None = Include all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
+ <source>Only on file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
+ <source>Only on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
+ <source>Full match</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FolderExistsDialog</name>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <source>Folder already exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ListThread</name>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
+ <source>Unable do to move or copy item into wrong forced mode: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
+ <source>Unable to save the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
+ <source>Problem reading file, or file-size is 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
+ <source>Wrong header: &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <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 type="unfinished"></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 type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
+ <source>Some errors have been found during the line parsing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
+ <source>Unable to open the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MkPath</name>
+ <message>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
+ <source>Unable to create the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="227"/>
+ <source>The source folder don&apos;t exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="255"/>
+ <source>Unable to temporary rename the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="278"/>
+ <source>Unable to do the final real move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="309"/>
+ <source>Unable to move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
+ <source>Unable to remove</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ReadThread</name>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
+ <source>Unable to read the source file: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
+ <source>File truncated during the read, possible data change</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RenamingRules</name>
+ <message>
+ <location filename="../../RenamingRules.ui" line="35"/>
+ <source>First renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="41"/>
+ <source>%name% - copy%suffix%</source>
+ <extracomment>%name% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="57"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="67"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="51"/>
+ <source>Second renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ScanFileOrFolder</name>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
+ <source>%1 - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
+ <source>%1 - copy (%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
+ <source>%name% - copy (%number%)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThread</name>
+ <message>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
+ <message>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WriteThread</name>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>copyEngineOptions</name>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="44"/>
+ <source>Transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
+ <source>Move the whole folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
+ <source>Error and collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
+ <source>When folder error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
+ <source>When file error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
+ <source>When file collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
+ <source>Performance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
+ <source>Misc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
+ <source>Check the disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
+ <source>Use this folder when destination is not set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileErrorDialog</name>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="14"/>
+ <source>Error with file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="20"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="59"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="76"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="93"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="110"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="127"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="173"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="193"/>
+ <source>Try in with elevated privileges</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="200"/>
+ <source>Put to bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="207"/>
+ <source>Retry</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="214"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="221"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileExistsDialog</name>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="14"/>
+ <source>The file exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="82"/>
+ <location filename="../../fileExistsDialog.ui" line="170"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="99"/>
+ <location filename="../../fileExistsDialog.ui" line="187"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="116"/>
+ <location filename="../../fileExistsDialog.ui" line="204"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="133"/>
+ <location filename="../../fileExistsDialog.ui" line="221"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="277"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="288"/>
+ <source>&amp;Always perform this action</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="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="308"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="315"/>
+ <source>&amp;Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="325"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="332"/>
+ <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>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="40"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="110"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="70"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="14"/>
+ <source>The source and destination are same</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="90"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="159"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="170"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="190"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="197"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="204"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>folderExistsDialog</name>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="14"/>
+ <source>The source and destination is identical</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="82"/>
+ <location filename="../../folderExistsDialog.ui" line="150"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="99"/>
+ <location filename="../../folderExistsDialog.ui" line="160"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="116"/>
+ <location filename="../../folderExistsDialog.ui" line="184"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="227"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="238"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="245"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="252"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="259"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="266"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.ts
new file mode 100755
index 0000000..ef5da14
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/pt/translation.ts
@@ -0,0 +1,1147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>CopyEngine</name>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
+ <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"/>
+ <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"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="520"/>
+ <source>Use the actual destination &quot;%1&quot;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="685"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="980"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="986"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="990"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="991"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="992"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="993"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CopyEngineFactory</name>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options engine is not loaded, can&apos;t access to the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>DiskSpace</name>
+ <message>
+ <location filename="../../DiskSpace.ui" line="14"/>
+ <source>Disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="24"/>
+ <source>You need more space on this drive to finish this transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="49"/>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="56"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.cpp" line="23"/>
+ <source>Drives %1 have %2 available but need %3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileErrorDialog</name>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <source>Error on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileExistsDialog</name>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileIsSameDialog</name>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterRules</name>
+ <message>
+ <location filename="../../FilterRules.ui" line="33"/>
+ <source>Search:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="43"/>
+ <source>Search type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="51"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="56"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="61"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="69"/>
+ <source>Apply on:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="77"/>
+ <source>File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="82"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="87"/>
+ <source>File and folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="125"/>
+ <source>The test string matches with the regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="102"/>
+ <source>Checking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="115"/>
+ <source>Test string:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="17"/>
+ <source>Filters dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="95"/>
+ <source>Whole string must match</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="108"/>
+ <source>The regex is valid</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Filters</name>
+ <message>
+ <location filename="../../Filters.ui" line="14"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="39"/>
+ <source>Exclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="111"/>
+ <source>Inclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="132"/>
+ <source>None = Include all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
+ <source>Only on file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
+ <source>Only on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
+ <source>Full match</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FolderExistsDialog</name>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <source>Folder already exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ListThread</name>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
+ <source>Unable do to move or copy item into wrong forced mode: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
+ <source>Unable to save the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
+ <source>Problem reading file, or file-size is 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
+ <source>Wrong header: &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <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 type="unfinished"></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 type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
+ <source>Some errors have been found during the line parsing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
+ <source>Unable to open the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MkPath</name>
+ <message>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
+ <source>Unable to create the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="227"/>
+ <source>The source folder don&apos;t exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="255"/>
+ <source>Unable to temporary rename the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="278"/>
+ <source>Unable to do the final real move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="309"/>
+ <source>Unable to move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
+ <source>Unable to remove</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ReadThread</name>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
+ <source>Unable to read the source file: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
+ <source>File truncated during the read, possible data change</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RenamingRules</name>
+ <message>
+ <location filename="../../RenamingRules.ui" line="35"/>
+ <source>First renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="41"/>
+ <source>%name% - copy%suffix%</source>
+ <extracomment>%name% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="57"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="67"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="51"/>
+ <source>Second renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ScanFileOrFolder</name>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
+ <source>%1 - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
+ <source>%1 - copy (%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
+ <source>%name% - copy (%number%)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThread</name>
+ <message>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
+ <message>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WriteThread</name>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>copyEngineOptions</name>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="44"/>
+ <source>Transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
+ <source>Move the whole folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
+ <source>Error and collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
+ <source>When folder error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
+ <source>When file error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
+ <source>When file collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
+ <source>Performance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
+ <source>Misc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
+ <source>Check the disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
+ <source>Use this folder when destination is not set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileErrorDialog</name>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="14"/>
+ <source>Error with file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="20"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="59"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="76"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="93"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="110"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="127"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="173"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="193"/>
+ <source>Try in with elevated privileges</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="200"/>
+ <source>Put to bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="207"/>
+ <source>Retry</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="214"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="221"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileExistsDialog</name>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="14"/>
+ <source>The file exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="82"/>
+ <location filename="../../fileExistsDialog.ui" line="170"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="99"/>
+ <location filename="../../fileExistsDialog.ui" line="187"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="116"/>
+ <location filename="../../fileExistsDialog.ui" line="204"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="133"/>
+ <location filename="../../fileExistsDialog.ui" line="221"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="277"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="288"/>
+ <source>&amp;Always perform this action</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="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="308"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="315"/>
+ <source>&amp;Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="325"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="332"/>
+ <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>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="40"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="110"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="70"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="14"/>
+ <source>The source and destination are same</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="90"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="159"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="170"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="190"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="197"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="204"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>folderExistsDialog</name>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="14"/>
+ <source>The source and destination is identical</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="82"/>
+ <location filename="../../folderExistsDialog.ui" line="150"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="99"/>
+ <location filename="../../folderExistsDialog.ui" line="160"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="116"/>
+ <location filename="../../folderExistsDialog.ui" line="184"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="227"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="238"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="245"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="252"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="259"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="266"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.qm
new file mode 100755
index 0000000..a1f6180
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/Languages/ru/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.ts
index 3b103c5..2115820 100644..100755
--- a/plugins/CopyEngine/Ultracopier/Languages/ru/translation.ts
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/ru/translation.ts
@@ -2,143 +2,93 @@
<!DOCTYPE TS>
<TS version="2.1" language="ru" sourcelanguage="en">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation>Не поддерживается на этой платформе</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation>Дата обновления неправильно</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation>Дата последнего доступа не так</translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
<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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine.cpp" line="496"/>
<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="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished">назначение</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine.cpp" line="685"/>
<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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished">просить</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished">пропускать</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished">слияние</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished">переименовать</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Заменить, если новее</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished">Опции ошибке</translation>
</message>
<message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -146,85 +96,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished">просить</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished">пропускать</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished">слияние</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished">переименовать</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Заменить, если новее</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
+ <source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished">Опции ошибке</translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished">Параметры двигателя не загружается, не может получить доступ к фильтрам</translation>
</message>
@@ -260,12 +200,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished">Ошибка в папку</translation>
</message>
<message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished">имя папки</translation>
</message>
@@ -273,22 +213,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -296,22 +236,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - копия</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - копия (%number%)</translation>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -402,55 +342,55 @@
<translation>Фильтры</translation>
</message>
<message>
- <location filename="../../Filters.ui" line="30"/>
+ <location filename="../../Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="93"/>
+ <location filename="../../Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Filters.ui" line="105"/>
+ <location filename="../../Filters.ui" line="132"/>
<source>None = Include all</source>
<translation>Ни = Включить все</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
<source>Raw text</source>
<translation>Сырой текст</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation>Упрощенная регулярных выражений</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation>Perl&apos;s regex</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
<source>Only on file</source>
<translation>Только на файл</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation>Только на папку</translation>
</message>
<message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
<source>Full match</source>
<translation>Полный матч</translation>
</message>
@@ -458,27 +398,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished">Папка уже существует</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - копия</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - копия (%number%)</translation>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -486,49 +426,49 @@
<context>
<name>ListThread</name>
<message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation>Невозможно сделать, чтобы скопировать или переместить элемент в неправильном форсированном режиме: %1</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation>Невозможно сохранить трансфер: %1</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1510"/>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1517"/>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation>Неправильный заголовок: &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1526"/>
+ <location filename="../../ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation>Трансфер в смешанном режиме, но этот экземпляр не в этом режиме</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1535"/>
+ <location filename="../../ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation>Передача списка в режиме копирования, но этот экземпляр не в этом режиме</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1541"/>
+ <location filename="../../ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation>Трансфер в режим перемещения, но этот экземпляр не в этом режиме</translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1604"/>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ListThread.cpp" line="1612"/>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation>Не удается открыть трансфер: %1</translation>
</message>
@@ -536,33 +476,39 @@
<context>
<name>MkPath</name>
<message>
- <location filename="../../MkPath.cpp" line="142"/>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation>Невозможно создать папку</translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="155"/>
+ <location filename="../../MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="183"/>
+ <location filename="../../MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="206"/>
+ <location filename="../../MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="233"/>
+ <location filename="../../MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
@@ -570,26 +516,19 @@
<context>
<name>ReadThread</name>
<message>
- <location filename="../../ReadThread.cpp" line="59"/>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
- <translation>Невозможно прочитать исходный файл: </translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
- <translation>Файл усечены во время чтения, возможность изменения данных</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -623,193 +562,128 @@
<translation>Второе переименование</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation>%1 - копия</translation>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation>Переименование правила</translation>
</message>
<message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation>%1 - копия (%2)</translation>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation>Переименование правила</translation>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation type="unfinished">%1 - копия (%2) {1 ?} {2)%3?}</translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished">%1 - копия</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished">%1 - копия (%2)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished">%name% - копия</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished">%name% - копия (%number%)</translation>
</message>
<message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished">Папки не читается</translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished">%name% - копия</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished">%name% - копия (%number%)</translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
+ <location filename="../../async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../WriteThread.cpp" line="83"/>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../async/WriteThread.cpp" line="164"/>
+ <location filename="../../async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation>Невозможно прочитать исходный файл: </translation>
+ <location filename="../../async/WriteThread.cpp" line="175"/>
+ <location filename="../../async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -821,193 +695,163 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
<source>Transfer the file rights</source>
<translation type="unfinished">Передача файлов прав</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
<source>Keep the file date</source>
<translation type="unfinished">Держите дату файла</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished">Когда папка ошибка</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
<source>When folder collision</source>
<translation type="unfinished">Когда папка столкновения</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
<source>Check if destination folder exists</source>
<translation type="unfinished">Убедитесь, что папка существует</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
<source>Renaming rules</source>
<translation type="unfinished">Переименование правила</translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
<source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
<source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
+ <source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished">Контрольная</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished">Только после того, как ошибка</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished">Игнорировать, если невозможно</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
- <source>Performance</source>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished">KB</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished">размер блока</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation type="unfinished">Включить OS буфер</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation type="unfinished">ОС буфер, только если меньше</translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished">Фильтры</translation>
</message>
@@ -1138,6 +982,18 @@
<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>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation>переименовать</translation>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.ts
new file mode 100755
index 0000000..ef5da14
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/th/translation.ts
@@ -0,0 +1,1147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>CopyEngine</name>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
+ <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"/>
+ <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"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="520"/>
+ <source>Use the actual destination &quot;%1&quot;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="685"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="980"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="986"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="990"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="991"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="992"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="993"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CopyEngineFactory</name>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options engine is not loaded, can&apos;t access to the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>DiskSpace</name>
+ <message>
+ <location filename="../../DiskSpace.ui" line="14"/>
+ <source>Disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="24"/>
+ <source>You need more space on this drive to finish this transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="49"/>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="56"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.cpp" line="23"/>
+ <source>Drives %1 have %2 available but need %3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileErrorDialog</name>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <source>Error on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileExistsDialog</name>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileIsSameDialog</name>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterRules</name>
+ <message>
+ <location filename="../../FilterRules.ui" line="33"/>
+ <source>Search:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="43"/>
+ <source>Search type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="51"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="56"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="61"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="69"/>
+ <source>Apply on:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="77"/>
+ <source>File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="82"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="87"/>
+ <source>File and folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="125"/>
+ <source>The test string matches with the regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="102"/>
+ <source>Checking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="115"/>
+ <source>Test string:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="17"/>
+ <source>Filters dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="95"/>
+ <source>Whole string must match</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="108"/>
+ <source>The regex is valid</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Filters</name>
+ <message>
+ <location filename="../../Filters.ui" line="14"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="39"/>
+ <source>Exclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="111"/>
+ <source>Inclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="132"/>
+ <source>None = Include all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
+ <source>Only on file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
+ <source>Only on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
+ <source>Full match</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FolderExistsDialog</name>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <source>Folder already exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ListThread</name>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
+ <source>Unable do to move or copy item into wrong forced mode: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
+ <source>Unable to save the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
+ <source>Problem reading file, or file-size is 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
+ <source>Wrong header: &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <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 type="unfinished"></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 type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
+ <source>Some errors have been found during the line parsing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
+ <source>Unable to open the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MkPath</name>
+ <message>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
+ <source>Unable to create the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="227"/>
+ <source>The source folder don&apos;t exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="255"/>
+ <source>Unable to temporary rename the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="278"/>
+ <source>Unable to do the final real move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="309"/>
+ <source>Unable to move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
+ <source>Unable to remove</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ReadThread</name>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
+ <source>Unable to read the source file: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
+ <source>File truncated during the read, possible data change</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RenamingRules</name>
+ <message>
+ <location filename="../../RenamingRules.ui" line="35"/>
+ <source>First renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="41"/>
+ <source>%name% - copy%suffix%</source>
+ <extracomment>%name% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="57"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="67"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="51"/>
+ <source>Second renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ScanFileOrFolder</name>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
+ <source>%1 - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
+ <source>%1 - copy (%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
+ <source>%name% - copy (%number%)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThread</name>
+ <message>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
+ <message>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WriteThread</name>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>copyEngineOptions</name>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="44"/>
+ <source>Transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
+ <source>Move the whole folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
+ <source>Error and collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
+ <source>When folder error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
+ <source>When file error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
+ <source>When file collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
+ <source>Performance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
+ <source>Misc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
+ <source>Check the disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
+ <source>Use this folder when destination is not set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileErrorDialog</name>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="14"/>
+ <source>Error with file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="20"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="59"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="76"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="93"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="110"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="127"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="173"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="193"/>
+ <source>Try in with elevated privileges</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="200"/>
+ <source>Put to bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="207"/>
+ <source>Retry</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="214"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="221"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileExistsDialog</name>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="14"/>
+ <source>The file exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="82"/>
+ <location filename="../../fileExistsDialog.ui" line="170"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="99"/>
+ <location filename="../../fileExistsDialog.ui" line="187"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="116"/>
+ <location filename="../../fileExistsDialog.ui" line="204"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="133"/>
+ <location filename="../../fileExistsDialog.ui" line="221"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="277"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="288"/>
+ <source>&amp;Always perform this action</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="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="308"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="315"/>
+ <source>&amp;Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="325"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="332"/>
+ <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>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="40"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="110"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="70"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="14"/>
+ <source>The source and destination are same</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="90"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="159"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="170"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="190"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="197"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="204"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>folderExistsDialog</name>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="14"/>
+ <source>The source and destination is identical</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="82"/>
+ <location filename="../../folderExistsDialog.ui" line="150"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="99"/>
+ <location filename="../../folderExistsDialog.ui" line="160"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="116"/>
+ <location filename="../../folderExistsDialog.ui" line="184"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="227"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="238"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="245"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="252"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="259"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="266"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.ts
new file mode 100755
index 0000000..ef5da14
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/tr/translation.ts
@@ -0,0 +1,1147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>CopyEngine</name>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
+ <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"/>
+ <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"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="520"/>
+ <source>Use the actual destination &quot;%1&quot;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="685"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="980"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="986"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="990"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="991"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="992"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="993"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CopyEngineFactory</name>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options engine is not loaded, can&apos;t access to the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>DiskSpace</name>
+ <message>
+ <location filename="../../DiskSpace.ui" line="14"/>
+ <source>Disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="24"/>
+ <source>You need more space on this drive to finish this transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="49"/>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="56"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.cpp" line="23"/>
+ <source>Drives %1 have %2 available but need %3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileErrorDialog</name>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <source>Error on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileExistsDialog</name>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileIsSameDialog</name>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterRules</name>
+ <message>
+ <location filename="../../FilterRules.ui" line="33"/>
+ <source>Search:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="43"/>
+ <source>Search type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="51"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="56"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="61"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="69"/>
+ <source>Apply on:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="77"/>
+ <source>File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="82"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="87"/>
+ <source>File and folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="125"/>
+ <source>The test string matches with the regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="102"/>
+ <source>Checking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="115"/>
+ <source>Test string:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="17"/>
+ <source>Filters dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="95"/>
+ <source>Whole string must match</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="108"/>
+ <source>The regex is valid</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Filters</name>
+ <message>
+ <location filename="../../Filters.ui" line="14"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="39"/>
+ <source>Exclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="111"/>
+ <source>Inclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="132"/>
+ <source>None = Include all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
+ <source>Only on file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
+ <source>Only on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
+ <source>Full match</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FolderExistsDialog</name>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <source>Folder already exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ListThread</name>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
+ <source>Unable do to move or copy item into wrong forced mode: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
+ <source>Unable to save the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
+ <source>Problem reading file, or file-size is 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
+ <source>Wrong header: &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <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 type="unfinished"></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 type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
+ <source>Some errors have been found during the line parsing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
+ <source>Unable to open the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MkPath</name>
+ <message>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
+ <source>Unable to create the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="227"/>
+ <source>The source folder don&apos;t exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="255"/>
+ <source>Unable to temporary rename the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="278"/>
+ <source>Unable to do the final real move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="309"/>
+ <source>Unable to move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
+ <source>Unable to remove</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ReadThread</name>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
+ <source>Unable to read the source file: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
+ <source>File truncated during the read, possible data change</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RenamingRules</name>
+ <message>
+ <location filename="../../RenamingRules.ui" line="35"/>
+ <source>First renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="41"/>
+ <source>%name% - copy%suffix%</source>
+ <extracomment>%name% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="57"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="67"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="51"/>
+ <source>Second renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ScanFileOrFolder</name>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
+ <source>%1 - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
+ <source>%1 - copy (%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
+ <source>%name% - copy (%number%)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThread</name>
+ <message>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
+ <message>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WriteThread</name>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>copyEngineOptions</name>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="44"/>
+ <source>Transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
+ <source>Move the whole folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
+ <source>Error and collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
+ <source>When folder error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
+ <source>When file error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
+ <source>When file collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
+ <source>Performance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
+ <source>Misc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
+ <source>Check the disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
+ <source>Use this folder when destination is not set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileErrorDialog</name>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="14"/>
+ <source>Error with file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="20"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="59"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="76"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="93"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="110"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="127"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="173"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="193"/>
+ <source>Try in with elevated privileges</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="200"/>
+ <source>Put to bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="207"/>
+ <source>Retry</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="214"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="221"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileExistsDialog</name>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="14"/>
+ <source>The file exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="82"/>
+ <location filename="../../fileExistsDialog.ui" line="170"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="99"/>
+ <location filename="../../fileExistsDialog.ui" line="187"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="116"/>
+ <location filename="../../fileExistsDialog.ui" line="204"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="133"/>
+ <location filename="../../fileExistsDialog.ui" line="221"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="277"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="288"/>
+ <source>&amp;Always perform this action</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="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="308"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="315"/>
+ <source>&amp;Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="325"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="332"/>
+ <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>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="40"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="110"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="70"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="14"/>
+ <source>The source and destination are same</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="90"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="159"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="170"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="190"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="197"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="204"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>folderExistsDialog</name>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="14"/>
+ <source>The source and destination is identical</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="82"/>
+ <location filename="../../folderExistsDialog.ui" line="150"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="99"/>
+ <location filename="../../folderExistsDialog.ui" line="160"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="116"/>
+ <location filename="../../folderExistsDialog.ui" line="184"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="227"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="238"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="245"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="252"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="259"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="266"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.qm b/plugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.qm
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.ts b/plugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.ts
new file mode 100755
index 0000000..a771060
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/Languages/zh/translation.ts
@@ -0,0 +1,1147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>CopyEngine</name>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine.cpp" line="461"/>
+ <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"/>
+ <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"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="520"/>
+ <source>Use the actual destination &quot;%1&quot;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="685"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="980"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine.cpp" line="994"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="986"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="990"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="991"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="992"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="993"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine.cpp" line="1064"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CopyEngineFactory</name>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="303"/>
+ <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"/>
+ <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"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="434"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngineFactory.cpp" line="448"/>
+ <source>Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="440"/>
+ <source>Put at the end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="444"/>
+ <source>Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="445"/>
+ <source>Overwrite if different</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="446"/>
+ <source>Overwrite if newer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="447"/>
+ <source>Overwrite if older</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="463"/>
+ <source>Options engine is not loaded. Unable to access the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngineFactory.cpp" line="502"/>
+ <source>Options engine is not loaded, can&apos;t access to the filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>DiskSpace</name>
+ <message>
+ <location filename="../../DiskSpace.ui" line="14"/>
+ <source>Disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="24"/>
+ <source>You need more space on this drive to finish this transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="49"/>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.ui" line="56"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../DiskSpace.cpp" line="23"/>
+ <source>Drives %1 have %2 available but need %3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileErrorDialog</name>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="87"/>
+ <source>Error on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileErrorDialog.cpp" line="90"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileExistsDialog</name>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="191"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="198"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileExistsDialog.cpp" line="289"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FileIsSameDialog</name>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FileIsSameDialog.cpp" line="220"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FilterRules</name>
+ <message>
+ <location filename="../../FilterRules.ui" line="17"/>
+ <source>Filters dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="33"/>
+ <source>Search:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="43"/>
+ <source>Search type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="51"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="56"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="61"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="69"/>
+ <source>Apply on:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="77"/>
+ <source>File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="82"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="87"/>
+ <source>File and folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="95"/>
+ <source>Whole string must match</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="125"/>
+ <source>The test string matches with the regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="102"/>
+ <source>Checking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="108"/>
+ <source>The regex is valid</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FilterRules.ui" line="115"/>
+ <source>Test string:</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Filters</name>
+ <message>
+ <location filename="../../Filters.ui" line="14"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="39"/>
+ <source>Exclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="111"/>
+ <source>Inclusion filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.ui" line="132"/>
+ <source>None = Include all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="94"/>
+ <location filename="../../Filters.cpp" line="132"/>
+ <source>Raw text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="97"/>
+ <location filename="../../Filters.cpp" line="135"/>
+ <source>Simplified regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="100"/>
+ <location filename="../../Filters.cpp" line="138"/>
+ <source>Perl&apos;s regex</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="108"/>
+ <location filename="../../Filters.cpp" line="146"/>
+ <source>Only on file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="111"/>
+ <location filename="../../Filters.cpp" line="149"/>
+ <source>Only on folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Filters.cpp" line="117"/>
+ <location filename="../../Filters.cpp" line="155"/>
+ <location filename="../../Filters.cpp" line="217"/>
+ <location filename="../../Filters.cpp" line="256"/>
+ <source>Full match</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>FolderExistsDialog</name>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="84"/>
+ <source>Folder already exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../FolderExistsDialog.cpp" line="240"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ListThread</name>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="242"/>
+ <location filename="../../ListThreadListChange.cpp" line="413"/>
+ <source>Unable do to move or copy item into wrong forced mode: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="249"/>
+ <location filename="../../ListThreadListChange.cpp" line="420"/>
+ <source>Unable to save the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="270"/>
+ <source>Problem reading file, or file-size is 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="277"/>
+ <source>Wrong header: &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <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 type="unfinished"></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 type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="365"/>
+ <source>Some errors have been found during the line parsing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ListThreadListChange.cpp" line="373"/>
+ <source>Unable to open the transfer list: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MkPath</name>
+ <message>
+ <location filename="../../MkPath.cpp" line="187"/>
+ <location filename="../../MkPath.cpp" line="210"/>
+ <source>Unable to create the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="227"/>
+ <source>The source folder don&apos;t exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="255"/>
+ <source>Unable to temporary rename the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="278"/>
+ <source>Unable to do the final real move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="309"/>
+ <source>Unable to move the folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../MkPath.cpp" line="315"/>
+ <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"/>
+ <source>Unable to remove</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ReadThread</name>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="78"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="541"/>
+ <source>Unable to read the source file: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/ReadThread.cpp" line="595"/>
+ <source>File truncated during the read, possible data change</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RenamingRules</name>
+ <message>
+ <location filename="../../RenamingRules.ui" line="14"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="35"/>
+ <source>First renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="41"/>
+ <source>%name% - copy%suffix%</source>
+ <extracomment>%name% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="57"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="67"/>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <extracomment>%name%, %number% should not be translated</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.ui" line="51"/>
+ <source>Second renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="46"/>
+ <location filename="../../RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../RenamingRules.cpp" line="50"/>
+ <location filename="../../RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ScanFileOrFolder</name>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="444"/>
+ <source>%1 - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="455"/>
+ <source>%1 - copy (%2)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="568"/>
+ <source>%name% - copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="579"/>
+ <source>%name% - copy (%number%)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThread</name>
+ <message>
+ <location filename="../../TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="648"/>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <source>File not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="891"/>
+ <location filename="../../TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../TransferThread.cpp" line="179"/>
+ <source>Try rename with using special characters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
+ <message>
+ <location filename="../../async/TransferThreadAsync.cpp" line="340"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WriteThread</name>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="135"/>
+ <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"/>
+ <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"/>
+ <source>Unable to create the destination folder, errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>copyEngineOptions</name>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="44"/>
+ <source>Transfer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="63"/>
+ <source>Move the whole folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="154"/>
+ <source>Error and collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="160"/>
+ <source>When folder error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="170"/>
+ <source>When file error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="196"/>
+ <source>When file collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="368"/>
+ <source>Performance</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="397"/>
+ <location filename="../../copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="514"/>
+ <source>Misc</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="520"/>
+ <source>Check the disk space</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="530"/>
+ <source>Use this folder when destination is not set</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="542"/>
+ <source>Browse</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../copyEngineOptions.ui" line="564"/>
+ <source>Filters</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileErrorDialog</name>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="14"/>
+ <source>Error with file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="20"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="59"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="76"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="93"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="110"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="127"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="173"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="193"/>
+ <source>Try in with elevated privileges</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="200"/>
+ <source>Put to bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="207"/>
+ <source>Retry</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="214"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileErrorDialog.ui" line="221"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>fileExistsDialog</name>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="14"/>
+ <source>The file exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="82"/>
+ <location filename="../../fileExistsDialog.ui" line="170"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="99"/>
+ <location filename="../../fileExistsDialog.ui" line="187"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="116"/>
+ <location filename="../../fileExistsDialog.ui" line="204"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="133"/>
+ <location filename="../../fileExistsDialog.ui" line="221"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="277"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="288"/>
+ <source>&amp;Always perform this action</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="362"/>
+ <location filename="../../fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></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 type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="308"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="315"/>
+ <source>&amp;Overwrite</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="325"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileExistsDialog.ui" line="332"/>
+ <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>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="40"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="110"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="70"/>
+ <source>File name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="14"/>
+ <source>The source and destination are same</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="90"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="159"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="170"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="190"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="197"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../fileIsSameDialog.ui" line="204"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>folderExistsDialog</name>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="34"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="50"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="14"/>
+ <source>The source and destination is identical</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="82"/>
+ <location filename="../../folderExistsDialog.ui" line="150"/>
+ <source>Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="99"/>
+ <location filename="../../folderExistsDialog.ui" line="160"/>
+ <source>Folder name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="116"/>
+ <location filename="../../folderExistsDialog.ui" line="184"/>
+ <source>Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="227"/>
+ <source>Suggest new &amp;name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="238"/>
+ <source>&amp;Always perform this action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="245"/>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="252"/>
+ <source>Merge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="259"/>
+ <source>Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../folderExistsDialog.ui" line="266"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThread.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThread.cpp
new file mode 100755
index 0000000..9c5e8f8
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThread.cpp
@@ -0,0 +1,1235 @@
+#include "ListThread.h"
+#include <QStorageInfo>
+#include <QtGlobal>
+#include "../../../cpp11addition.h"
+
+#include "async/TransferThreadAsync.h"
+#ifdef Q_OS_LINUX
+#include <sys/sysinfo.h>
+#endif
+#ifdef Q_OS_WIN32
+#include <sysinfoapi.h>
+#endif
+
+ListThread::ListThread(FacilityInterface * facilityInterface) :
+ numberOfInodeOperation(0),
+ sourceDriveMultiple(false),
+ destinationDriveMultiple(false),
+ destinationFolderMultiple(false),
+ stopIt(false),
+ numberOfTransferIntoToDoList(0),
+ bytesToTransfer(0),
+ bytesTransfered(0),
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ rsync(false),
+ #endif
+ idIncrementNumber(1),
+ actualRealByteTransfered(0),
+ checkDestinationFolderExists(false),
+ parallelizeIfSmallerThan(1024),
+ moveTheWholeFolder(false),
+ deletePartiallyTransferredFiles(true),
+ inodeThreads(1),
+ renameTheOriginalDestination(false),
+ checkDiskSpace(true),
+ buffer(false),
+ followTheStrictOrder(true),
+ mode(Ultracopier::CopyMode::Copy),
+ forcedMode(false),
+ actionToDoListTransfer_count(0),
+ actionToDoListInode_count(0),
+ doTransfer(false),
+ doInode(false),
+ oversize(0),
+ currentProgression(0),
+ copiedSize(0),
+ totalSize(0),
+ localOverSize(0),
+ doRightTransfer(false),
+ keepDate(false),
+ os_spec_flags(true),
+ native_copy(false),
+ mkFullPath(false),
+ alwaysDoThisActionForFileExists(FileExists_NotSet),
+ speedLimitation(0),
+ returnBoolToCopyEngine(true)
+{
+ moveToThread(this);
+ start(HighPriority);
+ this->facilityInterface=facilityInterface;
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ clockForTheCopySpeed = NULL;
+ multiForBigSpeed = 0;
+ blockSize = 65536;
+ blockSizeAfterSpeedLimitation = blockSize;
+ #endif
+ putInPause = false;
+ autoStart=true;
+
+ //can't be static into WriteThread, linked by instance then by ListThread
+ writeFileList=new QMultiHash<QString,WriteThread *>();
+ writeFileListMutex=new QMutex();
+
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG_WINDOW
+ if(!connect(&timerUpdateDebugDialog,&QTimer::timeout,this,&ListThread::timedUpdateDebugDialog))
+ abort();
+ timerUpdateDebugDialog.start(ULTRACOPIER_PLUGIN_DEBUG_WINDOW_TIMER);
+ #endif
+ if(!connect(this, &ListThread::tryCancel, this,&ListThread::cancel, Qt::QueuedConnection))
+ abort();
+ if(!connect(this, &ListThread::askNewTransferThread, this,&ListThread::createTransferThread, Qt::QueuedConnection))
+ abort();
+ if(!connect(&mkPathQueue, &MkPath::firstFolderFinish, this,&ListThread::mkPathFirstFolderFinish, Qt::QueuedConnection))
+ abort();
+ if(!connect(&mkPathQueue, &MkPath::errorOnFolder, this,&ListThread::mkPathErrorOnFolder, Qt::QueuedConnection))
+ abort();
+ if(!connect(this, &ListThread::send_syncTransferList, this,&ListThread::syncTransferList_internal, Qt::QueuedConnection))
+ abort();
+ if(!connect(this, &ListThread::exportTransferListSend, this,&ListThread::exportTransferListInternal, Qt::QueuedConnection))
+ abort();
+ if(!connect(this, &ListThread::importTransferListSend, this,&ListThread::importTransferListInternal, Qt::QueuedConnection))
+ abort();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(!connect(&mkPathQueue, &MkPath::debugInformation, this,&ListThread::debugInformation, Qt::QueuedConnection))
+ abort();
+ if(!connect(&driveManagement,&DriveManagement::debugInformation, this,&ListThread::debugInformation, Qt::QueuedConnection))
+ abort();
+ #endif // ULTRACOPIER_PLUGIN_DEBUG
+
+ emit askNewTransferThread();
+ mkpathTransfer.release();
+
+ int64_t MBMem=100;
+ #ifdef Q_OS_WIN32
+ MEMORYSTATUSEX memoryStatus;
+ if(GlobalMemoryStatusEx(&memoryStatus))
+ MBMem=memoryStatus.ullTotalPhys/1024;
+ #endif
+ #ifdef Q_OS_LINUX
+ struct sysinfo info;
+ if(sysinfo(&info)==0)
+ MBMem=info.totalhigh*info.mem_unit/1024/1024;
+ #endif
+ if(MBMem<1024)
+ WriteThread::numberOfBlock=4+MBMem*0.12;
+ else
+ WriteThread::numberOfBlock=ULTRACOPIER_PLUGIN_DEFAULT_PARALLEL_NUMBER_OF_BLOCK;
+}
+
+ListThread::~ListThread()
+{
+ emit tryCancel();
+ waitCancel.acquire();
+ quit();
+ wait();
+}
+
+//transfer is finished
+void ListThread::transferInodeIsClosed()
+{
+ if(stopIt)
+ {
+ checkIfReadyToCancel();
+ return;
+ }
+ numberOfInodeOperation--;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfInodeOperation: "+std::to_string(numberOfInodeOperation));
+ #endif
+ TransferThreadAsync *temp_transfer_thread=qobject_cast<TransferThreadAsync *>(QObject::sender());
+ if(temp_transfer_thread==NULL)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"transfer thread not located!");
+ return;
+ }
+ if(overCheckUsedThread.find(temp_transfer_thread)==overCheckUsedThread.cend())
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"transfer thread not located in overcheck");
+ else
+ overCheckUsedThread.erase(temp_transfer_thread);
+ if(putAtBottomAfterError.find(temp_transfer_thread)!=putAtBottomAfterError.cend())
+ {
+ doNewActions_inode_manipulation();
+ doNewActions_start_transfer();
+ return;
+ }
+ bool isFound=false;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ int countLocalParse=0;
+ #endif
+ if(temp_transfer_thread->getStat()!=TransferStat_Idle)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"transfer thread not idle!");
+ return;
+ }
+ unsigned int int_for_internal_loop=0;
+ while(int_for_internal_loop<actionToDoListTransfer.size())
+ {
+ 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());
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type=Ultracopier::RemoveItem;
+ newAction.userAction.moveAt=0;
+ newAction.addAction=actionToDoTransferToItemOfCopyList(actionToDoListTransfer.at(int_for_internal_loop));
+ newAction.userAction.position=int_for_internal_loop;
+ actionDone.push_back(newAction);
+ /// \todo check if item is at the right thread
+ const int64_t transferTime=temp_transfer_thread->transferTime();
+ if(transferTime>=0 && temp_transfer_thread->haveStartTime)
+ {
+ timeToTransfer.push_back(std::pair<uint64_t,uint32_t>(temp_transfer_thread->transferSize,transferTime));
+ temp_transfer_thread->haveStartTime=false;
+ }
+ actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+int_for_internal_loop);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("actionToDoListTransfer.size(): %1, actionToDoListInode: %2, actionToDoListInode_afterTheTransfer: %3").arg(actionToDoListTransfer.size()).arg(actionToDoListInode.size()).arg(actionToDoListInode_afterTheTransfer.size()).toStdString());
+ if(actionToDoListTransfer.empty() && actionToDoListInode.empty() && actionToDoListInode_afterTheTransfer.empty())
+ updateTheStatus();
+
+ //add the current size of file, to general size because it's finish
+ copiedSize=temp_transfer_thread->copiedSize();
+ if(copiedSize>(qint64)temp_transfer_thread->transferSize)
+ {
+ oversize=copiedSize-temp_transfer_thread->transferSize;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"add oversize of: "+std::to_string(oversize));
+ bytesToTransfer+=oversize;
+ bytesTransfered+=oversize;
+ }
+ bytesTransfered+=temp_transfer_thread->transferSize;
+
+ temp_transfer_thread->transferId=0;
+ temp_transfer_thread->transferSize=0;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ countLocalParse++;
+ #endif
+ isFound=true;
+ if(actionToDoListTransfer.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"actionToDoListTransfer==0");
+ actionToDoListInode.insert(actionToDoListInode.cbegin(),actionToDoListInode_afterTheTransfer.cbegin(),actionToDoListInode_afterTheTransfer.cend());
+ actionToDoListInode_afterTheTransfer.clear();
+ doNewActions_inode_manipulation();
+ doNewActions_start_transfer();
+ }
+ break;
+ }
+ int_for_internal_loop++;
+ }
+ if(isFound)
+ deleteTransferThread();
+ 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());
+ temp_transfer_thread->transferId=0;
+ temp_transfer_thread->transferSize=0;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("countLocalParse: %1, actionToDoList.size(): %2").arg(countLocalParse).arg(actionToDoListTransfer.size()).toStdString());
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(countLocalParse!=1)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"countLocalParse != 1");
+ #endif
+ doNewActions_inode_manipulation();
+ doNewActions_start_transfer();
+}
+
+/** \brief put the current file at bottom in case of error
+\note ONLY IN CASE OF ERROR
+
+transferInodeIsClosed() will be call after, then will do:
+
+BUT
+
+this function call transfer->skip();
+not put at bottom, remove from to do list
+*/
+void ListThread::transferPutAtBottom()
+{
+ TransferThreadAsync *transfer=qobject_cast<TransferThreadAsync *>(QObject::sender());
+ if(transfer==NULL)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"transfer thread not located!");
+ return;
+ }
+ bool isFound=false;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ int countLocalParse=0;
+ #endif
+ unsigned int indexAction=0;
+ while(indexAction<actionToDoListTransfer.size())
+ {
+ if(actionToDoListTransfer.at(indexAction).id==transfer->transferId)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Put at the end: "+std::to_string(transfer->transferId));
+ //push for interface at the end
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type=Ultracopier::MoveItem;
+ newAction.addAction.id=transfer->transferId;
+ newAction.userAction.position=0;
+ newAction.userAction.moveAt=actionToDoListTransfer.size()-1;
+ actionDone.push_back(newAction);
+ //do the wait stat
+ actionToDoListTransfer[indexAction].isRunning=false;
+ //move at the end
+ actionToDoListTransfer.push_back(actionToDoListTransfer.at(indexAction));
+ actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+indexAction);
+ transfer->transferId=0;
+ transfer->transferSize=0;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ countLocalParse++;
+ #endif
+ isFound=true;
+ putAtBottomAfterError.insert(transfer);
+ break;
+ }
+ indexAction++;
+ }
+ if(!isFound)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,QStringLiteral("unable to found item into the todo list, id: %1, index: %2").arg(transfer->transferId).toStdString());
+ transfer->transferId=0;
+ transfer->transferSize=0;
+ putAtBottomAfterError.insert(transfer);
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"countLocalParse: "+std::to_string(countLocalParse));
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(countLocalParse!=1)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"countLocalParse != 1");
+ #endif
+ transfer->skip();
+}
+
+void ListThread::fileTransfer(const INTERNALTYPEPATH &sourceFileInfo,const INTERNALTYPEPATH &destinationFileInfo,const Ultracopier::CopyMode &mode)
+{
+ if(stopIt)
+ return;
+ addToTransfer(sourceFileInfo,destinationFileInfo,mode);
+}
+
+void ListThread::fileTransferWithInode(const INTERNALTYPEPATH &sourceFileInfo,const INTERNALTYPEPATH &destinationFileInfo,
+ const Ultracopier::CopyMode &mode,const TransferThread::dirent_uc &inode)
+{
+ if(stopIt)
+ return;
+ #ifdef Q_OS_WIN32
+ addToTransfer(sourceFileInfo,destinationFileInfo,mode,inode.size);
+ #else
+ (void)inode;
+ addToTransfer(sourceFileInfo,destinationFileInfo,mode);
+ #endif
+}
+
+void ListThread::autoStartAndCheckSpace()
+{
+ if(needMoreSpace())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"Need more space");
+ return;
+ }
+ autoStartIfNeeded();
+}
+
+void ListThread::autoStartIfNeeded()
+{
+ if(autoStart)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"Auto start the copy");
+ startGeneralTransfer();
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"Put the copy engine in pause");
+ putInPause=true;
+ emit isInPause(true);
+ }
+}
+
+//set auto start
+void ListThread::setAutoStart(const bool autoStart)
+{
+ this->autoStart=autoStart;
+}
+
+void ListThread::startGeneralTransfer()
+{
+ doNewActions_inode_manipulation();
+}
+
+/** \brief to sync the transfer list
+ * Used when the interface is changed, useful to minimize the memory size */
+void ListThread::syncTransferList()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ emit send_syncTransferList();
+}
+
+bool ListThread::getReturnBoolToCopyEngine() const
+{
+ return returnBoolToCopyEngine;
+}
+
+std::pair<quint64, quint64> ListThread::getReturnPairQuint64ToCopyEngine() const
+{
+ return returnPairQuint64ToCopyEngine;
+}
+
+Ultracopier::ItemOfCopyList ListThread::getReturnItemOfCopyListToCopyEngine() const
+{
+ return returnItemOfCopyListToCopyEngine;
+}
+
+void ListThread::realByteTransfered()
+{
+ quint64 totalRealByteTransfered=0;
+ int index=0;
+ int loop_sub_size_transfer_thread_search=transferThreadList.size();
+ while(index<loop_sub_size_transfer_thread_search)
+ {
+ const TransferThreadAsync * thread=transferThreadList.at(index);
+ totalRealByteTransfered+=thread->realByteTransfered();
+ index++;
+ }
+ emit send_realBytesTransfered(totalRealByteTransfered);
+}
+
+void ListThread::checkIfReadyToCancel()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ if(!stopIt)
+ return;
+ int index=0;
+ int loop_size=transferThreadList.size();
+ while(index<loop_size)
+ {
+ if(transferThreadList.at(index)!=NULL)
+ {
+ if(transferThreadList.at(index)->transferId!=0)
+ return;
+ //need wait a clean stop (and then destination remove)
+ if(transferThreadList.at(index)->getStat()!=TransferStat_Idle)
+ return;
+ delete transferThreadList.at(index);//->deleteLayer();
+ transferThreadList[index]=NULL;
+ transferThreadList.erase(transferThreadList.cbegin()+index);
+ loop_size=transferThreadList.size();
+ index--;
+ }
+ index++;
+ }
+ actionToDoListTransfer.clear();
+ actionToDoListInode.clear();
+ actionToDoListInode_afterTheTransfer.clear();
+ actionDone.clear();
+ progressionList.clear();
+ returnListItemOfCopyListToCopyEngine.clear();
+ quit();
+ waitCancel.release();
+ emit canBeDeleted();
+}
+
+void ListThread::updateTheStatus()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ sendActionDone();
+ bool updateTheStatus_listing=scanFileOrFolderThreadsPool.size()>0;
+ bool updateTheStatus_copying=actionToDoListTransfer.size()>0 || actionToDoListInode.size()>0 || actionToDoListInode_afterTheTransfer.size()>0;
+ Ultracopier::EngineActionInProgress updateTheStatus_action_in_progress;
+ if(updateTheStatus_copying && updateTheStatus_listing)
+ updateTheStatus_action_in_progress=Ultracopier::CopyingAndListing;
+ else if(updateTheStatus_listing)
+ updateTheStatus_action_in_progress=Ultracopier::Listing;
+ else if(updateTheStatus_copying)
+ updateTheStatus_action_in_progress=Ultracopier::Copying;
+ else
+ updateTheStatus_action_in_progress=Ultracopier::Idle;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit actionInProgess("+std::to_string(updateTheStatus_action_in_progress)+")");
+ emit actionInProgess(updateTheStatus_action_in_progress);
+}
+
+//mk path to do
+uint64_t ListThread::addToMkPath(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination, const int& inode)
+{
+ if(stopIt)
+ return 0;
+ if(inode!=0 && (!keepDate && !doRightTransfer))
+ return 0;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination));
+ ActionToDoInode temp;
+ temp.type = ActionType_MkPath;
+ temp.id = generateIdNumber();
+ temp.source = source;
+ temp.destination= destination;
+ temp.isRunning = false;
+ actionToDoListInode.push_back(temp);
+ return temp.id;
+}
+
+//add path to do
+void ListThread::addToMovePath(const INTERNALTYPEPATH &source, const INTERNALTYPEPATH &destination, const int& inodeToRemove)
+{
+ if(stopIt)
+ return;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination)+", inodeToRemove: "+std::to_string(inodeToRemove));
+ ActionToDoInode temp;
+ temp.type = ActionType_MovePath;
+ temp.id = generateIdNumber();
+ temp.size = inodeToRemove;
+ temp.source = source;
+ temp.destination= destination;
+ temp.isRunning = false;
+ actionToDoListInode.push_back(temp);
+}
+
+void ListThread::addToKeepAttributePath(const INTERNALTYPEPATH &source, const INTERNALTYPEPATH &destination, const int& inodeToRemove)
+{
+ if(stopIt)
+ return;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination)+", inodeToRemove: "+std::to_string(inodeToRemove));
+ ActionToDoInode temp;
+ temp.type = ActionType_SyncDate;
+ temp.id = generateIdNumber();
+ temp.size = inodeToRemove;
+ temp.source = source;
+ temp.destination= destination;
+ temp.isRunning = false;
+ actionToDoListInode.push_back(temp);
+}
+
+void ListThread::addToRealMove(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination)
+{
+ if(stopIt)
+ return;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination));
+ ActionToDoInode temp;
+ temp.type = ActionType_RealMove;
+ temp.id = generateIdNumber();
+ temp.size = 0;
+ temp.source = source;
+ temp.destination= destination;
+ temp.isRunning = false;
+ actionToDoListInode.push_back(temp);
+}
+
+#ifdef ULTRACOPIER_PLUGIN_RSYNC
+//rsync rm
+void ListThread::addToRmForRsync(const std::string& destination)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"inode: "+destination);
+ ActionToDoInode temp;
+ temp.type = ActionType_RmSync;
+ temp.id = generateIdNumber();
+ temp.destination= destination;
+ temp.isRunning = false;
+ actionToDoListInode.push_back(temp);
+}
+#endif
+
+//send the progression, after full reset of the interface (then all is empty)
+void ListThread::syncTransferList_internal()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ emit syncReady();
+ actionDone.clear();
+ //do list operation
+ TransferThreadAsync *transferThread;
+ const int &loop_size=actionToDoListTransfer.size();
+ int loop_sub_size=transferThreadList.size();
+ //this loop to have at max inodeThreads*inodeThreads, not inodeThreads*transferThreadList.size()
+ int int_for_internal_loop;
+ for(int int_for_loop=0; int_for_loop<loop_size; ++int_for_loop) {
+ const ActionToDoTransfer &item=actionToDoListTransfer.at(int_for_loop);
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type = Ultracopier::PreOperation;
+ newAction.addAction.id = item.id;
+ const size_t sourceIndex=item.source.rfind('/');
+ if(sourceIndex == std::string::npos)
+ {
+ newAction.addAction.sourceFullPath = '/';
+ newAction.addAction.sourceFileName = TransferThread::internalStringTostring(item.source);
+ }
+ else
+ {
+ newAction.addAction.sourceFullPath = TransferThread::internalStringTostring(item.source);
+ newAction.addAction.sourceFileName = TransferThread::internalStringTostring(item.source.substr(sourceIndex+1));
+ }
+ const size_t destinationIndex=item.destination.rfind('/');
+ if(destinationIndex == std::string::npos)
+ {
+ newAction.addAction.destinationFullPath = '/';
+ newAction.addAction.destinationFileName = TransferThread::internalStringTostring(item.destination);
+ }
+ else
+ {
+ newAction.addAction.destinationFullPath = TransferThread::internalStringTostring(item.destination);
+ newAction.addAction.destinationFileName = TransferThread::internalStringTostring(item.destination.substr(destinationIndex+1));
+ }
+ newAction.addAction.size = item.size;
+ newAction.addAction.mode = item.mode;
+ actionDone.push_back(newAction);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"id: "+std::to_string(item.id)+", size: "+std::to_string(item.size)+
+ ", name: "+TransferThread::internalStringTostring(item.source)+", size2: "+std::to_string(newAction.addAction.size));
+ if(item.isRunning)
+ {
+ for(int_for_internal_loop=0; int_for_internal_loop<loop_sub_size; ++int_for_internal_loop) {
+ transferThread=transferThreadList.at(int_for_internal_loop);
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type = Ultracopier::PreOperation;
+ newAction.addAction.id = item.id;
+ const size_t sourceIndex=item.source.rfind('/');
+ if(sourceIndex == std::string::npos)
+ {
+ newAction.addAction.sourceFullPath = TransferThread::internalStringTostring(item.source);
+ newAction.addAction.sourceFileName = TransferThread::internalStringTostring(item.source);
+ }
+ else
+ {
+ newAction.addAction.sourceFullPath = TransferThread::internalStringTostring(item.source);
+ newAction.addAction.sourceFileName = TransferThread::internalStringTostring(item.source.substr(sourceIndex+1));
+ }
+ const size_t destinationIndex=item.destination.rfind('/');
+ if(destinationIndex == std::string::npos)
+ {
+ newAction.addAction.destinationFullPath = TransferThread::internalStringTostring(item.destination);
+ newAction.addAction.destinationFileName = TransferThread::internalStringTostring(item.destination);
+ }
+ else
+ {
+ newAction.addAction.destinationFullPath = TransferThread::internalStringTostring(item.destination);
+ newAction.addAction.destinationFileName = TransferThread::internalStringTostring(item.destination.substr(destinationIndex+1));
+ }
+ newAction.addAction.size = item.size;
+ newAction.addAction.mode = item.mode;
+ actionDone.push_back(newAction);
+ if(transferThread->getStat()!=TransferStat_PreOperation)
+ {
+ Ultracopier::ReturnActionOnCopyList newAction;
+ switch(transferThread->getStat())
+ {
+ case TransferStat_Transfer:
+ newAction.type=Ultracopier::Transfer;
+ break;
+ /*case TransferStat_PostTransfer:
+ newAction.type=Ultracopier::PostOperation;
+ break;*/
+ case TransferStat_PostOperation:
+ newAction.type=Ultracopier::PostOperation;
+ break;
+ default:
+ break;
+ }
+ newAction.addAction.id = item.id;
+ actionDone.push_back(newAction);
+ }
+ }
+ }
+ }
+}
+
+//add file transfer to do
+uint64_t ListThread::addToTransfer(const INTERNALTYPEPATH &source, const INTERNALTYPEPATH &destination, const Ultracopier::CopyMode& mode, const int64_t sendedsize)
+{
+ if(stopIt)
+ return 0;
+ //add to transfer list
+ numberOfTransferIntoToDoList++;
+ uint64_t size=0;
+ if(sendedsize>=0)
+ size=sendedsize;
+ else
+ {
+ const int64_t tempSize=TransferThread::file_stat_size(source);
+ if(tempSize>=0)
+ size=tempSize;
+ }
+ const std::string &drive=driveManagement.getDrive(TransferThread::internalStringTostring(destination));
+ if(!drive.empty())//can be a network drive
+ if(mode!=Ultracopier::Move || drive!=driveManagement.getDrive(TransferThread::internalStringTostring(source)))
+ {
+ if(requiredSpace.find(drive)!=requiredSpace.cend())
+ {
+ requiredSpace[drive]+=size;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("space needed add: %1, space needed: %2, on: %3").arg(size).arg(requiredSpace.at(drive)).arg(QString::fromStdString(drive)).toStdString());
+ }
+ else
+ {
+ requiredSpace[drive]=size;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("set space %1 needed, on: %2").arg(size).arg(QString::fromStdString(drive)).toStdString());
+ }
+ }
+ bytesToTransfer+= size;
+ ActionToDoTransfer temp;
+ temp.id = generateIdNumber();
+ temp.size = size;
+ temp.source = source;
+ temp.destination= destination;
+ temp.mode = mode;
+ temp.isRunning = false;
+ actionToDoListTransfer.push_back(temp);
+ //push the new transfer to interface
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type = Ultracopier::AddingItem;
+ newAction.addAction=actionToDoTransferToItemOfCopyList(temp);
+ actionDone.push_back(newAction);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination)+", add entry: "+std::to_string(temp.id)+", size: "+
+ std::to_string(temp.size)+", size2: "+std::to_string(size)+", isSymLink: "+std::to_string(TransferThread::is_symlink(source)));
+ return temp.id;
+}
+
+Ultracopier::ItemOfCopyList ListThread::actionToDoTransferToItemOfCopyList(const ListThread::ActionToDoTransfer &actionToDoTransfer)
+{
+ Ultracopier::ItemOfCopyList itemOfCopyList;
+ itemOfCopyList.id = actionToDoTransfer.id;
+ const size_t sourceIndex=actionToDoTransfer.source.rfind('/');
+ if(sourceIndex == std::string::npos)
+ {
+ itemOfCopyList.sourceFullPath = TransferThread::internalStringTostring(actionToDoTransfer.source);
+ itemOfCopyList.sourceFileName = TransferThread::internalStringTostring(actionToDoTransfer.source);
+ }
+ else
+ {
+ itemOfCopyList.sourceFullPath = TransferThread::internalStringTostring(actionToDoTransfer.source);
+ itemOfCopyList.sourceFileName = TransferThread::internalStringTostring(actionToDoTransfer.source.substr(sourceIndex+1));
+ }
+ const size_t destinationIndex=actionToDoTransfer.destination.rfind('/');
+ if(destinationIndex == std::string::npos)
+ {
+ itemOfCopyList.destinationFullPath = TransferThread::internalStringTostring(actionToDoTransfer.destination);
+ itemOfCopyList.destinationFileName = TransferThread::internalStringTostring(actionToDoTransfer.destination);
+ }
+ else
+ {
+ itemOfCopyList.destinationFullPath = TransferThread::internalStringTostring(actionToDoTransfer.destination);
+ itemOfCopyList.destinationFileName = TransferThread::internalStringTostring(actionToDoTransfer.destination.substr(destinationIndex+1));
+ }
+ itemOfCopyList.size = actionToDoTransfer.size;
+ itemOfCopyList.mode = actionToDoTransfer.mode;
+ return itemOfCopyList;
+}
+
+//generate id number
+uint64_t ListThread::generateIdNumber()
+{
+ idIncrementNumber++;
+ if(idIncrementNumber>(((quint64)1024*1024)*1024*1024*2))
+ idIncrementNumber=0;
+ return idIncrementNumber;
+}
+
+//do new actions
+void ListThread::doNewActions_start_transfer()
+{
+ /*ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("actionToDoListTransfer.size(): %1, numberOfTranferRuning: %2")
+ .arg(actionToDoListTransfer.size()).arg(getNumberOfTranferRuning()).toStdString());*/
+ if(stopIt || putInPause)
+ return;
+ int numberOfTranferRuning=getNumberOfTranferRuning();
+ const int &loop_size=transferThreadList.size();
+ //lunch the transfer in WaitForTheTransfer
+ //high priority
+ int int_for_loop=0;
+ while(int_for_loop<loop_size)
+ {
+ TransferThreadAsync *transferThread=transferThreadList.at(int_for_loop);
+ if(transferThread->getStat()==TransferStat_WaitForTheTransfer/*ready to start the transfer*/ && transferThread->transferId!=0)
+ {
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning));
+ if(transferThread->transferSize>=parallelizeIfSmallerThan)
+ {
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning));
+ if(numberOfTranferRuning<ULTRACOPIER_PLUGIN_MAXPARALLELTRANFER)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning));
+ transferThread->startTheTransfer();
+ numberOfTranferRuning++;
+ }
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning)+
+ ", start in parallele beacuase size is "+std::to_string(transferThread->transferSize));
+ transferThread->startTheTransfer();
+ numberOfTranferRuning++;
+ }
+ }
+ int_for_loop++;
+ }
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning));
+
+ //low priority
+ int_for_loop=0;
+ while(int_for_loop<loop_size)
+ {
+ TransferThreadAsync *transferThread=transferThreadList.at(int_for_loop);
+ if(transferThread->getStat()==TransferStat_PreOperation/*wait user dialog action*/)
+ {
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning));
+ if(transferThread->transferSize>=parallelizeIfSmallerThan)
+ {
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning));
+ if(numberOfTranferRuning<ULTRACOPIER_PLUGIN_MAXPARALLELTRANFER)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning));
+ transferThread->startTheTransfer();
+ numberOfTranferRuning++;
+ }
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning));
+ transferThread->startTheTransfer();
+ numberOfTranferRuning++;
+ }
+ }
+ int_for_loop++;
+ }
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning));
+}
+
+/** \brief lunch the pre-op or inode op
+ 1) locate the next next item to do into the both list
+ 1a) optimisation posible on the mkpath/rmpath
+ 2) determine what need be lunched
+ 3) lunch it, rerun the 2)
+ */
+void ListThread::doNewActions_inode_manipulation()
+{
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"actionToDoList.size(): "+std::to_string(actionToDoListTransfer.size()));
+ #endif
+ if(stopIt)
+ checkIfReadyToCancel();
+ if(stopIt || putInPause)
+ return;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ #endif
+ //lunch the pre-op or inode op
+ TransferThreadAsync *currentTransferThread;
+ int int_for_loop=0;
+ int int_for_internal_loop=0;
+ int int_for_transfer_thread_search=0;
+ actionToDoListTransfer_count=actionToDoListTransfer.size();
+ actionToDoListInode_count=actionToDoListInode.size();
+ int loop_sub_size_transfer_thread_search=transferThreadList.size();
+ //search the next transfer action to do
+ while(int_for_loop<actionToDoListTransfer_count)
+ {
+ ActionToDoTransfer& currentActionToDoTransfer=actionToDoListTransfer[int_for_loop];
+ if(!currentActionToDoTransfer.isRunning)
+ {
+ //search the next inode action to do
+ while(int_for_internal_loop<actionToDoListInode_count)
+ {
+ if(!actionToDoListInode.at(int_for_internal_loop).isRunning)
+ {
+ if(currentActionToDoTransfer.id<actionToDoListInode.at(int_for_internal_loop).id)
+ {
+ //do the tranfer action in the next code
+ break;
+ }
+ else
+ {
+ //do the inode action
+ #include "ListThread_InodeAction.cpp"
+ }
+ }
+ int_for_internal_loop++;
+ }
+ //do the tranfer action
+ while(int_for_transfer_thread_search<loop_sub_size_transfer_thread_search)
+ {
+ /**
+ transferThreadList.at(int_for_transfer_thread_search)->transferId==0) /!\ important!
+ Because the other thread can have call doNewAction before than this thread have the finish event parsed!
+ I this case it lose all data
+ */
+ currentTransferThread=transferThreadList.at(int_for_transfer_thread_search);
+ if(currentTransferThread->getStat()==TransferStat_Idle && currentTransferThread->transferId==0 &&
+ overCheckUsedThread.find(currentTransferThread)==overCheckUsedThread.cend()) // /!\ important!
+ {
+ overCheckUsedThread.insert(currentTransferThread);
+
+ std::string drive=driveManagement.getDrive(TransferThread::internalStringTostring(currentActionToDoTransfer.destination));
+ if(requiredSpace.find(drive)!=requiredSpace.cend() &&
+ (currentActionToDoTransfer.mode!=Ultracopier::Move ||
+ drive!=driveManagement.getDrive(TransferThread::internalStringTostring(currentActionToDoTransfer.source))))
+ {
+ requiredSpace[drive]-=currentActionToDoTransfer.size;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("space needed removed: %1, space needed: %2, on: %3").arg(
+ currentActionToDoTransfer.size).arg(requiredSpace.at(drive)).arg(QString::fromStdString(drive)).toStdString());
+ }
+ currentTransferThread->transferId=currentActionToDoTransfer.id;
+ currentTransferThread->transferSize=currentActionToDoTransfer.size;
+ putAtBottomAfterError.erase(currentTransferThread);
+ if(!currentTransferThread->setFiles(
+ currentActionToDoTransfer.source,
+ currentActionToDoTransfer.size,
+ currentActionToDoTransfer.destination,
+ currentActionToDoTransfer.mode
+ ))
+ {
+ 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)
+ );
+ break;
+ }
+ currentActionToDoTransfer.isRunning=true;
+
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(int_for_loop)+"] id: "+
+ std::to_string(currentTransferThread->transferId)+
+ " is idle, use it for "+TransferThread::internalStringTostring(currentActionToDoTransfer.destination)
+ );
+
+ /// \note wrong position? Else write why it's here
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type = Ultracopier::PreOperation;
+ newAction.addAction.id = currentActionToDoTransfer.id;
+ const size_t sourceIndex=currentActionToDoTransfer.source.rfind('/');
+ if(sourceIndex == std::string::npos)
+ {
+ newAction.addAction.sourceFullPath = '/';
+ newAction.addAction.sourceFileName = TransferThread::internalStringTostring(currentActionToDoTransfer.source);
+ }
+ else
+ {
+ newAction.addAction.sourceFullPath = TransferThread::internalStringTostring(currentActionToDoTransfer.source);
+ newAction.addAction.sourceFileName = TransferThread::internalStringTostring(currentActionToDoTransfer.source.substr(sourceIndex+1));
+ }
+ const size_t destinationIndex=currentActionToDoTransfer.destination.rfind('/');
+ if(destinationIndex == std::string::npos)
+ {
+ newAction.addAction.destinationFullPath = '/';
+ newAction.addAction.destinationFileName = TransferThread::internalStringTostring(currentActionToDoTransfer.destination);
+ }
+ else
+ {
+ newAction.addAction.destinationFullPath = TransferThread::internalStringTostring(currentActionToDoTransfer.destination);
+ newAction.addAction.destinationFileName = TransferThread::internalStringTostring(currentActionToDoTransfer.destination.substr(destinationIndex+1));
+ }
+ newAction.addAction.size = currentActionToDoTransfer.size;
+ newAction.addAction.mode = currentActionToDoTransfer.mode;
+ actionDone.push_back(newAction);
+ int_for_transfer_thread_search++;
+ numberOfInodeOperation++;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfInodeOperation: "+std::to_string(numberOfInodeOperation));
+ #endif
+ break;
+ }
+ int_for_transfer_thread_search++;
+ }
+ if(int_for_internal_loop==loop_sub_size_transfer_thread_search)
+ {
+ /// \note Can be normal when all thread is not initialized
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"unable to found free thread to do the transfer");
+ #endif
+ break;
+ }
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfInodeOperation: "+std::to_string(numberOfInodeOperation));
+ #endif
+ if(numberOfInodeOperation>=inodeThreads)
+ break;
+ if(followTheStrictOrder)
+ break;
+ }
+ int_for_loop++;
+ }
+ //search the next inode action to do
+ int_for_internal_loop=0;
+ while(int_for_internal_loop<actionToDoListInode_count)
+ {
+ if(!actionToDoListInode.at(int_for_internal_loop).isRunning)
+ {
+ //do the inode action
+ #include "ListThread_InodeAction.cpp"
+ }
+ int_for_internal_loop++;
+ }
+ //error checking
+ if(actionToDoListInode_count>inodeThreads)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("The index have been detected as out of max range: %1>%2").arg(actionToDoListInode_count).arg(inodeThreads).toStdString());
+ return;
+ }
+}
+
+//restart transfer if it can
+void ListThread::restartTransferIfItCan()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ TransferThreadAsync *transfer=qobject_cast<TransferThreadAsync *>(QObject::sender());
+ if(transfer==NULL)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"transfer thread not located!");
+ return;
+ }
+ int numberOfTranferRuning=getNumberOfTranferRuning();
+ if(numberOfTranferRuning<ULTRACOPIER_PLUGIN_MAXPARALLELTRANFER && transfer->getStat()==TransferStat_WaitForTheTransfer)
+ transfer->startTheTransfer();
+ doNewActions_start_transfer();
+}
+
+
+void ListThread::set_setFilters(const std::vector<Filters_rules> &include,const std::vector<Filters_rules> &exclude)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("include.size(): %1, exclude.size(): %2").arg(include.size()).arg(exclude.size()).toStdString());
+ this->include=include;
+ this->exclude=exclude;
+ unsigned int index=0;
+ while(index<scanFileOrFolderThreadsPool.size())
+ {
+ scanFileOrFolderThreadsPool.at(index)->setFilters(include,exclude);
+ index++;
+ }
+}
+
+void ListThread::set_sendNewRenamingRules(const std::string &firstRenamingRule,const std::string &otherRenamingRule)
+{
+ this->firstRenamingRule=firstRenamingRule;
+ this->otherRenamingRule=otherRenamingRule;
+ emit send_sendNewRenamingRules(firstRenamingRule,otherRenamingRule);
+}
+
+void ListThread::set_updateMount()
+{
+ driveManagement.tryUpdate();
+ emit send_updateMount();
+}
+
+void ListThread::mkPathFirstFolderFinish()
+{
+ int int_for_loop=0;
+ const int &loop_size=actionToDoListInode.size();
+ while(int_for_loop<loop_size)
+ {
+ const ActionToDoInode &actionToDoInode=actionToDoListInode.at(int_for_loop);
+ if(actionToDoInode.isRunning)
+ {
+ if(actionToDoInode.type==ActionType_MkPath || actionToDoInode.type==ActionType_SyncDate)
+ {
+ //to send to the log
+ emit mkPath(TransferThread::internalStringTostring(actionToDoInode.destination));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop mkpath: "+TransferThread::internalStringTostring(actionToDoInode.destination));
+ actionToDoListInode.erase(actionToDoListInode.cbegin()+int_for_loop);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("actionToDoListTransfer.size(): %1, actionToDoListInode: %2, actionToDoListInode_afterTheTransfer: %3").arg(actionToDoListTransfer.size()).arg(actionToDoListInode.size()).arg(actionToDoListInode_afterTheTransfer.size()).toStdString());
+ if(actionToDoListTransfer.empty() && actionToDoListInode.empty() && actionToDoListInode_afterTheTransfer.empty())
+ updateTheStatus();
+ numberOfInodeOperation--;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfInodeOperation: "+std::to_string(numberOfInodeOperation));
+ #endif
+ doNewActions_inode_manipulation();
+ return;
+ }
+ if(actionToDoInode.type==ActionType_MovePath || actionToDoInode.type==ActionType_RealMove
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ || actionToDoInode.type==ActionType_RmSync
+ #endif
+ )
+ {
+ //to send to the log
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ if(actionToDoInode.type!=ActionType_RmSync)
+ emit mkPath(actionToDoInode.destination);
+ #else
+ emit mkPath(TransferThread::internalStringTostring(actionToDoInode.destination));
+ #endif
+ emit rmPath(TransferThread::internalStringTostring(actionToDoInode.source));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop mkpath: "+TransferThread::internalStringTostring(actionToDoInode.destination));
+ actionToDoListInode.erase(actionToDoListInode.cbegin()+int_for_loop);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("actionToDoListTransfer.size(): %1, actionToDoListInode: %2, actionToDoListInode_afterTheTransfer: %3").arg(actionToDoListTransfer.size()).arg(actionToDoListInode.size()).arg(actionToDoListInode_afterTheTransfer.size()).toStdString());
+ if(actionToDoListTransfer.empty() && actionToDoListInode.empty() && actionToDoListInode_afterTheTransfer.empty())
+ updateTheStatus();
+ numberOfInodeOperation--;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfInodeOperation: "+std::to_string(numberOfInodeOperation));
+ #endif
+ doNewActions_inode_manipulation();
+ return;
+ }
+
+ }
+ int_for_loop++;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to found item into the todo list");
+}
+
+/// \note Can be call without queue because all call will be serialized
+void ListThread::fileAlreadyExists(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const bool &isSame)
+{
+ 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)
+{
+ TransferThreadAsync * transferThread=qobject_cast<TransferThreadAsync *>(sender());
+ if(transferThread==NULL)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Thread locating error");
+ return;
+ }
+ ErrorLogEntry errorLogEntry;
+ errorLogEntry.source=TransferThread::internalStringTostring(transferThread->getSourcePath());
+ errorLogEntry.destination=TransferThread::internalStringTostring(transferThread->getDestinationPath());
+ errorLogEntry.mode=transferThread->getMode();
+ errorLogEntry.error=errorString;
+ errorLog.push_back(errorLogEntry);
+ emit errorToRetry(TransferThread::internalStringTostring(transferThread->getSourcePath()),
+ TransferThread::internalStringTostring(transferThread->getDestinationPath()),
+ errorString);
+ emit send_errorOnFile(fileInfo,errorString,transferThread,errorType);
+}
+
+/// \note Can be call without queue because all call will be serialized
+void ListThread::folderAlreadyExists(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const bool &isSame)
+{
+ emit send_folderAlreadyExists(source,destination,isSame,qobject_cast<ScanFileOrFolder *>(sender()));
+}
+
+/// \note Can be call without queue because all call will be serialized
+/// \todo all this part
+void ListThread::errorOnFolder(const INTERNALTYPEPATH &fileInfo,const std::string &errorString,const ErrorType &errorType)
+{
+ emit send_errorOnFolder(fileInfo,errorString,qobject_cast<ScanFileOrFolder *>(sender()),errorType);
+}
+
+//to run the thread
+void ListThread::run()
+{
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ clockForTheCopySpeed=new QTimer();
+ #endif
+ exec();
+}
+
+void ListThread::getNeedPutAtBottom(const INTERNALTYPEPATH &fileInfo, const std::string &errorString, TransferThreadAsync *thread,
+ const ErrorType &errorType)
+{
+ (void)fileInfo;
+ (void)errorString;
+ (void)errorType;
+ thread->putAtBottom();
+}
+
+/// \to create transfer thread
+void ListThread::createTransferThread()
+{
+ if(stopIt)
+ return;
+ if(transferThreadList.size()>=(unsigned int)inodeThreads)
+ return;
+ transferThreadList.push_back(new TransferThreadAsync());
+ TransferThreadAsync * last=transferThreadList.back();
+ last->transferId=0;
+ last->transferSize=0;
+ last->setRightTransfer(doRightTransfer);
+ last->setKeepDate(keepDate);
+ last->setOsSpecFlags(os_spec_flags);
+ last->setNativeCopy(native_copy);
+ last->setAlwaysFileExistsAction(alwaysDoThisActionForFileExists);
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ if(!last->setBlockSize(blockSizeAfterSpeedLimitation))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to set the block size: "+std::to_string(blockSizeAfterSpeedLimitation));
+ #endif
+ last->setDeletePartiallyTransferredFiles(deletePartiallyTransferredFiles);
+ last->setBuffer(buffer);
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ last->setRsync(rsync);
+ #endif
+
+ last->writeThread.writeFileList=new QMultiHash<QString,WriteThread *>();
+ last->writeThread.writeFileListMutex=new QMutex();
+
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(!connect(last,&TransferThread::debugInformation, this,&ListThread::debugInformation, Qt::QueuedConnection))
+ abort();
+ #endif // ULTRACOPIER_PLUGIN_DEBUG
+ if(!connect(last,&TransferThread::errorOnFile, this,&ListThread::errorOnFile, Qt::QueuedConnection))
+ abort();
+ if(!connect(last,&TransferThread::fileAlreadyExists, this,&ListThread::fileAlreadyExists, Qt::QueuedConnection))
+ abort();
+ if(!connect(last,&TransferThread::tryPutAtBottom, this,&ListThread::transferPutAtBottom, Qt::QueuedConnection))
+ abort();
+ if(!connect(last,&TransferThread::readStopped, this,&ListThread::doNewActions_start_transfer, Qt::QueuedConnection))
+ abort();
+ if(!connect(last,&TransferThread::preOperationStopped, this,&ListThread::doNewActions_start_transfer, Qt::QueuedConnection))
+ abort();
+ if(!connect(last,&TransferThread::postOperationStopped, this,&ListThread::transferInodeIsClosed, Qt::QueuedConnection))
+ abort();
+ if(!connect(last,&TransferThread::checkIfItCanBeResumed, this,&ListThread::restartTransferIfItCan, Qt::QueuedConnection))
+ abort();
+ if(!connect(last,&TransferThread::pushStat, this,&ListThread::newTransferStat, Qt::QueuedConnection))
+ abort();
+
+ if(!connect(this,&ListThread::send_sendNewRenamingRules, last,&TransferThread::setRenamingRules, Qt::QueuedConnection))
+ abort();
+
+ if(!connect(this,&ListThread::send_updateMount, last,&TransferThread::set_updateMount, Qt::QueuedConnection))
+ abort();
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ last->setMultiForBigSpeed(multiForBigSpeed);
+ //speed limitation
+ connect(clockForTheCopySpeed, &QTimer::timeout, last, &TransferThreadAsync::timeOfTheBlockCopyFinished, Qt::QueuedConnection);
+ #endif
+
+ last->setObjectName(QStringLiteral("transfer %1").arg(transferThreadList.size()-1));
+ last->readThread.setObjectName(QStringLiteral("read %1").arg(transferThreadList.size()-1));
+ last->writeThread.setObjectName(QStringLiteral("write %1").arg(transferThreadList.size()-1));
+ last->setRenamingRules(firstRenamingRule,otherRenamingRule);
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ last->setId(transferThreadList.size()-1);
+ #endif
+ if(transferThreadList.size()>=(unsigned int)inodeThreads)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"create the last of the "+std::to_string(inodeThreads)+" transferThread");
+ return;
+ }
+ if(stopIt)
+ return;
+ doNewActions_inode_manipulation();
+ emit askNewTransferThread();
+}
+
+void ListThread::deleteTransferThread()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ int loop_size=transferThreadList.size();
+ if(loop_size>inodeThreads)
+ {
+ int index=0;
+ while(index<loop_size && loop_size>inodeThreads)
+ {
+ if(transferThreadList.at(index)->getStat()==TransferStat_Idle && transferThreadList.at(index)->transferId==0)
+ {
+ transferThreadList.at(index)->stop();
+ delete transferThreadList.at(index);//->deleteLayer();
+ transferThreadList[index]=NULL;
+ transferThreadList.erase(transferThreadList.cbegin()+index);
+ loop_size--;
+ }
+ else
+ index++;
+ }
+ if(loop_size==inodeThreads)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"inodeThreads is lowered to the right value: "+std::to_string(inodeThreads));
+ }
+}
+
+void ListThread::setMkFullPath(const bool mkFullPath)
+{
+ this->mkFullPath=mkFullPath;
+ mkPathQueue.setMkFullPath(mkFullPath);
+ unsigned int index=0;
+ while(index<transferThreadList.size())
+ {
+ transferThreadList.at(index)->setMkFullPath(mkFullPath);
+ index++;
+ }
+}
diff --git a/plugins/CopyEngine/Ultracopier/ListThread.h b/plugins/CopyEngine/Ultracopier-Spec/ListThread.h
index 48e7142..361f65c 100644..100755
--- a/plugins/CopyEngine/Ultracopier/ListThread.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThread.h
@@ -10,8 +10,9 @@
#include <QObject>
#include <string>
#include <vector>
+#include <unordered_set>
#include <unordered_map>
-#include <QFileInfo>
+#include <string>
#include <QSemaphore>
#include <QTextStream>
#include <QFile>
@@ -19,10 +20,10 @@
#include "../../../interface/PluginInterface_CopyEngine.h"
#include "ScanFileOrFolder.h"
-#include "TransferThread.h"
#include "MkPath.h"
#include "Environment.h"
#include "DriveManagement.h"
+#include "async/TransferThreadAsync.h"
/// \brief Define the list thread, and management to the action to do
class ListThread : public QThread
@@ -66,11 +67,16 @@ public:
{
uint64_t id;
uint64_t size;///< Used to set: used in case of transfer or remainingInode for drop folder
- QFileInfo source;///< Used to set: source for transfer, folder to create, folder to drop
- QFileInfo destination;
+ #ifdef WIDESTRING
+ std::wstring source;///< Used to set: source for transfer, folder to create, folder to drop
+ std::wstring destination;
+ #else
+ std::string source;///< Used to set: source for transfer, folder to create, folder to drop
+ std::string destination;
+ #endif
Ultracopier::CopyMode mode;
bool isRunning;///< store if the action si running
- //TransferThread * transfer; // -> see transferThreadList
+ //TTHREAD * transfer; // -> see transferThreadList
};
std::vector<ActionToDoTransfer> actionToDoListTransfer;
/// \brief to store one action to do
@@ -79,8 +85,13 @@ public:
ActionType type;///< \see ActionType
uint64_t id;
int64_t size;///< Used to set: used in case of transfer or remainingInode for drop folder
- QFileInfo source;///< Keep to copy the right/date, to remove (for move)
- QFileInfo destination;///< Used to set: folder to create, folder to drop
+ #ifdef WIDESTRING
+ std::wstring source;///< Keep to copy the right/date, to remove (for move)
+ std::wstring destination;///< Used to set: folder to create, folder to drop
+ #else
+ std::string source;///< Keep to copy the right/date, to remove (for move)
+ std::string destination;///< Used to set: folder to create, folder to drop
+ #endif
bool isRunning;///< store if the action si running
};
std::vector<ActionToDoInode> actionToDoListInode;
@@ -88,8 +99,8 @@ public:
int numberOfInodeOperation;
struct ErrorLogEntry
{
- QFileInfo source;
- QFileInfo destination;
+ std::string source;
+ std::string destination;
std::string error;
Ultracopier::CopyMode mode;
};
@@ -100,13 +111,12 @@ public:
bool getReturnBoolToCopyEngine() const;
std::pair<quint64,quint64> getReturnPairQuint64ToCopyEngine() const;
Ultracopier::ItemOfCopyList getReturnItemOfCopyListToCopyEngine() const;
+ void setMkFullPath(const bool mkFullPath);
+ std::unordered_set<void *> overCheckUsedThread;
- void set_doChecksum(bool doChecksum);
- void set_checksumIgnoreIfImpossible(bool checksumIgnoreIfImpossible);
- void set_checksumOnlyOnError(bool checksumOnlyOnError);
- void set_osBuffer(bool osBuffer);
- void set_osBufferLimited(bool osBufferLimited);
void autoStartIfNeeded();
+ /// \brief set auto start
+ void setAutoStart(const bool autoStart);
public slots:
//action on the copy
/// \brief put the transfer in pause
@@ -154,10 +164,8 @@ public slots:
void setRightTransfer(const bool doRightTransfer);
/// \brief set keep date
void setKeepDate(const bool keepDate);
- /// \brief set block size in KB
- void setBlockSize(const int blockSize);
- /// \brief set auto start
- void setAutoStart(const bool autoStart);
+ void setOsSpecFlags(bool os_spec_flags);
+ void setNativeCopy(bool native_copy);
#ifdef ULTRACOPIER_PLUGIN_RSYNC
/// \brief set rsync
void setRsync(const bool rsync);
@@ -177,12 +185,11 @@ public slots:
void doNewActions_inode_manipulation();
/// \brief restart transfer if it can
void restartTransferIfItCan();
- void getNeedPutAtBottom(const QFileInfo &fileInfo, const std::string &errorString, TransferThread *thread,const ErrorType &errorType);
+ void getNeedPutAtBottom(const INTERNALTYPEPATH &fileInfo, const std::string &errorString, TransferThreadAsync *thread, const ErrorType &errorType);
/// \brief update the transfer stat
void newTransferStat(const TransferStat &stat,const quint64 &id);
- void set_osBufferLimit(const unsigned int &osBufferLimit);
void set_setFilters(const std::vector<Filters_rules> &include,const std::vector<Filters_rules> &exclude);
void set_sendNewRenamingRules(const std::string &firstRenamingRule,const std::string &otherRenamingRule);
void set_updateMount();
@@ -192,24 +199,24 @@ public slots:
//send progression
void sendProgression();
- void setTransferAlgorithm(const TransferAlgorithm &transferAlgorithm);
- void setParallelBuffer(int parallelBuffer);
- void setSequentialBuffer(int sequentialBuffer);
- void setParallelizeIfSmallerThan(const unsigned int &parallelizeIfSmallerThan);
void setMoveTheWholeFolder(const bool &moveTheWholeFolder);
void setFollowTheStrictOrder(const bool &followTheStrictOrder);
void setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles);
void setInodeThreads(const int &inodeThreads);
void setRenameTheOriginalDestination(const bool &renameTheOriginalDestination);
void setCheckDiskSpace(const bool &checkDiskSpace);
- void setCopyListOrder(const bool &order);
+ void setBuffer(const bool &buffer);
void exportErrorIntoTransferList(const std::string &fileName);
private:
+ //can't be static into WriteThread, linked by instance then by ListThread
+ QMultiHash<QString,WriteThread *> *writeFileList;
+ QMutex *writeFileListMutex;
+
QSemaphore mkpathTransfer;
std::string sourceDrive;
bool sourceDriveMultiple;
std::string destinationDrive;
- std::string destinationFolder;
+ INTERNALTYPEPATH destinationFolder;
bool destinationDriveMultiple;
bool destinationFolderMultiple;
DriveManagement driveManagement;
@@ -217,7 +224,7 @@ private:
bool stopIt;
std::vector<ScanFileOrFolder *> scanFileOrFolderThreadsPool;
int numberOfTransferIntoToDoList;
- std::vector<TransferThread *> transferThreadList;
+ std::vector<TransferThreadAsync *> transferThreadList;
ScanFileOrFolder * newScanThread(Ultracopier::CopyMode mode);
uint64_t bytesToTransfer;
uint64_t bytesTransfered;
@@ -225,50 +232,35 @@ private:
#ifdef ULTRACOPIER_PLUGIN_RSYNC
bool rsync;
#endif
- bool putInPause;
std::vector<Ultracopier::ReturnActionOnCopyList> actionDone;///< to action to send to the interface
uint64_t idIncrementNumber;///< to store the last id returned
int64_t actualRealByteTransfered;
- int maxSpeed;///< in KB/s, assume as 0KB/s as default like every where
FolderExistsAction alwaysDoThisActionForFolderExists;
bool checkDestinationFolderExists;
- bool doChecksum;
- bool checksumIgnoreIfImpossible;
- bool checksumOnlyOnError;
- bool osBuffer;
- bool osBufferLimited;
unsigned int parallelizeIfSmallerThan;
bool moveTheWholeFolder;
- bool followTheStrictOrder;
bool deletePartiallyTransferredFiles;
- int sequentialBuffer;
- int parallelBuffer;
int inodeThreads;
bool renameTheOriginalDestination;
bool checkDiskSpace;
- bool copyListOrder;
+ bool buffer;
+ bool followTheStrictOrder;
+ std::unordered_set<TransferThreadAsync *> putAtBottomAfterError;
std::unordered_map<std::string,uint64_t> requiredSpace;
std::vector<std::pair<uint64_t,uint32_t> > timeToTransfer;
- unsigned int putAtBottom;
- unsigned int osBufferLimit;
+ //unsigned int putAtBottom;//why here? more correct into CopyEngine(), then translated to CopyEngine
std::vector<Filters_rules> include,exclude;
Ultracopier::CopyMode mode;
bool forcedMode;
std::string firstRenamingRule;
std::string otherRenamingRule;
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- int multiForBigSpeed;
- #endif
/* here to prevent:
QObject::killTimer: timers cannot be stopped from another thread
QObject::startTimer: timers cannot be started from another thread */
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- QTimer *clockForTheCopySpeed; ///< For the speed throttling
- #endif
- inline static Ultracopier::ItemOfCopyList actionToDoTransferToItemOfCopyList(const ActionToDoTransfer &actionToDoTransfer);
+ static Ultracopier::ItemOfCopyList actionToDoTransferToItemOfCopyList(const ActionToDoTransfer &actionToDoTransfer);
//add file transfer to do
- uint64_t addToTransfer(const QFileInfo& source,const QFileInfo& destination,const Ultracopier::CopyMode& mode);
+ uint64_t addToTransfer(const INTERNALTYPEPATH& source, const INTERNALTYPEPATH& destination, const Ultracopier::CopyMode& mode, const int64_t sendedsize=-1);
//generate id number
uint64_t generateIdNumber();
//warning the first entry is accessible will copy
@@ -287,7 +279,7 @@ private:
#ifdef ULTRACOPIER_PLUGIN_DEBUG_WINDOW
QTimer timerUpdateDebugDialog;
#endif
- void detectDrivesOfCurrentTransfer(const std::vector<std::string> &sources,const std::string &destination);
+ void detectDrivesOfCurrentTransfer(const std::vector<INTERNALTYPEPATH> &sources, const INTERNALTYPEPATH &destination);
FacilityInterface * facilityInterface;
QSemaphore waitConstructor,waitCancel;
int actionToDoListTransfer_count,actionToDoListInode_count;
@@ -299,28 +291,40 @@ private:
//memory variable for transfer thread creation
bool doRightTransfer;
bool keepDate;
- int blockSize;//in Bytes
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- int blockSizeAfterSpeedLimitation;//in Bytes
- #endif
+ bool os_spec_flags;
+ bool native_copy;
+ bool mkFullPath;
std::vector<std::string> drives;
FileExistsAction alwaysDoThisActionForFileExists;
+ int speedLimitation;
//to return value to the copyEngine
bool returnBoolToCopyEngine;
std::pair<quint64,quint64> returnPairQuint64ToCopyEngine;
std::vector<Ultracopier::ItemOfCopyList> returnListItemOfCopyListToCopyEngine;
Ultracopier::ItemOfCopyList returnItemOfCopyListToCopyEngine;
- Ultracopier::ProgressionItem tempItem;
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ QTimer *clockForTheCopySpeed;
+ int blockSizeAfterSpeedLimitation;//in Bytes
+ int multiForBigSpeed;
+ int blockSize;
+ #endif
+ bool putInPause;
void realByteTransfered();
int getNumberOfTranferRuning() const;
bool needMoreSpace() const;
private slots:
+ void exportTransferListInternal(const std::string &fileName);
+ void importTransferListInternal(const std::string &fileName);
+
void scanThreadHaveFinishSlot();
void scanThreadHaveFinish(bool skipFirstRemove=false);
void autoStartAndCheckSpace();
void updateTheStatus();
- void fileTransfer(const QFileInfo &sourceFileInfo,const QFileInfo &destinationFileInfo,const Ultracopier::CopyMode &mode);
+ void fileTransfer(const INTERNALTYPEPATH &sourceFileInfo, const INTERNALTYPEPATH &destinationFileInfo,
+ const Ultracopier::CopyMode &mode);
+ void fileTransferWithInode(const INTERNALTYPEPATH &sourceFileInfo, const INTERNALTYPEPATH &destinationFileInfo,
+ const Ultracopier::CopyMode &mode, const TransferThread::dirent_uc &inode);
//mkpath event
void mkPathFirstFolderFinish();
/** \brief put the current file at bottom in case of error
@@ -334,27 +338,28 @@ private slots:
#endif
//dialog message
/// \note Can be call without queue because all call will be serialized
- void fileAlreadyExists(const QFileInfo &source,const QFileInfo &destination,const bool &isSame);
+ void fileAlreadyExists(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const bool &isSame);
/// \note Can be call without queue because all call will be serialized
- void errorOnFile(const QFileInfo &fileInfo,const std::string &errorString, const ErrorType &errorType);
+ void errorOnFile(const INTERNALTYPEPATH &fileInfo,const std::string &errorString, const ErrorType &errorType);
/// \note Can be call without queue because all call will be serialized
- void folderAlreadyExists(const QFileInfo &source,const QFileInfo &destination,const bool &isSame);
+ void folderAlreadyExists(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const bool &isSame);
/// \note Can be call without queue because all call will be serialized
- void errorOnFolder(const QFileInfo &fileInfo, const std::string &errorString, const ErrorType &errorType);
+ void errorOnFolder(const INTERNALTYPEPATH &fileInfo, const std::string &errorString, const ErrorType &errorType);
//to run the thread
void run();
/// \to create transfer thread
void createTransferThread();
void deleteTransferThread();
//mk path to do
- uint64_t addToMkPath(const QFileInfo& source, const QFileInfo& destination, const int &inode);
- //add rm path to do
- void addToMovePath(const QFileInfo& source,const QFileInfo& destination, const int& inodeToRemove);
+ uint64_t addToMkPath(const INTERNALTYPEPATH &source, const INTERNALTYPEPATH &destination, const int &inode);
+ //add path to do
+ void addToMovePath(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination, const int& inodeToRemove);
+ void addToKeepAttributePath(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination, const int& inodeToRemove);
//add to real move
- void addToRealMove(const QFileInfo& source,const QFileInfo& destination);
+ void addToRealMove(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination);
#ifdef ULTRACOPIER_PLUGIN_RSYNC
//rsync rm
- void addToRmForRsync(const QFileInfo& destination);
+ void addToRmForRsync(const std::string& destination);
#endif
//send the progression, after full reset of the interface (then all is empty)
void syncTransferList_internal();
@@ -378,11 +383,10 @@ signals:
void pushGeneralProgression(const uint64_t &,const uint64_t &) const;
void newFolderListing(const std::string &path) const;
- void isInPause(const bool &) const;
//when can be deleted
void canBeDeleted() const;
- void haveNeedPutAtBottom(bool needPutAtBottom,const QFileInfo &fileInfo,const std::string &errorString,TransferThread * thread,const ErrorType &errorType) const;
+ void haveNeedPutAtBottom(bool needPutAtBottom,const INTERNALTYPEPATH &fileInfo,const std::string &errorString,TransferThreadAsync * thread,const ErrorType &errorType) const;
//send error occurred
void error(const std::string &path,const uint64_t &size,const uint64_t &mtime,const std::string &error) const;
@@ -400,17 +404,17 @@ signals:
//other signal
/// \note Can be call without queue because all call will be serialized
- void send_fileAlreadyExists(const QFileInfo &source,const QFileInfo &destination,const bool &isSame,TransferThread * thread) const;
+ void send_fileAlreadyExists(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const bool &isSame,TransferThreadAsync * thread) const;
/// \note Can be call without queue because all call will be serialized
- void send_errorOnFile(const QFileInfo &fileInfo,const std::string &errorString,TransferThread * thread, const ErrorType &errorType) const;
+ void send_errorOnFile(const INTERNALTYPEPATH &fileInfo,const std::string &errorString,TransferThreadAsync * thread, const ErrorType &errorType) const;
/// \note Can be call without queue because all call will be serialized
- void send_folderAlreadyExists(const QFileInfo &source,const QFileInfo &destination,const bool &isSame,ScanFileOrFolder * thread) const;
+ void send_folderAlreadyExists(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const bool &isSame,ScanFileOrFolder * thread) const;
/// \note Can be call without queue because all call will be serialized
- void send_errorOnFolder(const QFileInfo &fileInfo,const std::string &errorString,ScanFileOrFolder * thread, const ErrorType &errorType) const;
+ void send_errorOnFolder(const INTERNALTYPEPATH &fileInfo,const std::string &errorString,ScanFileOrFolder * thread, const ErrorType &errorType) const;
//send the progression
void send_syncTransferList() const;
//mkpath error event
- void mkPathErrorOnFolder(const QFileInfo &fileInfo,const std::string &errorString,const ErrorType &errorType) const;
+ void mkPathErrorOnFolder(const INTERNALTYPEPATH &fileInfo,const std::string &errorString,const ErrorType &errorType) const;
//to close
void tryCancel() const;
//to ask new transfer thread
@@ -421,12 +425,13 @@ signals:
void send_sendNewRenamingRules(const std::string &firstRenamingRule,const std::string &otherRenamingRule) const;
void send_realBytesTransfered(const uint64_t &) const;
- void send_setTransferAlgorithm(TransferAlgorithm transferAlgorithm) const;
- void send_parallelBuffer(const int &parallelBuffer) const;
- void send_sequentialBuffer(const int &sequentialBuffer) const;
void send_parallelizeIfSmallerThan(const int &parallelizeIfSmallerThan) const;
void send_updateMount();
void missingDiskSpace(std::vector<Diskspace> list) const;
+ void isInPause(const bool &) const;
+
+ void exportTransferListSend(const std::string &fileName);
+ void importTransferListSend(const std::string &fileName);
};
#endif // LISTTHREAD_H
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThreadActions.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThreadActions.cpp
new file mode 100755
index 0000000..85b3113
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThreadActions.cpp
@@ -0,0 +1,129 @@
+#include "ListThread.h"
+#include <QStorageInfo>
+#include <QtGlobal>
+#include "../../../cpp11addition.h"
+
+#include "async/TransferThreadAsync.h"
+
+void ListThread::pause()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ if(putInPause)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Seam already in pause!");
+ return;
+ }
+ putInPause=true;
+ int index=0;
+ int loop_sub_size_transfer_thread_search=transferThreadList.size();
+ while(index<loop_sub_size_transfer_thread_search)
+ {
+ transferThreadList.at(index)->pause();
+ index++;
+ }
+ emit isInPause(true);
+}
+
+void ListThread::resume()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ if(!putInPause)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Seam already resumed!");
+ return;
+ }
+ putInPause=false;
+ startGeneralTransfer();
+ doNewActions_start_transfer();
+ int index=0;
+ int loop_sub_size_transfer_thread_search=transferThreadList.size();
+ while(index<loop_sub_size_transfer_thread_search)
+ {
+ transferThreadList.at(index)->resume();
+ index++;
+ }
+ emit isInPause(false);
+}
+
+void ListThread::skip(const uint64_t &id)
+{
+ skipInternal(id);
+}
+
+bool ListThread::skipInternal(const uint64_t &id)
+{
+ int index=0;
+ int loop_sub_size_transfer_thread_search=transferThreadList.size();
+ while(index<loop_sub_size_transfer_thread_search)
+ {
+ if(transferThreadList.at(index)->transferId==id)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"skip one transfer: "+std::to_string(id));
+ transferThreadList.at(index)->skip();
+ return true;
+ }
+ index++;
+ }
+ int int_for_internal_loop=0;
+ const int &loop_size=actionToDoListTransfer.size();
+ while(int_for_internal_loop<loop_size)
+ {
+ if(actionToDoListTransfer.at(int_for_internal_loop).id==id)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("[%1] remove at not running, for id: %2").arg(int_for_internal_loop).arg(id).toStdString());
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type=Ultracopier::RemoveItem;
+ newAction.userAction.moveAt=1;
+ newAction.addAction=actionToDoTransferToItemOfCopyList(actionToDoListTransfer.at(int_for_internal_loop));
+ newAction.userAction.position=int_for_internal_loop;
+ actionDone.push_back(newAction);
+ actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+int_for_internal_loop);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("actionToDoListTransfer.size(): %1, actionToDoListInode: %2, actionToDoListInode_afterTheTransfer: %3").arg(actionToDoListTransfer.size()).arg(actionToDoListInode.size()).arg(actionToDoListInode_afterTheTransfer.size()).toStdString());
+ if(actionToDoListTransfer.empty() && actionToDoListInode.empty() && actionToDoListInode_afterTheTransfer.empty())
+ updateTheStatus();
+ return true;
+ }
+ int_for_internal_loop++;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"skip transfer not found: "+std::to_string(id));
+ return false;
+}
+
+//executed in this thread
+void ListThread::cancel()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ if(stopIt)
+ {
+ waitCancel.release();
+ return;
+ }
+ stopIt=true;
+ int index=0;
+ int loop_size=transferThreadList.size();
+ while(index<loop_size)
+ {
+ transferThreadList.at(index)->stop();
+ transferThreadList.at(index)->transferId=0;
+ index++;
+ }
+ index=0;
+ loop_size=scanFileOrFolderThreadsPool.size();
+ while(index<loop_size)
+ {
+ scanFileOrFolderThreadsPool.at(index)->stop();
+ delete scanFileOrFolderThreadsPool.at(index);//->deleteLayer();
+ scanFileOrFolderThreadsPool[index]=NULL;
+ index++;
+ }
+ scanFileOrFolderThreadsPool.clear();
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ if(clockForTheCopySpeed!=NULL)
+ {
+ clockForTheCopySpeed->stop();
+ delete clockForTheCopySpeed;
+ clockForTheCopySpeed=NULL;
+ }
+ #endif
+ checkIfReadyToCancel();
+}
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp
new file mode 100755
index 0000000..6927caa
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp
@@ -0,0 +1,423 @@
+#include "ListThread.h"
+#include <QStorageInfo>
+#include <QtGlobal>
+#include "../../../cpp11addition.h"
+
+#include "async/TransferThreadAsync.h"
+
+//warning the first entry is accessible will copy
+void ListThread::removeItems(const std::vector<uint64_t> &ids)
+{
+ for(unsigned int i=0;i<ids.size();i++)
+ skipInternal(ids.at(i));
+}
+
+//put on top
+void ListThread::moveItemsOnTop(std::vector<uint64_t> ids)
+{
+ if(actionToDoListTransfer.size()<=1)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"list size is empty");
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ //do list operation
+ int indexToMove=0;
+ for (unsigned int i=0; i<actionToDoListTransfer.size(); ++i) {
+ if(vectorcontainsAtLeastOne(ids,actionToDoListTransfer.at(i).id))
+ {
+ vectorremoveOne(ids,actionToDoListTransfer.at(i).id);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"move item "+std::to_string(i)+" to "+std::to_string(indexToMove));
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type=Ultracopier::MoveItem;
+ newAction.addAction.id=actionToDoListTransfer.at(i).id;
+ newAction.userAction.moveAt=indexToMove;
+ newAction.userAction.position=i;
+ actionDone.push_back(newAction);
+ ActionToDoTransfer temp=actionToDoListTransfer.at(i);
+ actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+i);
+ actionToDoListTransfer.insert(actionToDoListTransfer.cbegin()+indexToMove,temp);
+ indexToMove++;
+ if(ids.empty())
+ return;
+ }
+ }
+ sendActionDone();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop");
+}
+
+//move up
+void ListThread::moveItemsUp(std::vector<uint64_t> ids)
+{
+ if(actionToDoListTransfer.size()<=1)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"list size is empty");
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ //do list operation
+ int lastGoodPositionReal=0;
+ bool haveGoodPosition=false;
+ for (unsigned int i=0; i<actionToDoListTransfer.size(); ++i) {
+ if(vectorcontainsAtLeastOne(ids,actionToDoListTransfer.at(i).id))
+ {
+ if(haveGoodPosition)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"move item "+std::to_string(i)+" to "+std::to_string(i-1));
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type=Ultracopier::MoveItem;
+ newAction.addAction.id=actionToDoListTransfer.at(i).id;
+ newAction.userAction.moveAt=lastGoodPositionReal;
+ newAction.userAction.position=i;
+ actionDone.push_back(newAction);
+ ActionToDoTransfer temp1=actionToDoListTransfer.at(i);
+ ActionToDoTransfer temp2=actionToDoListTransfer.at(lastGoodPositionReal);
+ actionToDoListTransfer[i]=temp2;
+ actionToDoListTransfer[lastGoodPositionReal]=temp1;
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Try move up false, item "+std::to_string(i));
+ vectorremoveOne(ids,actionToDoListTransfer.at(i).id);
+ if(ids.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop with return");
+ return;
+ }
+ }
+ else
+ {
+ lastGoodPositionReal=i;
+ haveGoodPosition=true;
+ }
+ }
+ sendActionDone();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop");
+}
+
+//move down
+void ListThread::moveItemsDown(std::vector<uint64_t> ids)
+{
+ if(actionToDoListTransfer.size()<=1)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"list size is empty");
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ //do list operation
+ int lastGoodPositionReal=0;
+ bool haveGoodPosition=false;
+ for (int i=actionToDoListTransfer.size()-1; i>=0; --i) {
+ if(vectorcontainsAtLeastOne(ids,actionToDoListTransfer.at(i).id))
+ {
+ if(haveGoodPosition)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"move item "+std::to_string(i)+" to "+std::to_string(i+1));
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type=Ultracopier::MoveItem;
+ newAction.addAction.id=actionToDoListTransfer.at(i).id;
+ newAction.userAction.moveAt=lastGoodPositionReal;
+ newAction.userAction.position=i;
+ actionDone.push_back(newAction);
+ ActionToDoTransfer temp1=actionToDoListTransfer.at(i);
+ ActionToDoTransfer temp2=actionToDoListTransfer.at(lastGoodPositionReal);
+ actionToDoListTransfer[i]=temp2;
+ actionToDoListTransfer[lastGoodPositionReal]=temp1;
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Try move up false, item "+std::to_string(i));
+ }
+ vectorremoveOne(ids,actionToDoListTransfer.at(i).id);
+ if(ids.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop with return");
+ return;
+ }
+ }
+ else
+ {
+ lastGoodPositionReal=i;
+ haveGoodPosition=true;
+ }
+ }
+ sendActionDone();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop");
+}
+
+//put on bottom
+void ListThread::moveItemsOnBottom(std::vector<uint64_t> ids)
+{
+ if(actionToDoListTransfer.size()<=1)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"list size is empty");
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ //do list operation
+ int lastGoodPositionReal=actionToDoListTransfer.size()-1;
+ for (int i=lastGoodPositionReal; i>=0; --i) {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Check action on item "+std::to_string(i));
+ if(vectorcontainsAtLeastOne(ids,actionToDoListTransfer.at(i).id))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"move item "+std::to_string(i)+" to "+std::to_string(lastGoodPositionReal));
+ vectorremoveOne(ids,actionToDoListTransfer.at(i).id);
+ Ultracopier::ReturnActionOnCopyList newAction;
+ newAction.type=Ultracopier::MoveItem;
+ newAction.addAction.id=actionToDoListTransfer.at(i).id;
+ newAction.userAction.moveAt=lastGoodPositionReal;
+ newAction.userAction.position=i;
+ actionDone.push_back(newAction);
+ ActionToDoTransfer temp=actionToDoListTransfer.at(i);
+ actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+i);
+ actionToDoListTransfer.insert(actionToDoListTransfer.cbegin()+lastGoodPositionReal,temp);
+ lastGoodPositionReal--;
+ if(ids.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop with return");
+ return;
+ }
+ }
+ }
+ sendActionDone();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop");
+}
+
+void ListThread::exportTransferList(const std::string &fileName)
+{
+ emit exportTransferListSend(fileName);
+}
+
+void ListThread::exportTransferListInternal(const std::string &fileName)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ QFile transferFile(QString::fromStdString(fileName));
+ if(transferFile.open(QIODevice::WriteOnly|QIODevice::Truncate))
+ {
+ transferFile.write(QStringLiteral("Ultracopier;Transfer-list;").toUtf8());
+ if(!forcedMode)
+ transferFile.write(QStringLiteral("Transfer;").toUtf8());
+ else
+ {
+ if(mode==Ultracopier::Copy)
+ transferFile.write(QStringLiteral("Copy;").toUtf8());
+ else
+ transferFile.write(QStringLiteral("Move;").toUtf8());
+ }
+ transferFile.write(QStringLiteral("Ultracopier\n").toUtf8());
+ bool haveError=false;
+ int size=actionToDoListTransfer.size();
+ for (int index=0;index<size;++index) {
+ if(actionToDoListTransfer.at(index).mode==Ultracopier::Copy)
+ {
+ if(!forcedMode || mode==Ultracopier::Copy)
+ {
+ if(forcedMode)
+ transferFile.write((TransferThread::internalStringTostring(actionToDoListTransfer.at(index).source)+
+ ";"+TransferThread::internalStringTostring(actionToDoListTransfer.at(index).destination)+"\n").c_str());
+ else
+ transferFile.write(("Copy;"+TransferThread::internalStringTostring(actionToDoListTransfer.at(index).source)+
+ ";"+TransferThread::internalStringTostring(actionToDoListTransfer.at(index).destination)+"\n").c_str());
+ }
+ else
+ haveError=true;
+ }
+ else if(actionToDoListTransfer.at(index).mode==Ultracopier::Move)
+ {
+ if(!forcedMode || mode==Ultracopier::Move)
+ {
+ if(forcedMode)
+ transferFile.write((TransferThread::internalStringTostring(actionToDoListTransfer.at(index).source)+
+ ";"+TransferThread::internalStringTostring(actionToDoListTransfer.at(index).destination)+"\n").c_str());
+ else
+ transferFile.write(("Move;"+TransferThread::internalStringTostring(actionToDoListTransfer.at(index).source)+
+ ";"+TransferThread::internalStringTostring(actionToDoListTransfer.at(index).destination)+"\n").c_str());
+ }
+ else
+ haveError=true;
+ }
+ }
+ if(haveError)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Unable do to move or copy item into wrong forced mode: %1").arg(transferFile.errorString()).toStdString());
+ emit errorTransferList(tr("Unable do to move or copy item into wrong forced mode: %1").arg(transferFile.errorString()).toStdString());
+ }
+ transferFile.close();
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Unable to save the transfer list: %1").arg(transferFile.errorString()).toStdString());
+ emit errorTransferList(tr("Unable to save the transfer list: %1").arg(transferFile.errorString()).toStdString());
+ return;
+ }
+}
+
+void ListThread::importTransferList(const std::string &fileName)
+{
+ emit importTransferListSend(fileName);
+}
+
+void ListThread::importTransferListInternal(const std::string &fileName)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ QFile transferFile(QString::fromStdString(fileName));
+ if(transferFile.open(QIODevice::ReadOnly))
+ {
+ std::string content;
+ QByteArray data=transferFile.readLine(64);
+ if(data.size()<=0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Problem reading file, or file-size is 0");
+ emit errorTransferList(tr("Problem reading file, or file-size is 0").toStdString());
+ return;
+ }
+ content=QString::fromUtf8(data).toStdString();
+ if(content!="Ultracopier;Transfer-list;Transfer;Ultracopier\n" && content!="Ultracopier;Transfer-list;Copy;Ultracopier\n" && content!="Ultracopier;Transfer-list;Move;Ultracopier\n")
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Wrong header: "+content);
+ emit errorTransferList(tr("Wrong header: \"%1\"").arg(QString::fromStdString(content)).toStdString());
+ return;
+ }
+ bool transferListMixedMode=false;
+ if(content=="Ultracopier;Transfer-list;Transfer;Ultracopier\n")
+ {
+ if(forcedMode)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"The transfer list is in mixed mode, but this instance is not");
+ emit errorTransferList(tr("The transfer list is in mixed mode, but this instance is not in this mode").toStdString());
+ return;
+ }
+ else
+ transferListMixedMode=true;
+ }
+ if(content=="Ultracopier;Transfer-list;Copy;Ultracopier\n" && (forcedMode && mode==Ultracopier::Move))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("The transfer list is in copy mode, but this instance is not: forcedMode: %1, mode: %2").arg(forcedMode).arg(mode).toStdString());
+ emit errorTransferList(tr("The transfer list is in copy mode, but this instance is not in this mode").toStdString());
+ return;
+ }
+ if(content=="Ultracopier;Transfer-list;Move;Ultracopier\n" && (forcedMode && mode==Ultracopier::Copy))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("The transfer list is in move mode, but this instance is not: forcedMode: %1, mode: %2").arg(forcedMode).arg(mode).toStdString());
+ emit errorTransferList(tr("The transfer list is in move mode, but this instance is not in this mode").toStdString());
+ return;
+ }
+
+ bool updateTheStatus_copying=actionToDoListTransfer.size()>0 || actionToDoListInode.size()>0 || actionToDoListInode_afterTheTransfer.size()>0;
+ Ultracopier::EngineActionInProgress updateTheStatus_action_in_progress;
+ if(updateTheStatus_copying)
+ updateTheStatus_action_in_progress=Ultracopier::CopyingAndListing;
+ else
+ updateTheStatus_action_in_progress=Ultracopier::Listing;
+ emit actionInProgess(updateTheStatus_action_in_progress);
+
+ bool errorFound=false;
+ std::regex correctLine;
+ if(transferListMixedMode)
+ correctLine=std::regex("^(Copy|Move);[^;]+;[^;]+[\n\r]*$");
+ else
+ correctLine=std::regex("^[^;]+;[^;]+[\n\r]*$");
+ std::vector<std::string> args;
+ Ultracopier::CopyMode tempMode;
+ do
+ {
+ data=transferFile.readLine(65535*2);
+ if(data.size()>0)
+ {
+ content=std::string(data.constData(),data.size());
+ //do the import here
+ if(std::regex_match(content,correctLine))
+ {
+ stringreplaceAll(content,"\n","");
+ args=stringsplit(content,';');
+ if(forcedMode)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("New data to import in forced mode: %2,%3")
+ .arg(QString::fromStdString(args.at(0)))
+ .arg(QString::fromStdString(args.at(1)))
+ .toStdString());
+ addToTransfer(TransferThread::stringToInternalString(args.at(0)),
+ TransferThread::stringToInternalString(args.at(1)),mode);
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("New data to import: %1,%2,%3")
+ .arg(QString::fromStdString(args.at(0)))
+ .arg(QString::fromStdString(args.at(1)))
+ .arg(QString::fromStdString(args.at(2)))
+ .toStdString());
+ if(args.at(0)=="Copy")
+ tempMode=Ultracopier::Copy;
+ else
+ tempMode=Ultracopier::Move;
+ addToTransfer(TransferThread::stringToInternalString(args.at(1)),TransferThread::stringToInternalString(args.at(2)),tempMode);
+ }
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Wrong line syntax: "+content);
+ errorFound=true;
+ }
+ }
+ }
+ while(data.size()>0);
+ transferFile.close();
+ if(errorFound)
+ emit warningTransferList(tr("Some errors have been found during the line parsing").toStdString());
+
+ updateTheStatus();//->sendActionDone(); into this
+ autoStartAndCheckSpace();
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Unable to open the transfer list: %1").arg(transferFile.errorString()).toStdString());
+ emit errorTransferList(tr("Unable to open the transfer list: %1").arg(transferFile.errorString()).toStdString());
+ return;
+ }
+}
+
+void ListThread::exportErrorIntoTransferList(const std::string &fileName)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ QFile transferFile(QString::fromStdString(fileName));
+ if(transferFile.open(QIODevice::WriteOnly|QIODevice::Truncate))
+ {
+ transferFile.write(QStringLiteral("Ultracopier;Transfer-list;").toUtf8());
+ if(!forcedMode)
+ transferFile.write(QStringLiteral("Transfer;").toUtf8());
+ else
+ {
+ if(mode==Ultracopier::Copy)
+ transferFile.write(QStringLiteral("Copy;").toUtf8());
+ else
+ transferFile.write(QStringLiteral("Move;").toUtf8());
+ }
+ transferFile.write(QStringLiteral("Ultracopier\n").toUtf8());
+ bool haveError=false;
+ int size=errorLog.size();
+ for (int index=0;index<size;++index) {
+ if(forcedMode)
+ transferFile.write((errorLog.at(index).source+";"+errorLog.at(index).destination+"\n").c_str());
+ else
+ {
+ if(errorLog.at(index).mode==Ultracopier::Copy)
+ transferFile.write(("Copy;"+errorLog.at(index).source+";"+errorLog.at(index).destination+"\n").c_str());
+ else if(errorLog.at(index).mode==Ultracopier::Move)
+ transferFile.write(("Move;"+errorLog.at(index).source+";"+errorLog.at(index).destination+"\n").c_str());
+ else
+ haveError=true;
+ }
+ }
+ if(haveError)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable do to move or copy item into wrong forced mode: "+transferFile.errorString().toStdString());
+ emit errorTransferList(tr("Unable do to move or copy item into wrong forced mode: %1").arg(transferFile.errorString()).toStdString());
+ }
+ transferFile.close();
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to save the transfer list: "+transferFile.errorString().toStdString());
+ emit errorTransferList(tr("Unable to save the transfer list: %1").arg(transferFile.errorString()).toStdString());
+ return;
+ }
+}
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThreadMedia.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThreadMedia.cpp
new file mode 100755
index 0000000..4eba9a0
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThreadMedia.cpp
@@ -0,0 +1,169 @@
+#include "ListThread.h"
+#include <QStorageInfo>
+#include <QtGlobal>
+#include "../../../cpp11addition.h"
+#include "async/TransferThreadAsync.h"
+
+// -> add thread safe, by Qt::BlockingQueuedConnection
+bool ListThread::haveSameSource(const std::vector<std::string> &sources)
+{
+ if(stopIt)
+ return false;
+ if(sourceDriveMultiple)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"sourceDriveMultiple");
+ return false;
+ }
+ if(sourceDrive.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"sourceDrive.isEmpty()");
+ return true;
+ }
+ unsigned int index=0;
+ while(index<sources.size())
+ {
+ if(driveManagement.getDrive(sources.at(index))!=sourceDrive)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"sources.at(index))!=sourceDrive");
+ return false;
+ }
+ index++;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"seam have same source");
+ return true;
+}
+
+// -> add thread safe, by Qt::BlockingQueuedConnection
+bool ListThread::haveSameDestination(const std::string &destination)
+{
+ if(stopIt)
+ return false;
+ if(destinationDriveMultiple)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destinationDriveMultiple");
+ return false;
+ }
+ if(destinationDrive.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destinationDrive.isEmpty()");
+ return true;
+ }
+ if(driveManagement.getDrive(destination)!=destinationDrive)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination!=destinationDrive");
+ return false;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"seam have same destination");
+ return true;
+}
+
+/// \return empty if multiple or no destination
+std::string ListThread::getUniqueDestinationFolder() const
+{
+ if(stopIt)
+ return std::string();
+ if(destinationFolderMultiple)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destinationDriveMultiple");
+ return std::string();
+ }
+ return TransferThread::internalStringTostring(destinationFolder);
+}
+
+void ListThread::detectDrivesOfCurrentTransfer(const std::vector<INTERNALTYPEPATH> &sources,const INTERNALTYPEPATH &destination)
+{
+ /* code to detect volume/mount point to group by windows */
+ if(!sourceDriveMultiple)
+ {
+ unsigned int index=0;
+ while(index<sources.size())
+ {
+ const std::string &tempDrive=driveManagement.getDrive(TransferThread::internalStringTostring(sources.at(index)));
+ //if have not already source, set the source
+ if(sourceDrive.empty())
+ sourceDrive=tempDrive;
+ //if have previous source and the news source is not the same
+ if(sourceDrive!=tempDrive)
+ {
+ sourceDriveMultiple=true;
+ break;
+ }
+ index++;
+ }
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("source informations, sourceDrive: %1, sourceDriveMultiple: %2").arg(QString::fromStdString(sourceDrive)).arg(sourceDriveMultiple).toStdString());
+ if(!destinationDriveMultiple)
+ {
+ const std::string &tempDrive=driveManagement.getDrive(TransferThread::internalStringTostring(destination));
+ //if have not already destination, set the destination
+ if(destinationDrive.empty())
+ destinationDrive=tempDrive;
+ //if have previous destination and the news destination is not the same
+ if(destinationDrive!=tempDrive)
+ destinationDriveMultiple=true;
+ }
+ if(!destinationFolderMultiple)
+ {
+ //if have not already destination, set the destination
+ if(destinationFolder.empty())
+ destinationFolder=destination;
+ //if have previous destination and the news destination is not the same
+ if(destinationFolder!=destination)
+ destinationFolderMultiple=true;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("destination informations, destinationDrive: %1, destinationDriveMultiple: %2").arg(QString::fromStdString(destinationDrive)).arg(destinationDriveMultiple).toStdString());
+}
+
+//return
+bool ListThread::needMoreSpace() const
+{
+ if(!checkDiskSpace)
+ return false;
+ std::vector<Diskspace> diskspace_list;
+ for( auto& spaceDrive : requiredSpace ) {
+ const QString &drive=QString::fromStdString(spaceDrive.first);
+ #ifdef Q_OS_WIN32
+ if(spaceDrive.first!="A:\\" && spaceDrive.first!="A:/" && spaceDrive.first!="A:" && spaceDrive.first!="A" && spaceDrive.first!="a:\\" && spaceDrive.first!="a:/" && spaceDrive.first!="a:" && spaceDrive.first!="a")
+ {
+ #endif
+ QStorageInfo storageInfo(drive);
+ storageInfo.refresh();
+ const qint64 &availableSpace=storageInfo.bytesAvailable();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ const qint64 &bytesFree=storageInfo.bytesFree();
+ #endif
+
+ if(availableSpace<0 ||
+ //workaround for all 0 value in case of bug from Qt
+ (availableSpace==0 && storageInfo.bytesTotal()==0)
+ )
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("availableSpace: %1, space needed: %2, on: %3, bytesFree: %4").arg(availableSpace).arg(spaceDrive.second).arg(drive).arg(bytesFree).toStdString());
+ }
+ else if(spaceDrive.second>(quint64)availableSpace)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("availableSpace: %1, space needed: %2, on: %3, bytesFree: %4").arg(availableSpace).arg(spaceDrive.second).arg(drive).arg(bytesFree).toStdString());
+ #ifdef Q_OS_WIN32
+ //if(drive.contains(QRegularExpression("^[a-zA-Z]:[\\\\/]")))
+ if(drive.contains(QRegularExpression("^[a-zA-Z]:")))
+ #endif
+ {
+ Diskspace diskspace;
+ diskspace.drive=spaceDrive.first;
+ diskspace.freeSpace=availableSpace;
+ diskspace.requiredSpace=spaceDrive.second;
+ diskspace_list.push_back(diskspace);
+ }
+ #ifdef Q_OS_WIN32
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"not local drive");
+ #endif
+ }
+ #ifdef Q_OS_WIN32
+ }
+ #endif
+ }
+ if(!diskspace_list.empty())
+ emit missingDiskSpace(diskspace_list);
+ return ! diskspace_list.empty();
+}
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThreadNew.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThreadNew.cpp
new file mode 100755
index 0000000..f4a1857
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThreadNew.cpp
@@ -0,0 +1,104 @@
+#include "ListThread.h"
+#include <QStorageInfo>
+#include <QtGlobal>
+#include "../../../cpp11addition.h"
+
+#include "async/TransferThreadAsync.h"
+
+// -> 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);
+ ScanFileOrFolder * scanFileOrFolderThread=newScanThread(Ultracopier::Copy);
+ if(scanFileOrFolderThread==NULL)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to get new thread");
+ return false;
+ }
+ std::regex base_regex("^[a-z][a-z][a-z]*:/.*");
+ std::smatch base_match;
+ std::vector<INTERNALTYPEPATH> sourcesClean;
+ 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
+ else if (std::regex_match(source, base_match, base_regex))
+ return false;
+ if(index<99)
+ {
+ if(sources.at(index)!=source)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,sources.at(index)+" -> "+source);
+ }
+ index++;
+ sourcesClean.push_back(TransferThread::stringToInternalString(source));
+ }
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"sourcesClean: "+stringimplode(sourcesClean,";"));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination: "+destination);
+ const INTERNALTYPEPATH &Wdest=TransferThread::stringToInternalString(destination);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination: "+TransferThread::internalStringTostring(Wdest));
+ scanFileOrFolderThread->addToList(sourcesClean,Wdest);
+ scanThreadHaveFinish(true);
+ detectDrivesOfCurrentTransfer(sourcesClean,TransferThread::stringToInternalString(destination));
+ return true;
+}
+
+// -> add thread safe, by Qt::BlockingQueuedConnection
+bool ListThread::newMove(const std::vector<std::string> &sources,const std::string &destination)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ ScanFileOrFolder * scanFileOrFolderThread = newScanThread(Ultracopier::Move);
+ if(scanFileOrFolderThread==NULL)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to get new thread");
+ return false;
+ }
+ std::regex base_regex("^[a-z][a-z][a-z]*:/.*");
+ std::smatch base_match;
+ std::vector<INTERNALTYPEPATH> sourcesClean;
+ 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
+ else if (std::regex_match(source, base_match, base_regex))
+ return false;
+ if(index<99)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,sources.at(index)+" -> "+source);
+ index++;
+ sourcesClean.push_back(TransferThread::stringToInternalString(source));
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination: "+destination);
+ const INTERNALTYPEPATH &Wdest=TransferThread::stringToInternalString(destination);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination: "+TransferThread::internalStringTostring(Wdest));
+ scanFileOrFolderThread->addToList(sourcesClean,Wdest);
+ scanThreadHaveFinish(true);
+ detectDrivesOfCurrentTransfer(sourcesClean,TransferThread::stringToInternalString(destination));
+ return true;
+}
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThreadOptions.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThreadOptions.cpp
new file mode 100755
index 0000000..25d710f
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThreadOptions.cpp
@@ -0,0 +1,296 @@
+#include "ListThread.h"
+#include <QStorageInfo>
+#include <QtGlobal>
+#include "../../../cpp11addition.h"
+#include "async/TransferThreadAsync.h"
+
+//set the copy info and options before runing
+void ListThread::setRightTransfer(const bool doRightTransfer)
+{
+ mkPathQueue.setRightTransfer(doRightTransfer);
+ this->doRightTransfer=doRightTransfer;
+ unsigned int index=0;
+ while(index<transferThreadList.size())
+ {
+ transferThreadList.at(index)->setRightTransfer(doRightTransfer);
+ index++;
+ }
+}
+
+//set keep date
+void ListThread::setKeepDate(const bool keepDate)
+{
+ mkPathQueue.setKeepDate(keepDate);
+ this->keepDate=keepDate;
+ unsigned int index=0;
+ while(index<transferThreadList.size())
+ {
+ transferThreadList.at(index)->setKeepDate(keepDate);
+ index++;
+ }
+}
+
+void ListThread::setOsSpecFlags(bool os_spec_flags)
+{
+ this->os_spec_flags=os_spec_flags;
+ unsigned int index=0;
+ while(index<transferThreadList.size())
+ {
+ transferThreadList.at(index)->setOsSpecFlags(os_spec_flags);
+ index++;
+ }
+}
+
+void ListThread::setNativeCopy(bool native_copy)
+{
+ this->native_copy=native_copy;
+ unsigned int index=0;
+ while(index<transferThreadList.size())
+ {
+ transferThreadList.at(index)->setNativeCopy(native_copy);
+ index++;
+ }
+}
+
+#ifdef ULTRACOPIER_PLUGIN_RSYNC
+/// \brief set rsync
+void ListThread::setRsync(const bool rsync)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"set rsync: "+std::to_string(rsync));
+ this->rsync=rsync;
+ unsigned int index=0;
+ while(index<transferThreadList.size())
+ {
+ transferThreadList.at(index)->setRsync(rsync);
+ index++;
+ }
+ for(unsigned int i=0;i<scanFileOrFolderThreadsPool.size();i++)
+ scanFileOrFolderThreadsPool.at(i)->setRsync(rsync);
+}
+#endif
+
+//set check destination folder
+void ListThread::setCheckDestinationFolderExists(const bool checkDestinationFolderExists)
+{
+ this->checkDestinationFolderExists=checkDestinationFolderExists;
+ for(unsigned int i=0;i<scanFileOrFolderThreadsPool.size();i++)
+ scanFileOrFolderThreadsPool.at(i)->setCheckDestinationFolderExists(checkDestinationFolderExists && alwaysDoThisActionForFolderExists!=FolderExists_Merge);
+}
+
+void ListThread::setCollisionAction(const FileExistsAction &alwaysDoThisActionForFileExists)
+{
+ this->alwaysDoThisActionForFileExists=alwaysDoThisActionForFileExists;
+ unsigned int index=0;
+ while(index<transferThreadList.size())
+ {
+ transferThreadList.at(index)->setAlwaysFileExistsAction(alwaysDoThisActionForFileExists);
+ index++;
+ }
+}
+
+//set the folder local collision
+void ListThread::setFolderCollision(const FolderExistsAction &alwaysDoThisActionForFolderExists)
+{
+ this->alwaysDoThisActionForFolderExists=alwaysDoThisActionForFolderExists;
+}
+
+//speedLimitation in KB/s
+bool ListThread::setSpeedLimitation(const int64_t &speedLimitation)
+{
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"maxSpeed in KB/s: "+std::to_string(speedLimitation));
+
+ if(speedLimitation>1024*1024)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"speedLimitation out of range");
+ return false;
+ }
+ this->speedLimitation=speedLimitation;
+
+ multiForBigSpeed=0;
+ if(speedLimitation>0)
+ {
+ blockSizeAfterSpeedLimitation=blockSize;
+
+ //try resolv the interval
+ int newInterval;//in ms
+ do
+ {
+ multiForBigSpeed++;
+ //at max speed, is out of range for int, it's why quint64 is used
+ newInterval=(((quint64)blockSize*(quint64)multiForBigSpeed*1000/* *1000 because interval is into ms, not s*/)/((quint64)speedLimitation*(quint64)1024));
+ if(newInterval<0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"calculated newInterval wrong");
+ return false;
+ }
+ }
+ while(newInterval<ULTRACOPIER_PLUGIN_MINTIMERINTERVAL);
+
+ if(newInterval<=0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"calculated newInterval wrong");
+ return false;
+ }
+ //wait time too big, then shrink the block size and set interval to max size
+ if(newInterval>ULTRACOPIER_PLUGIN_MAXTIMERINTERVAL)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"wait time too big, then shrink the block size and set interval to max size");
+ newInterval=ULTRACOPIER_PLUGIN_MAXTIMERINTERVAL;
+ multiForBigSpeed=1;
+ blockSizeAfterSpeedLimitation=(this->speedLimitation*1024*newInterval)/1000;
+
+ if(blockSizeAfterSpeedLimitation<10)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"calculated block size wrong");
+ return false;
+ }
+
+ //set the new block size into the thread
+ const int &loop_size=transferThreadList.size();
+ int int_for_loop=0;
+ while(int_for_loop<loop_size)
+ {
+ if(!transferThreadList.at(int_for_loop)->setBlockSize(blockSizeAfterSpeedLimitation))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to set the block size");
+ int_for_loop++;
+ }
+ }
+
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("fixed speed with new block size and new interval in BlockSize: %1, multiForBigSpeed: %2, newInterval: %3, maxSpeed: %4")
+ .arg(blockSizeAfterSpeedLimitation)
+ .arg(multiForBigSpeed)
+ .arg(newInterval)
+ .arg(speedLimitation)
+ .toStdString()
+ );
+
+ clockForTheCopySpeed->setInterval(newInterval);
+ if(clockForTheCopySpeed!=NULL)
+ clockForTheCopySpeed->start();
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"clockForTheCopySpeed == NULL at this point");
+ }
+ else
+ {
+ if(clockForTheCopySpeed!=NULL)
+ clockForTheCopySpeed->stop();
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"clockForTheCopySpeed == NULL at this point");
+ int int_for_loop=0;
+ const int &loop_size=transferThreadList.size();
+ while(int_for_loop<loop_size)
+ {
+ transferThreadList.at(int_for_loop)->setBlockSize(blockSize);
+ int_for_loop++;
+ }
+ }
+ int int_for_loop=0;
+ const int &loop_size=transferThreadList.size();
+ while(int_for_loop<loop_size)
+ {
+ transferThreadList.at(int_for_loop)->setMultiForBigSpeed(multiForBigSpeed);
+ int_for_loop++;
+ }
+
+ return true;
+ #else
+ Q_UNUSED(speedLimitation);
+ return false;
+ #endif
+}
+
+//set data local to the thread
+void ListThread::setAlwaysFileExistsAction(const FileExistsAction &alwaysDoThisActionForFileExists)
+{
+ this->alwaysDoThisActionForFileExists=alwaysDoThisActionForFileExists;
+ unsigned int int_for_loop=0;
+ while(int_for_loop<transferThreadList.size())
+ {
+ transferThreadList.at(int_for_loop)->setAlwaysFileExistsAction(alwaysDoThisActionForFileExists);
+ int_for_loop++;
+ }
+}
+
+/** \brief give the forced mode, to export/import transfer list */
+void ListThread::forceMode(const Ultracopier::CopyMode &mode)
+{
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ if(mode==Ultracopier::Move)
+ setRsync(false);
+ #endif
+ if(mode==Ultracopier::Copy)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Force mode to copy");
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Force mode to move");
+ this->mode=mode;
+ forcedMode=true;
+}
+
+void ListThread::setMoveTheWholeFolder(const bool &moveTheWholeFolder)
+{
+ for(unsigned int i=0;i<scanFileOrFolderThreadsPool.size();i++)
+ scanFileOrFolderThreadsPool.at(i)->setMoveTheWholeFolder(moveTheWholeFolder);
+ this->moveTheWholeFolder=moveTheWholeFolder;
+}
+
+void ListThread::setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles)
+{
+ this->deletePartiallyTransferredFiles=deletePartiallyTransferredFiles;
+ unsigned int index=0;
+ while(index<transferThreadList.size())
+ {
+ transferThreadList.at(index)->setDeletePartiallyTransferredFiles(deletePartiallyTransferredFiles);
+ index++;
+ }
+}
+
+void ListThread::setInodeThreads(const int &inodeThreads)
+{
+ if(inodeThreads<1 || inodeThreads>32)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"inodeThreads is out of ranges: "+std::to_string(inodeThreads));
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"inodeThreads: "+std::to_string(inodeThreads));
+ this->inodeThreads=inodeThreads;
+ createTransferThread();
+ deleteTransferThread();
+}
+
+void ListThread::setRenameTheOriginalDestination(const bool &renameTheOriginalDestination)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"renameTheOriginalDestination: "+std::to_string(renameTheOriginalDestination));
+ this->renameTheOriginalDestination=renameTheOriginalDestination;
+ unsigned int index=0;
+ while(index<transferThreadList.size())
+ {
+ transferThreadList.at(index)->setRenameTheOriginalDestination(renameTheOriginalDestination);
+ index++;
+ }
+}
+
+void ListThread::setCheckDiskSpace(const bool &checkDiskSpace)
+{
+ this->checkDiskSpace=checkDiskSpace;
+}
+
+void ListThread::setBuffer(const bool &buffer)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"setBuffer: "+std::to_string(buffer));
+ this->buffer=buffer;
+ unsigned int index=0;
+ while(index<transferThreadList.size())
+ {
+ transferThreadList.at(index)->setBuffer(buffer);
+ index++;
+ }
+}
+
+void ListThread::setFollowTheStrictOrder(const bool &order)
+{
+ this->followTheStrictOrder=order;
+ for(unsigned int i=0;i<scanFileOrFolderThreadsPool.size();i++)
+ scanFileOrFolderThreadsPool.at(i)->setFollowTheStrictOrder(this->followTheStrictOrder);
+}
+
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThreadScan.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThreadScan.cpp
new file mode 100755
index 0000000..48cc444
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThreadScan.cpp
@@ -0,0 +1,97 @@
+#include "ListThread.h"
+#include <QStorageInfo>
+#include <QtGlobal>
+#include "../../../cpp11addition.h"
+
+#include "async/TransferThreadAsync.h"
+
+ScanFileOrFolder * ListThread::newScanThread(Ultracopier::CopyMode mode)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start with: "+std::to_string(mode));
+
+ //create new thread because is auto-detroyed
+ scanFileOrFolderThreadsPool.push_back(new ScanFileOrFolder(mode));
+ ScanFileOrFolder * scanFileOrFolderThreads=scanFileOrFolderThreadsPool.back();
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::finishedTheListing, this,&ListThread::scanThreadHaveFinishSlot, Qt::QueuedConnection))
+ abort();
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::fileTransfer, this,&ListThread::fileTransfer, Qt::QueuedConnection))
+ abort();
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::fileTransferWithInode, this,&ListThread::fileTransferWithInode, Qt::QueuedConnection))
+ abort();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::debugInformation, this,&ListThread::debugInformation, Qt::QueuedConnection))
+ abort();
+ #endif
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::newFolderListing, this,&ListThread::newFolderListing))
+ abort();
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::addToMovePath, this,&ListThread::addToMovePath, Qt::QueuedConnection))
+ abort();
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::addToKeepAttributePath, this,&ListThread::addToKeepAttributePath, Qt::QueuedConnection))
+ abort();
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::addToRealMove, this,&ListThread::addToRealMove, Qt::QueuedConnection))
+ abort();
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::addToMkPath, this,&ListThread::addToMkPath, Qt::QueuedConnection))
+ abort();
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::addToRmForRsync, this,&ListThread::addToRmForRsync, Qt::QueuedConnection))
+ abort();
+ #endif
+
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::errorOnFolder, this,&ListThread::errorOnFolder, Qt::QueuedConnection))
+ abort();
+ if(!connect(scanFileOrFolderThreads,&ScanFileOrFolder::folderAlreadyExists, this,&ListThread::folderAlreadyExists, Qt::QueuedConnection))
+ abort();
+
+ if(!connect(this,&ListThread::send_updateMount, scanFileOrFolderThreads,&ScanFileOrFolder::set_updateMount, Qt::QueuedConnection))
+ abort();
+
+ scanFileOrFolderThreads->setFilters(include,exclude);
+ scanFileOrFolderThreads->setCheckDestinationFolderExists(checkDestinationFolderExists && alwaysDoThisActionForFolderExists!=FolderExists_Merge);
+ scanFileOrFolderThreads->setMoveTheWholeFolder(moveTheWholeFolder);
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ scanFileOrFolderThreads->setRsync(rsync);
+ #endif
+ if(scanFileOrFolderThreadsPool.size()==1)
+ updateTheStatus();
+ scanFileOrFolderThreads->setRenamingRules(firstRenamingRule,otherRenamingRule);
+ scanFileOrFolderThreads->setFollowTheStrictOrder(followTheStrictOrder);
+ return scanFileOrFolderThreads;
+}
+
+void ListThread::scanThreadHaveFinishSlot()
+{
+ scanThreadHaveFinish();
+}
+
+void ListThread::scanThreadHaveFinish(bool skipFirstRemove)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"listing thread have finish, skipFirstRemove: "+std::to_string(skipFirstRemove));
+ if(!skipFirstRemove)
+ {
+ ScanFileOrFolder * senderThread = qobject_cast<ScanFileOrFolder *>(QObject::sender());
+ if(senderThread==NULL)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"sender pointer null (plugin copy engine)");
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start the next thread, scanFileOrFolderThreadsPool.size(): "+std::to_string(scanFileOrFolderThreadsPool.size()));
+ delete senderThread;
+ vectorremoveOne(scanFileOrFolderThreadsPool,senderThread);
+ if(scanFileOrFolderThreadsPool.empty())
+ updateTheStatus();
+ }
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start the next thread, scanFileOrFolderThreadsPool.size(): "+std::to_string(scanFileOrFolderThreadsPool.size()));
+ if(scanFileOrFolderThreadsPool.size()>0)
+ {
+ //then start the next listing threads
+ if(scanFileOrFolderThreadsPool.front()->isFinished())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Start listing thread");
+ scanFileOrFolderThreadsPool.front()->start();
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"The listing thread is already running");
+ }
+ else
+ autoStartAndCheckSpace();
+}
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThreadStat.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThreadStat.cpp
new file mode 100755
index 0000000..bbba3ee
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThreadStat.cpp
@@ -0,0 +1,184 @@
+#include "ListThread.h"
+#include <QStorageInfo>
+#include <QtGlobal>
+#include "../../../cpp11addition.h"
+
+#include "async/TransferThreadAsync.h"
+
+/// \brief update the transfer stat
+void ListThread::newTransferStat(const TransferStat &stat,const quint64 &id)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"TransferStat: "+std::to_string(stat));
+ Ultracopier::ReturnActionOnCopyList newAction;
+ switch(stat)
+ {
+ case TransferStat_Idle:
+ return;
+ break;
+ case TransferStat_PreOperation:
+ return;
+ break;
+ case TransferStat_WaitForTheTransfer:
+ return;
+ break;
+ case TransferStat_Transfer:
+ newAction.type=Ultracopier::Transfer;
+ break;
+ case TransferStat_PostTransfer:
+ case TransferStat_PostOperation:
+ newAction.type=Ultracopier::PostOperation;
+ break;
+ default:
+ return;
+ break;
+ }
+ newAction.addAction.id = id;
+ actionDone.push_back(newAction);
+}
+
+#ifdef ULTRACOPIER_PLUGIN_DEBUG_WINDOW
+void ListThread::timedUpdateDebugDialog()
+{
+ std::vector<std::string> newList;
+ int index=0;
+ int loop_sub_size_transfer_thread_search=transferThreadList.size();
+ while(index<loop_sub_size_transfer_thread_search)
+ {
+ QString stat;
+ switch(transferThreadList.at(index)->getStat())
+ {
+ case TransferStat_Idle:
+ stat="Idle";
+ break;
+ case TransferStat_PreOperation:
+ stat="PreOperation";
+ break;
+ case TransferStat_WaitForTheTransfer:
+ stat="WaitForTheTransfer";
+ break;
+ case TransferStat_Transfer:
+ stat="Transfer";
+ break;
+ case TransferStat_PostOperation:
+ stat="PostOperation";
+ break;
+ case TransferStat_PostTransfer:
+ stat="PostTransfer";
+ break;
+ default:
+ stat=QStringLiteral("??? (%1)").arg(transferThreadList.at(index)->getStat());
+ break;
+ }
+ newList.push_back(QStringLiteral("%1) (%3,%4) %2")
+ .arg(index)
+ .arg(stat)
+ .arg(transferThreadList.at(index)->readingLetter())
+ .arg(transferThreadList.at(index)->writingLetter())
+ .toStdString()
+ );
+ index++;
+ }
+ std::vector<std::string> newList2;
+ index=0;
+ const int &loop_size=actionToDoListTransfer.size();
+ while(index<loop_size)
+ {
+ newList2.push_back(
+ TransferThread::internalStringTostring(actionToDoListTransfer.at(index).source)+
+ " "+std::to_string(actionToDoListTransfer.at(index).size)+" "+
+ TransferThread::internalStringTostring(actionToDoListTransfer.at(index).destination)
+ );
+ if(index>((inodeThreads+ULTRACOPIER_PLUGIN_MAXPARALLELTRANFER)*2+1))
+ {
+ newList2.push_back("...");
+ break;
+ }
+ index++;
+ }
+ emit updateTheDebugInfo(newList,newList2,numberOfInodeOperation);
+}
+#endif
+
+int ListThread::getNumberOfTranferRuning() const
+{
+ int numberOfTranferRuning=0;
+ const int &loop_size=transferThreadList.size();
+ //lunch the transfer in WaitForTheTransfer
+ int int_for_loop=0;
+ while(int_for_loop<loop_size)
+ {
+ if(transferThreadList.at(int_for_loop)->getStat()==TransferStat_Transfer && transferThreadList.at(int_for_loop)->transferId!=0 && transferThreadList.at(int_for_loop)->transferSize>=parallelizeIfSmallerThan)
+ numberOfTranferRuning++;
+ int_for_loop++;
+ }
+ return numberOfTranferRuning;
+}
+
+//send action done
+void ListThread::sendActionDone()
+{
+ if(!actionDone.empty())
+ {
+ emit newActionOnList(actionDone);
+ actionDone.clear();
+ }
+ if(!timeToTransfer.empty())
+ {
+ emit doneTime(timeToTransfer);
+ timeToTransfer.clear();
+ }
+}
+
+//send progression
+void ListThread::sendProgression()
+{
+ if(actionToDoListTransfer.empty())
+ return;
+ oversize=0;
+ currentProgression=0;
+ int int_for_loop=0;
+ const int &loop_size=transferThreadList.size();
+ while(int_for_loop<loop_size)
+ {
+ TransferThreadAsync * temp_transfer_thread=transferThreadList.at(int_for_loop);
+ switch(temp_transfer_thread->getStat())
+ {
+ case TransferStat_Transfer:
+ case TransferStat_PostTransfer:
+ case TransferStat_PostOperation:
+ {
+ copiedSize=temp_transfer_thread->copiedSize();
+
+ //for the general progression
+ currentProgression+=copiedSize;
+
+ //the oversize (when the file is bigger after/during the copy then what was during the listing)
+ if(copiedSize>(qint64)temp_transfer_thread->transferSize)
+ localOverSize=copiedSize-temp_transfer_thread->transferSize;
+ else
+ localOverSize=0;
+
+ //the current size copied
+ totalSize=temp_transfer_thread->transferSize+localOverSize;
+ std::pair<uint64_t,uint64_t> progression=temp_transfer_thread->progression();
+ Ultracopier::ProgressionItem tempItem;
+ tempItem.currentRead=progression.first;
+ tempItem.currentWrite=progression.second;
+ tempItem.id=temp_transfer_thread->transferId;
+ tempItem.total=totalSize;
+ progressionList.push_back(tempItem);
+
+ //add the oversize to the general progression
+ oversize+=localOverSize;
+ }
+ break;
+ default:
+ break;
+ }
+ int_for_loop++;
+ }
+ emit pushFileProgression(progressionList);
+ progressionList.clear();
+ emit pushGeneralProgression(bytesTransfered+currentProgression,bytesToTransfer+oversize);
+ realByteTransfered();
+}
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ListThread_InodeAction.cpp b/plugins/CopyEngine/Ultracopier-Spec/ListThread_InodeAction.cpp
new file mode 100755
index 0000000..b26cb35
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ListThread_InodeAction.cpp
@@ -0,0 +1,91 @@
+/** \file ListThread_InodeAction.cpp
+\brief To be included into ListThread.cpp, to optimize and prevent code duplication
+\see ListThread.cpp */
+
+#ifdef LISTTHREAD_H
+
+//do the inode action
+ActionToDoInode& currentActionToDoInode=actionToDoListInode[int_for_internal_loop];
+switch(currentActionToDoInode.type)
+{
+ case ActionType_RealMove:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"launch real move, source: "+TransferThread::internalStringTostring(currentActionToDoInode.source)+
+ ", destination: "+TransferThread::internalStringTostring(currentActionToDoInode.destination));
+ mkPathQueue.addPath(currentActionToDoInode.source,currentActionToDoInode.destination,currentActionToDoInode.type);
+ currentActionToDoInode.isRunning=true;
+ numberOfInodeOperation++;
+ if(numberOfInodeOperation>=inodeThreads)
+ return;
+ break;
+ case ActionType_MkPath:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"launch mkpath, source: "+TransferThread::internalStringTostring(currentActionToDoInode.source)+
+ ", destination: "+TransferThread::internalStringTostring(currentActionToDoInode.destination));
+ mkPathQueue.addPath(currentActionToDoInode.source,currentActionToDoInode.destination,currentActionToDoInode.type);
+ currentActionToDoInode.isRunning=true;
+ numberOfInodeOperation++;
+ if(numberOfInodeOperation>=inodeThreads)
+ return;
+ break;
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ case ActionType_RmSync:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"launch rmsync, source: "+TransferThread::internalStringTostring(currentActionToDoInode.source)+
+ ", destination: "+TransferThread::internalStringTostring(currentActionToDoInode.destination));
+ mkPathQueue.addPath(currentActionToDoInode.destination,currentActionToDoInode.destination,currentActionToDoInode.type);
+ currentActionToDoInode.isRunning=true;
+ numberOfInodeOperation++;
+ if(numberOfInodeOperation>=inodeThreads)
+ return;
+ break;
+ #endif
+ case ActionType_MovePath:
+ //then empty (no file), can try remove it
+ if(currentActionToDoInode.size==0 || actionToDoListTransfer.empty())//don't put afterTheTransfer because actionToDoListInode_afterTheTransfer -> already afterTheTransfer
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"launch rmpath: source: "+TransferThread::internalStringTostring(currentActionToDoInode.source)+
+ ", destination: "+TransferThread::internalStringTostring(currentActionToDoInode.destination));
+ mkPathQueue.addPath(currentActionToDoInode.source,currentActionToDoInode.destination,currentActionToDoInode.type);
+ currentActionToDoInode.isRunning=true;
+ numberOfInodeOperation++;
+ if(numberOfInodeOperation>=inodeThreads)
+ return;
+ }
+ else //have do the destination, put the remove to after
+ {
+ currentActionToDoInode.size=0;//why just not do .size--?
+ actionToDoListInode_afterTheTransfer.push_back(currentActionToDoInode);
+ actionToDoListInode.erase(actionToDoListInode.cbegin()+int_for_internal_loop);
+ int_for_internal_loop--;
+ actionToDoListInode_count--;
+ if(numberOfInodeOperation>=inodeThreads)
+ return;
+ }
+ break;
+ case ActionType_SyncDate:
+ //then empty (no file), can try remove it
+ if(currentActionToDoInode.size==0 || actionToDoListTransfer.empty())//don't put afterTheTransfer because actionToDoListInode_afterTheTransfer -> already afterTheTransfer
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"launch rmpath: source: "+TransferThread::internalStringTostring(currentActionToDoInode.source)+
+ ", destination: "+TransferThread::internalStringTostring(currentActionToDoInode.destination));
+ mkPathQueue.addPath(currentActionToDoInode.source,currentActionToDoInode.destination,currentActionToDoInode.type);
+ currentActionToDoInode.isRunning=true;
+ numberOfInodeOperation++;
+ if(numberOfInodeOperation>=inodeThreads)
+ return;
+ }
+ else //have do the destination, put the remove to after
+ {
+ currentActionToDoInode.size=0;//why just not do .size--?
+ actionToDoListInode_afterTheTransfer.push_back(currentActionToDoInode);
+ actionToDoListInode.erase(actionToDoListInode.cbegin()+int_for_internal_loop);
+ int_for_internal_loop--;
+ actionToDoListInode_count--;
+ if(numberOfInodeOperation>=inodeThreads)
+ return;
+ }
+ break;
+ default:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Wrong type at inode action");
+ return;
+}
+
+#endif
diff --git a/plugins/CopyEngine/Ultracopier-Spec/MkPath.cpp b/plugins/CopyEngine/Ultracopier-Spec/MkPath.cpp
new file mode 100755
index 0000000..3d6729c
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/MkPath.cpp
@@ -0,0 +1,676 @@
+#include "MkPath.h"
+#include "TransferThread.h"
+#include "../../../cpp11addition.h"
+
+#ifdef Q_OS_WIN32
+#include <accctrl.h>
+#include <aclapi.h>
+#endif
+
+#ifdef Q_OS_WIN32
+ #ifndef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
+ #ifndef NOMINMAX
+ #define NOMINMAX
+ #endif
+ #include <windows.h>
+ #endif
+#endif
+
+#ifdef WIDESTRING
+INTERNALTYPEPATH MkPath::text_slash=L"/";
+#else
+INTERNALTYPEPATH MkPath::text_slash="/";
+#endif
+
+MkPath::MkPath() :
+ waitAction(false),
+ stopIt(false),
+ doRightTransfer(false),
+ keepDate(false),
+ mkFullPath(false),
+ doTheDateTransfer(false)
+{
+ setObjectName("MkPath");
+ moveToThread(this);
+ start();
+}
+
+MkPath::~MkPath()
+{
+ stopIt=true;
+ quit();
+ wait();
+}
+
+void MkPath::addPath(const INTERNALTYPEPATH& source, const INTERNALTYPEPATH& destination, const ActionType &actionType)
+{
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ #ifdef WIDESTRING
+ if(destination.find(L"//") != std::wstring::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(source.find(L"//") != std::wstring::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #else
+ if(destination.find("//") != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(source.find("//") != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #endif
+ #endif
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination));
+ if(stopIt)
+ return;
+ emit internalStartAddPath(source,destination,actionType);
+}
+
+void MkPath::skip()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ emit internalStartSkip();
+}
+
+void MkPath::retry()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ emit internalStartRetry();
+}
+
+void MkPath::run()
+{
+ connect(this,&MkPath::internalStartAddPath, this,&MkPath::internalAddPath,Qt::QueuedConnection);
+ connect(this,&MkPath::internalStartDoThisPath, this,&MkPath::internalDoThisPath,Qt::QueuedConnection);
+ connect(this,&MkPath::internalStartSkip, this,&MkPath::internalSkip,Qt::QueuedConnection);
+ connect(this,&MkPath::internalStartRetry, this,&MkPath::internalRetry,Qt::QueuedConnection);
+ exec();
+}
+
+void MkPath::internalDoThisPath()
+{
+ if(waitAction || pathList.empty())
+ return;
+ const Item &item=pathList.front();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(item.destination.find(TransferThread::stringToInternalString("//")) != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(item.source.find(TransferThread::stringToInternalString("//")) != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #endif
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(item.source)+
+ ", destination: "+TransferThread::internalStringTostring(item.destination)+
+ ", move: "+std::to_string(item.actionType));
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ if(item.actionType==ActionType_RmSync)
+ {
+ if(item.destination.isFile())
+ {
+ QFile removedFile(item.destination.absoluteFilePath());
+ if(!removedFile.remove())
+ {
+ if(stopIt)
+ return;
+ waitAction=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to remove the inode: "+item.destination+", error: "+removedFile.errorString().toStdString());
+ emit errorOnFolder(item.destination,removedFile.errorString().toStdString());
+ return;
+ }
+ }
+ else if(!rmpath(item.destination.absoluteFilePath()))
+ {
+ if(stopIt)
+ return;
+ waitAction=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to remove the inode: "+item.destination);
+ emit errorOnFolder(item.destination,tr("Unable to remove").toStdString());
+ return;
+ }
+ pathList.removeFirst();
+ emit firstFolderFinish();
+ checkIfCanDoTheNext();
+ return;
+ }
+ #endif
+ doTheDateTransfer=false;
+ if(keepDate)
+ {
+ const int64_t &sourceLastModified=TransferThread::readFileMDateTime(item.source);
+ if(!TransferThread::exists(item.source))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"the sources not exists: "+TransferThread::internalStringTostring(item.source));
+ doTheDateTransfer=false;
+ }
+ else if(ULTRACOPIER_PLUGIN_MINIMALYEAR_TIMESTAMPS>=sourceLastModified)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"the sources is older to copy the time: "+TransferThread::internalStringTostring(item.source)+
+ ": "+QDateTime::fromMSecsSinceEpoch((uint64_t)ULTRACOPIER_PLUGIN_MINIMALYEAR_TIMESTAMPS*(uint64_t)1000).toString("dd.MM.yyyy hh:mm:ss.zzz").toStdString()+
+ ">="+QDateTime::fromMSecsSinceEpoch((uint64_t)sourceLastModified*(uint64_t)1000).toString("dd.MM.yyyy hh:mm:ss.zzz").toStdString());
+ doTheDateTransfer=false;
+ }
+ else
+ {
+ doTheDateTransfer=readFileDateTime(item.source);
+ /*if(!doTheDateTransfer)
+ {
+ if(stopIt)
+ return;
+ waitAction=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to get source folder time: "+item.source.absoluteFilePath());
+ emit errorOnFolder(item.source,tr("Unable to get time"));
+ return;
+ }*/
+ }
+ }
+ if(TransferThread::is_dir(item.destination) && item.actionType==ActionType_RealMove)
+ pathList.front().actionType=ActionType_MovePath;
+ if(item.actionType!=ActionType_RealMove)
+ {
+ if(!TransferThread::is_dir(item.destination))
+ {
+ if(mkFullPath)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"TransferThread::mkpath: "+TransferThread::internalStringTostring(item.destination));
+ if(!TransferThread::mkpath(item.destination))
+ {
+ if(!TransferThread::is_dir(item.destination))
+ {
+ if(stopIt)
+ return;
+ waitAction=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: "+
+ TransferThread::internalStringTostring(item.destination)+
+ #ifdef Q_OS_WIN32
+ ", LastError: "+TransferThread::GetLastErrorStdStr()
+ #else
+ ", errno: "+std::to_string(errno)
+ #endif
+ );
+ emit errorOnFolder(item.destination,tr("Unable to create the folder").toStdString());
+ return;
+ }
+ }
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"TransferThread::mkdir: "+TransferThread::internalStringTostring(item.destination));
+ if(!TransferThread::mkdir(item.destination))
+ {
+ if(!TransferThread::is_dir(item.destination))
+ {
+ if(stopIt)
+ return;
+ waitAction=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: "+
+ TransferThread::internalStringTostring(item.destination)+
+ #ifdef Q_OS_WIN32
+ ", LastError: "+TransferThread::GetLastErrorStdStr()
+ #else
+ ", errno: "+std::to_string(errno)
+ #endif
+ );
+ emit errorOnFolder(item.destination,tr("Unable to create the folder").toStdString());
+ return;
+ }
+ }
+ }
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"TransferThread::mkpath ignore exists: "+TransferThread::internalStringTostring(item.destination));
+ }
+ else
+ {
+ if(!TransferThread::is_dir(item.source))
+ {
+ if(stopIt)
+ return;
+ waitAction=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"The source folder don't exists: "+TransferThread::internalStringTostring(item.source));
+ emit errorOnFolder(item.destination,tr("The source folder don't exists").toStdString());
+ return;
+ }
+ if(!TransferThread::is_dir(item.source))//it's really an error?
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"The source is not a folder: "+TransferThread::internalStringTostring(item.source));
+ /*if(stopIt)
+ return;
+ waitAction=true;
+ emit errorOnFolder(item.destination,tr("The source is not a folder"));
+ return;*/
+ }
+ if(stringStartWith(item.destination,(item.source+text_slash)))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"move into it self: "+TransferThread::internalStringTostring(item.destination));
+ int random=rand();
+ INTERNALTYPEPATH tempFolder=FSabsolutePath(item.source)+text_slash+TransferThread::stringToInternalString(std::to_string(random));
+ while(TransferThread::is_dir(tempFolder))
+ {
+ random=rand();
+ tempFolder=FSabsolutePath(item.source)+text_slash+TransferThread::stringToInternalString(std::to_string(random));
+ }
+ if(!TransferThread::rename(item.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());
+ 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(!dir.exists(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"));
+ return;
+ }
+ }*/
+ if(!TransferThread::rename(tempFolder,item.destination))
+ {
+ if(stopIt)
+ 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
+ {
+ /* 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(!dir.exists(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"));
+ return;
+ }
+ }*/
+ if(!TransferThread::rename(item.source,item.destination)!=0)
+ {
+ if(stopIt)
+ return;
+ waitAction=true;
+ #ifdef Q_OS_WIN32
+ const std::string &strError=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: from: "+TransferThread::internalStringTostring(item.source)+", soruce exists: "+
+ std::to_string(TransferThread::is_dir(item.source))+", to: "+TransferThread::internalStringTostring(item.destination)
+ +", destination exist: "+std::to_string(TransferThread::is_dir(item.destination))+": "+strError
+ );
+ emit errorOnFolder(item.destination,tr("Unable to move the folder").toStdString()+": "+strError);
+ #else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: from: "+TransferThread::internalStringTostring(item.source)+", soruce exists: "+
+ std::to_string(TransferThread::is_dir(item.source))+", to: "+TransferThread::internalStringTostring(item.destination)
+ +", destination exist: "+std::to_string(TransferThread::is_dir(item.destination))+": "+std::to_string(errno)
+ );
+ emit errorOnFolder(item.destination,tr("Unable to move the folder: errno: %1").arg(errno).toStdString());
+ #endif
+ return;
+ }
+ }
+ }
+ 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
+ struct stat permissions;
+ if(stat(TransferThread::internalStringTostring(item.source).c_str(), &permissions)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to get the right: "+TransferThread::internalStringTostring(item.destination));
+ else
+ {
+ if(chmod(TransferThread::internalStringTostring(item.destination).c_str(), permissions.st_mode)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to chmod the right: "+TransferThread::internalStringTostring(item.destination));
+ if(chown(TransferThread::internalStringTostring(item.destination).c_str(), permissions.st_uid, permissions.st_gid)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to chown the right: "+TransferThread::internalStringTostring(item.destination));
+ }
+ #else
+ PSECURITY_DESCRIPTOR PSecurityD;
+ PACL dacl;
+
+ HANDLE hFile = CreateFileW(item.source.c_str(), GENERIC_READ ,
+ FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
+ if (hFile == INVALID_HANDLE_VALUE)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,
+ std::string("CreateFile() failed. Error: INVALID_HANDLE_VALUE ")+TransferThread::internalStringTostring(item.source).c_str()+", GetLastError(): "+std::to_string(GetLastError())
+ );
+ else
+ {
+ DWORD lasterror = GetSecurityInfo(hFile, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION,
+ NULL, NULL, &dacl, NULL, &PSecurityD);
+ CloseHandle(hFile);
+ if (lasterror != ERROR_SUCCESS)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"GetSecurityInfo() failed. Error"+std::to_string(lasterror));
+ else
+ {
+ hFile = CreateFileW(item.destination.c_str(),READ_CONTROL | WRITE_OWNER | WRITE_DAC | ACCESS_SYSTEM_SECURITY ,
+ 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
+ if (hFile == INVALID_HANDLE_VALUE)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"CreateFile() failed. Error: INVALID_HANDLE_VALUE");
+ else
+ {
+ lasterror = SetSecurityInfo(hFile, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION , NULL, NULL, dacl, NULL);
+ if (lasterror != ERROR_SUCCESS)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"GetSecurityInfo() failed. Error"+std::to_string(lasterror));
+ }
+ //free(dacl);
+ //free(PSecurityD);
+ CloseHandle(hFile);
+ }
+ }
+ #endif
+ }
+ if(item.actionType==ActionType_MovePath)
+ {
+ if(!rmpath(item.source))
+ {
+ if(stopIt)
+ return;
+ waitAction=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to remove the source folder: "+TransferThread::internalStringTostring(item.destination));
+ emit errorOnFolder(item.source,tr("Unable to remove").toStdString());
+ return;
+ }
+ }
+ pathList.erase(pathList.cbegin());
+ emit firstFolderFinish();
+ checkIfCanDoTheNext();
+}
+
+void MkPath::internalAddPath(const INTERNALTYPEPATH &source, const INTERNALTYPEPATH &destination, const ActionType &actionType)
+{
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ #ifdef WIDESTRING
+ if(destination.find(L"//") != std::wstring::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(source.find(L"//") != std::wstring::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #else
+ if(destination.find("//") != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(source.find("//") != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #endif
+ #endif
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination));
+ Item tempPath;
+ tempPath.source=source;
+ tempPath.destination=destination;
+ tempPath.actionType=actionType;
+ pathList.push_back(tempPath);
+ if(!waitAction)
+ checkIfCanDoTheNext();
+}
+
+void MkPath::checkIfCanDoTheNext()
+{
+ if(!waitAction && !stopIt && pathList.size()>0)
+ emit internalStartDoThisPath();
+}
+
+void MkPath::internalSkip()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ waitAction=false;
+ pathList.erase(pathList.cbegin());
+ emit firstFolderFinish();
+ checkIfCanDoTheNext();
+}
+
+void MkPath::internalRetry()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ waitAction=false;
+ checkIfCanDoTheNext();
+}
+
+void MkPath::setRightTransfer(const bool doRightTransfer)
+{
+ this->doRightTransfer=doRightTransfer;
+}
+
+void MkPath::setKeepDate(const bool keepDate)
+{
+ this->keepDate=keepDate;
+}
+
+void MkPath::setMkFullPath(const bool mkFullPath)
+{
+ this->mkFullPath=mkFullPath;
+}
+
+bool MkPath::rmpath(const INTERNALTYPEPATH &dir
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ ,const bool &toSync
+ #endif
+ )
+{
+ if(!TransferThread::is_dir(dir))
+ return false;
+ bool allHaveWork=true;
+ #ifdef Q_OS_UNIX
+ std::vector<TransferThread::dirent_uc> list;
+ if(!TransferThread::entryInfoList(dir,list))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"folder list error: "+TransferThread::internalStringTostring(dir)+", errno: "+std::to_string(errno));
+ return false;
+ }
+ for (unsigned int i = 0; i < list.size(); ++i)
+ {
+ TransferThread::dirent_uc fileInfo=list.at(i);
+ if(!fileInfo.isFolder)
+ {
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ if(toSync)
+ {
+ QFile file(fileInfo.absoluteFilePath());
+ if(!file.remove())
+ {
+ QFile file(fileInfo.absoluteFilePath());
+ if(!file.remove())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to remove a file: "+fileInfo+", due to: "+file.errorString().toStdString());
+ allHaveWork=false;
+ }
+ }
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"found a file: "+fileInfo.fileName().toStdString());
+ allHaveWork=false;
+ }
+ #else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"found a file: "+TransferThread::internalStringTostring(fileInfo.d_name));
+ allHaveWork=false;
+ #endif
+ }
+ else
+ {
+ //return the fonction for scan the new folder
+ if(!rmpath(FSabsolutePath(dir)+TransferThread::stringToInternalString("/")+fileInfo.d_name+TransferThread::stringToInternalString("/")))
+ allHaveWork=false;
+ }
+ }
+ #else
+ HANDLE hFind = NULL;
+ allHaveWork=true;
+ WIN32_FIND_DATAW fdFile;
+ if((hFind = FindFirstFileW((TransferThread::toFinalPath(dir)+L"\\*").c_str(), &fdFile)) == INVALID_HANDLE_VALUE)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"folder list error: "+TransferThread::internalStringTostring(dir)+", errno: "+std::to_string(errno));
+ return false;
+ }
+
+ if(allHaveWork)
+ do
+ {
+ #ifdef WIDESTRING
+ if(wcscmp(fdFile.cFileName, L".")!=0 && wcscmp(fdFile.cFileName, L"..")!=0)
+ #else
+ if(strcmp(fdFile.cFileName, ".")!=0 && strcmp(fdFile.cFileName, "..")!=0)
+ #endif
+ {
+ if(fdFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ {
+ //return the fonction for scan the new folder
+ #ifdef WIDESTRING
+ if(!rmpath(dir+L'\\'+fdFile.cFileName+L'/'))
+ #else
+ if(!rmpath(dir+'\\'+fdFile.cFileName+'/'))
+ #endif
+ allHaveWork=false;
+ }
+ else
+ {
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ if(toSync)
+ {
+ QFile file(fileInfo.absoluteFilePath());
+ if(!file.remove())
+ {
+ QFile file(fileInfo.absoluteFilePath());
+ if(!file.remove())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to remove a file: "+fileInfo+", due to: "+file.errorString().toStdString());
+ allHaveWork=false;
+ }
+ }
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"found a file: "+fileInfo.fileName().toStdString());
+ allHaveWork=false;
+ }
+ #else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"found a file: "+TransferThread::internalStringTostring(fdFile.cFileName));
+ allHaveWork=false;
+ #endif
+ }
+ }
+ }
+ while(FindNextFileW(hFind, &fdFile));
+ FindClose(hFind);
+ #endif
+ if(!allHaveWork)
+ return false;
+ allHaveWork=TransferThread::rmdir(dir);
+ if(!allHaveWork)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to remove the folder: "+TransferThread::internalStringTostring(FSabsolutePath(dir)));
+ return allHaveWork;
+}
+
+//fonction to edit the file date time
+bool MkPath::readFileDateTime(const INTERNALTYPEPATH &source)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"readFileDateTime("+TransferThread::internalStringTostring(source)+")");
+ /** Why not do it with Qt? Because it not support setModificationTime(), and get the time with Qt, that's mean use local time where in C is UTC time */
+ #ifdef Q_OS_UNIX
+ struct stat info;
+ if(stat(TransferThread::internalStringTostring(source).c_str(),&info)!=0)
+ return false;
+ #ifdef Q_OS_MAC
+ time_t ctime=info.st_ctimespec.tv_sec;
+ time_t actime=info.st_atimespec.tv_sec;
+ time_t modtime=info.st_mtimespec.tv_sec;
+ //this function avalaible on unix and mingw
+ butime.actime=actime;
+ butime.modtime=modtime;
+ #else
+ time_t ctime=info.st_ctim.tv_sec;
+ time_t actime=info.st_atim.tv_sec;
+ time_t modtime=info.st_mtim.tv_sec;
+ //this function avalaible on unix and mingw
+ butime.actime=actime;
+ butime.modtime=modtime;
+ #endif
+ Q_UNUSED(ctime);
+ return true;
+ #else
+ #ifdef Q_OS_WIN32
+ HANDLE hFileSouce = CreateFileW(TransferThread::toFinalPath(source).c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY | FILE_FLAG_BACKUP_SEMANTICS, NULL);
+ if(hFileSouce == INVALID_HANDLE_VALUE)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"open failed to read: "+TransferThread::internalStringTostring(source)+", error: "+std::to_string(GetLastError()));
+ return false;
+ }
+ FILETIME ftCreate, ftAccess, ftWrite;
+ if(!GetFileTime(hFileSouce, &ftCreate, &ftAccess, &ftWrite))
+ {
+ CloseHandle(hFileSouce);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to get the file time");
+ return false;
+ }
+ this->ftCreate=ftCreate;
+ this->ftAccess=ftAccess;
+ this->ftWrite=ftWrite;
+ CloseHandle(hFileSouce);
+ return true;
+ #else
+ return false;
+ #endif
+ #endif
+ return false;
+}
+
+bool MkPath::writeFileDateTime(const INTERNALTYPEPATH &destination)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"writeFileDateTime("+TransferThread::internalStringTostring(destination)+")");
+ /** Why not do it with Qt? Because it not support setModificationTime(), and get the time with Qt, that's mean use local time where in C is UTC time */
+ #ifdef Q_OS_UNIX
+ #ifdef Q_OS_LINUX
+ return utime(TransferThread::internalStringTostring(destination).c_str(),&butime)==0;
+ #else //mainly for mac
+ return utime(TransferThread::internalStringTostring(destination).c_str(),&butime)==0;
+ #endif
+ #else
+ #ifdef Q_OS_WIN32
+ HANDLE hFileDestination = CreateFileW(TransferThread::toFinalPath(destination).c_str(), GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
+ if(hFileDestination == INVALID_HANDLE_VALUE)
+ {
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ wchar_t filePath[65535];
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"open failed to write: "+QString::fromWCharArray(filePath).toStdString()+", error: "+std::to_string(GetLastError()));
+ #endif
+ return false;
+ }
+ FILETIME ftCreate, ftAccess, ftWrite;
+ ftCreate=this->ftCreate;
+ ftAccess=this->ftAccess;
+ ftWrite=this->ftWrite;
+ if(!SetFileTime(hFileDestination, &ftCreate, &ftAccess, &ftWrite))
+ {
+ CloseHandle(hFileDestination);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to set the file time");
+ return false;
+ }
+ CloseHandle(hFileDestination);
+ return true;
+ #else
+ return false;
+ #endif
+ #endif
+ return false;
+}
diff --git a/plugins/CopyEngine/Ultracopier/MkPath.h b/plugins/CopyEngine/Ultracopier-Spec/MkPath.h
index 2bbebcc..1b3a674 100644..100755
--- a/plugins/CopyEngine/Ultracopier/MkPath.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/MkPath.h
@@ -7,13 +7,18 @@
#define MKPATH_H
#include <QThread>
-#include <QFileInfo>
#include <string>
#include <QSemaphore>
#include <vector>
#include <QDir>
#include <QDateTime>
+#ifdef WIDESTRING
+#define INTERNALTYPEPATH std::wstring
+#else
+#define INTERNALTYPEPATH std::string
+#endif
+
#include "Environment.h"
#ifdef Q_OS_UNIX
@@ -23,12 +28,7 @@
#include <sys/stat.h>
#else
#ifdef Q_OS_WIN32
- #ifdef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- #include <utime.h>
- #include <time.h>
- #include <unistd.h>
- #include <sys/stat.h>
- #endif
+ #include <windows.h>
#endif
#endif
@@ -40,13 +40,14 @@ public:
explicit MkPath();
~MkPath();
/// \brief add path to make
- void addPath(const QFileInfo& source,const QFileInfo& destination,const ActionType &actionType);
+ void addPath(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination,const ActionType &actionType);
void setRightTransfer(const bool doRightTransfer);
void setKeepDate(const bool keepDate);
+ void setMkFullPath(const bool mkFullPath);
signals:
- void errorOnFolder(const QFileInfo &,const std::string &,const ErrorType &errorType=ErrorType_FolderWithRety) const;
+ void errorOnFolder(const INTERNALTYPEPATH &,const std::string &,const ErrorType &errorType=ErrorType_FolderWithRety) const;
void firstFolderFinish();
- void internalStartAddPath(const QFileInfo& source,const QFileInfo& destination, const ActionType &actionType) const;
+ void internalStartAddPath(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination, const ActionType &actionType) const;
void internalStartDoThisPath() const;
void internalStartSkip() const;
void internalStartRetry() const;
@@ -61,42 +62,35 @@ private:
bool waitAction;
bool stopIt;
bool skipIt;
- QDateTime maxTime;
struct Item
{
- QFileInfo source;
- QFileInfo destination;
+ INTERNALTYPEPATH source;
+ INTERNALTYPEPATH destination;
ActionType actionType;
};
- QList<Item> pathList;
+ std::vector<Item> pathList;
void checkIfCanDoTheNext();
- QDir dir;
bool doRightTransfer;
bool keepDate;
+ bool mkFullPath;
bool doTheDateTransfer;
#ifdef Q_OS_UNIX
utimbuf butime;
#else
#ifdef Q_OS_WIN32
- #ifdef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- utimbuf butime;
- #else
- uint64_t ftCreateL, ftAccessL, ftWriteL;
- uint64_t ftCreateH, ftAccessH, ftWriteH;
- std::regex regRead;
- #endif
+ FILETIME ftCreate, ftAccess, ftWrite;
#endif
#endif
//fonction to edit the file date time
- bool readFileDateTime(const QFileInfo &source);
- bool writeFileDateTime(const QFileInfo &destination);
- static std::string text_slash;
+ bool readFileDateTime(const INTERNALTYPEPATH &source);
+ bool writeFileDateTime(const INTERNALTYPEPATH &destination);
+ static INTERNALTYPEPATH text_slash;
private slots:
void internalDoThisPath();
- void internalAddPath(const QFileInfo& source, const QFileInfo& destination,const ActionType &actionType);
+ void internalAddPath(const INTERNALTYPEPATH& source, const INTERNALTYPEPATH& destination,const ActionType &actionType);
void internalSkip();
void internalRetry();
- bool rmpath(const QDir &dir
+ bool rmpath(const INTERNALTYPEPATH &dir
#ifdef ULTRACOPIER_PLUGIN_RSYNC
, const bool &toSync=false
#endif
diff --git a/plugins/CopyEngine/Ultracopier-Spec/README.md b/plugins/CopyEngine/Ultracopier-Spec/README.md
new file mode 100755
index 0000000..a15b943
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/README.md
@@ -0,0 +1,3 @@
+# Copy Engine: Ultracopier
+
+This is the default copy engine.
diff --git a/plugins/CopyEngine/Ultracopier/RenamingRules.cpp b/plugins/CopyEngine/Ultracopier-Spec/RenamingRules.cpp
index 4ae23b8..8c0d698 100644..100755
--- a/plugins/CopyEngine/Ultracopier/RenamingRules.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/RenamingRules.cpp
@@ -31,16 +31,23 @@ void RenamingRules::on_buttonBox_clicked(QAbstractButton *button)
void RenamingRules::setRenamingRules(std::string firstRenamingRule,std::string otherRenamingRule)
{
disconnectUI();
+ if(firstRenamingRule.find("%name%")==std::string::npos || firstRenamingRule.find("%suffix%")==std::string::npos)
+ firstRenamingRule.clear();
+ if(otherRenamingRule.find("%name%")==std::string::npos || otherRenamingRule.find("%suffix%")==std::string::npos
+ || otherRenamingRule.find("%number%")==std::string::npos)
+ otherRenamingRule.clear();
+
this->firstRenamingRule=firstRenamingRule;
this->otherRenamingRule=otherRenamingRule;
+
if(!firstRenamingRule.empty())
ui->firstRenamingRule->setText(QString::fromStdString(firstRenamingRule));
else
- ui->firstRenamingRule->setText(tr("%1 - copy").arg(QStringLiteral("%name%")));
+ ui->firstRenamingRule->setText(tr("%1 - copy%2").arg(QStringLiteral("%name%")).arg(QStringLiteral("%suffix%")));
if(!otherRenamingRule.empty())
ui->otherRenamingRule->setText(QString::fromStdString(otherRenamingRule));
else
- ui->otherRenamingRule->setText(tr("%1 - copy (%2)").arg(QStringLiteral("%name%")).arg(QStringLiteral("%number%")));
+ ui->otherRenamingRule->setText(tr("%1 - copy (%2)%3").arg(QStringLiteral("%name%")).arg(QStringLiteral("%number%")).arg(QStringLiteral("%suffix%")));
connectUI();
}
@@ -59,7 +66,9 @@ void RenamingRules::disconnectUI()
void RenamingRules::firstRenamingRule_haveChanged()
{
QString newValue=ui->firstRenamingRule->text();
- if(newValue==tr("%1 - copy").arg(QStringLiteral("%name%")))
+ if(!newValue.contains("%name%") || !newValue.contains("%suffix%"))
+ newValue.clear();
+ if(newValue==tr("%1 - copy%2").arg(QStringLiteral("%name%")).arg(QStringLiteral("%name%")))
newValue=QStringLiteral("");
if(newValue.toStdString()==firstRenamingRule)
return;
@@ -70,7 +79,9 @@ void RenamingRules::firstRenamingRule_haveChanged()
void RenamingRules::otherRenamingRule_haveChanged()
{
QString newValue=ui->otherRenamingRule->text();
- if(newValue==tr("%1 - copy (%2)").arg(QStringLiteral("%name%")).arg(QStringLiteral("%number%")))
+ if(!newValue.contains("%name%") || !newValue.contains("%suffix%") || !newValue.contains("%number%"))
+ newValue.clear();
+ if(newValue==tr("%1 - copy (%2)%3").arg(QStringLiteral("%name%")).arg(QStringLiteral("%number%")).arg(QStringLiteral("%name%")))
newValue=QStringLiteral("");
if(newValue.toStdString()==otherRenamingRule)
return;
diff --git a/plugins/CopyEngine/Ultracopier/RenamingRules.h b/plugins/CopyEngine/Ultracopier-Spec/RenamingRules.h
index b2e9d02..b2e9d02 100644..100755
--- a/plugins/CopyEngine/Ultracopier/RenamingRules.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/RenamingRules.h
diff --git a/plugins/CopyEngine/Ultracopier/RenamingRules.ui b/plugins/CopyEngine/Ultracopier-Spec/RenamingRules.ui
index 0219249..0219249 100644..100755
--- a/plugins/CopyEngine/Ultracopier/RenamingRules.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/RenamingRules.ui
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp b/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp
new file mode 100755
index 0000000..014585d
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp
@@ -0,0 +1,953 @@
+#include "ScanFileOrFolder.h"
+#include "TransferThread.h"
+#include <QtGlobal>
+#include <regex>
+#include "../../../cpp11addition.h"
+
+#ifdef Q_OS_WIN32
+ #ifndef NOMINMAX
+ #define NOMINMAX
+ #endif
+ #include <windows.h>
+#endif
+
+#ifdef WIDESTRING
+std::wstring ScanFileOrFolder::text_slash=L"/";
+std::wstring ScanFileOrFolder::text_antislash=L"\\";
+std::wstring ScanFileOrFolder::text_dot=L".";
+#else
+std::string ScanFileOrFolder::text_slash="/";
+std::string ScanFileOrFolder::text_antislash="\\";
+std::string ScanFileOrFolder::text_dot=".";
+#endif
+
+ScanFileOrFolder::ScanFileOrFolder(const Ultracopier::CopyMode &mode) :
+ moveTheWholeFolder(false),
+ stopIt(false),
+ stopped(false),
+ folderExistsAction(FolderExistsAction::FolderExists_NotSet),
+ fileErrorAction(FileErrorAction::FileError_NotSet),
+ checkDestinationExists(false),
+ copyListOrder(false),
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ rsync(false),
+ #endif
+ mode(Ultracopier::CopyMode::Copy),
+ reloadTheNewFilters(false),
+ haveFilters(false)
+{
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ rsync = false;
+ #endif
+ moveTheWholeFolder = true;
+ stopped = true;
+ stopIt = false;
+ this->mode = mode;
+ folder_isolation = std::regex("^(.*/)?([^/]+)/$");
+ setObjectName(QStringLiteral("ScanFileOrFolder"));
+ /*#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)));
+ }
+ delete userNameW;
+ #endif*/
+}
+
+ScanFileOrFolder::~ScanFileOrFolder()
+{
+ stop();
+ quit();
+ wait();
+}
+
+bool ScanFileOrFolder::isFinished() const
+{
+ return stopped;
+}
+
+void ScanFileOrFolder::addToList(const std::vector<INTERNALTYPEPATH>& sources,const INTERNALTYPEPATH& destination)
+{
+ stopIt=false;
+ this->sources=parseWildcardSources(sources);
+ this->destination=destination;
+ #ifdef WIDESTRING
+ QFileInfo destinationInfo(QString::fromStdWString(this->destination));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"check symblink: "+destinationInfo.absoluteFilePath().toStdString()+", destination: "+TransferThread::internalStringTostring(destination));
+ #ifdef WIDESTRING
+ while(TransferThread::is_symlink(destinationInfo.absoluteFilePath().toStdWString()))
+ #else
+ while(TransferThread::is_symlink(destinationInfo.absoluteFilePath().toStdString()))
+ #endif
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"resolv destination to: "+destinationInfo.symLinkTarget().toStdString());
+ if(QFileInfo(destinationInfo.symLinkTarget()).isAbsolute())
+ this->destination=destinationInfo.symLinkTarget().toStdWString();
+ else
+ this->destination=destinationInfo.absolutePath().toStdWString()+text_slash+destinationInfo.symLinkTarget().toStdWString();
+ destinationInfo.setFile(QString::fromStdWString(this->destination));
+ }
+ if(sources.size()>1 || QFileInfo(QString::fromStdWString(destination)).isDir())
+ /* Disabled because the separator transformation product bug
+ * if(!destination.endsWith(QDir::separator()))
+ this->destination+=QDir::separator();*/
+ if(!stringEndsWith(destination,'/') && !stringEndsWith(destination,'\\'))
+ this->destination+=text_slash;//put unix separator because it's transformed into that's under windows too
+ #else
+ QFileInfo destinationInfo(QString::fromStdString(this->destination));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"check symblink: "+destinationInfo.absoluteFilePath().toStdString());
+ while(destinationInfo.isSymLink())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"resolv destination to: "+destinationInfo.symLinkTarget().toStdString());
+ if(QFileInfo(destinationInfo.symLinkTarget()).isAbsolute())
+ this->destination=destinationInfo.symLinkTarget().toStdString();
+ else
+ this->destination=destinationInfo.absolutePath().toStdString()+text_slash+destinationInfo.symLinkTarget().toStdString();
+ destinationInfo.setFile(QString::fromStdString(this->destination));
+ }
+ if(sources.size()>1 || QFileInfo(QString::fromStdString(destination)).isDir())
+ /* Disabled because the separator transformation product bug
+ * if(!destination.endsWith(QDir::separator()))
+ this->destination+=QDir::separator();*/
+ if(!stringEndsWith(destination,'/') && !stringEndsWith(destination,'\\'))
+ this->destination+=text_slash;//put unix separator because it's transformed into that's under windows too
+ #endif
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"addToList("+stringimplode(sources,";")+","+this->destination+")");
+}
+
+
+std::vector<INTERNALTYPEPATH> ScanFileOrFolder::parseWildcardSources(const std::vector<INTERNALTYPEPATH> &sources) const
+{
+ std::regex splitFolder("[/\\\\]");
+ std::vector<INTERNALTYPEPATH> returnList;
+ unsigned int index=0;
+ while(index<(unsigned int)sources.size())
+ {
+ std::string sourceAt=TransferThread::internalStringTostring(sources.at(index));
+ if(sourceAt.find("*") != std::string::npos)
+ {
+ std::vector<std::string> toParse=stringregexsplit(sourceAt,splitFolder);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"before wildcard parse: "+sourceAt+", toParse: "+stringimplode(toParse,", "));
+ std::vector<std::vector<std::string> > recomposedSource;
+ {
+ std::vector<std::string> t;
+ t.push_back("");
+ recomposedSource.push_back(t);
+ }
+ while(toParse.size()>0)
+ {
+ if(toParse.front().find("*") != std::string::npos)
+ {
+ std::string toParseFirst=toParse.front();
+ if(toParseFirst.empty())
+ toParseFirst=TransferThread::internalStringTostring(text_slash);
+ std::vector<std::vector<std::string> > newRecomposedSource;
+ stringreplaceAll(toParseFirst,"*","[^/\\\\]*");
+ std::regex toResolv=std::regex(toParseFirst);
+ unsigned int index_recomposedSource=0;
+ while(index_recomposedSource<recomposedSource.size())//parse each url part
+ {
+ std::string fileInfo(stringimplode(recomposedSource.at(index_recomposedSource),TransferThread::internalStringTostring(text_slash)));
+ std::vector<TransferThread::dirent_uc> list;
+
+ if(TransferThread::is_dir(fileInfo.c_str()))
+ {
+ if(TransferThread::entryInfoList(TransferThread::stringToInternalString(fileInfo),list))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"list the folder: "+fileInfo+", with the wildcard: "+toParseFirst);
+ unsigned int index_fileList=0;
+ while(index_fileList<list.size())
+ {
+ const std::string &fileName=TransferThread::internalStringTostring(list.at(index_fileList).d_name);
+ if(std::regex_match(fileName,toResolv))
+ {
+ std::vector<std::string> tempList=recomposedSource.at(index_recomposedSource);
+ tempList.push_back(fileName);
+ newRecomposedSource.push_back(tempList);
+ }
+ index_fileList++;
+ }
+ }
+ }
+ index_recomposedSource++;
+ }
+ recomposedSource=newRecomposedSource;
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"add toParse: "+stringimplode(toParse,TransferThread::internalStringTostring(text_slash)));
+ unsigned int index_recomposedSource=0;
+ while(index_recomposedSource<recomposedSource.size())
+ {
+ recomposedSource[index_recomposedSource].push_back(toParse.front());
+ if(!QFileInfo(QString::fromStdString(stringimplode(recomposedSource.at(index_recomposedSource),TransferThread::internalStringTostring(text_slash)))).exists())
+ recomposedSource.erase(recomposedSource.cbegin()+index_recomposedSource);
+ else
+ index_recomposedSource++;
+ }
+ }
+ toParse.erase(toParse.cbegin());
+ }
+ unsigned int index_recomposedSource=0;
+ while(index_recomposedSource<recomposedSource.size())
+ {
+ returnList.push_back(TransferThread::stringToInternalString(stringimplode(recomposedSource.at(index_recomposedSource),TransferThread::internalStringTostring(text_slash))));
+ index_recomposedSource++;
+ }
+ }
+ else
+ returnList.push_back(TransferThread::stringToInternalString(sourceAt));
+ index++;
+ }
+ return returnList;
+}
+
+void ScanFileOrFolder::setFilters(const std::vector<Filters_rules> &include, const std::vector<Filters_rules> &exclude)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ QMutexLocker lock(&filtersMutex);
+ this->include_send=include;
+ this->exclude_send=exclude;
+ reloadTheNewFilters=true;
+ haveFilters=include_send.size()>0 || exclude_send.size()>0;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"haveFilters: "+std::to_string(haveFilters)+", include_send.size(): "+std::to_string(include_send.size())+", exclude_send.size(): "+std::to_string(exclude_send.size()));
+}
+
+//set action if Folder are same or exists
+void ScanFileOrFolder::setFolderExistsAction(const FolderExistsAction &action, const std::string &newName)
+{
+ this->newName=TransferThread::stringToInternalString(newName);
+ folderExistsAction=action;
+ waitOneAction.release();
+}
+
+//set action if error
+void ScanFileOrFolder::setFolderErrorAction(const FileErrorAction &action)
+{
+ fileErrorAction=action;
+ waitOneAction.release();
+}
+
+void ScanFileOrFolder::stop()
+{
+ stopIt=true;
+ waitOneAction.release();
+}
+
+void ScanFileOrFolder::run()
+{
+ stopped=false;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,
+ "start the listing with destination: "+TransferThread::internalStringTostring(destination)+", mode: "+std::to_string(mode));
+ #ifdef Q_OS_UNIX
+ destination=resolvDestination(destination);
+ #endif
+ #ifdef WIDESTRING
+ stringreplaceAll(destination,L"\\",L"/");
+ #else
+ stringreplaceAll(destination,"\\","/");
+ #endif
+ if(stopIt)
+ {
+ stopped=true;
+ return;
+ }
+ if(fileErrorAction==FileError_Skip)
+ {
+ stopped=true;
+ return;
+ }
+ unsigned int sourceIndex=0;
+ while(sourceIndex<sources.size())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"size source to list: "+std::to_string(sourceIndex)+TransferThread::internalStringTostring(text_slash)+std::to_string(sources.size()));
+ if(stopIt)
+ {
+ stopped=true;
+ return;
+ }
+ INTERNALTYPEPATH source=sources.at(sourceIndex);
+ #ifdef WIDESTRING
+ stringreplaceAll(source,L"\\",L"/");
+ #else
+ stringreplaceAll(source,"\\","/");
+ #endif
+ if(TransferThread::is_dir(source))
+ {
+ /* Bad way; when you copy c:\source\folder into d:\destination, you wait it create the folder d:\destination\folder
+ //listFolder(source.absoluteFilePath()+QDir::separator(),destination);
+ listFolder(source.absoluteFilePath()+text_slash,destination);//put unix separator because it's transformed into that's under windows too
+ */
+ //put unix separator because it's transformed into that's under windows too
+ INTERNALTYPEPATH tempString=destination;
+ if(!stringEndsWith(tempString,text_slash) && !stringEndsWith(tempString,text_antislash))
+ tempString+=text_slash;
+ tempString+=TransferThread::resolvedName(source);
+ if(moveTheWholeFolder && mode==Ultracopier::Move && !QFileInfo(
+ #ifdef WIDESTRING
+ QString::fromStdWString(tempString)
+ #else
+ QString::fromStdString(tempString)
+ #endif
+ ).exists() &&
+ driveManagement.isSameDrive(TransferThread::internalStringTostring(source),TransferThread::internalStringTostring(tempString)))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"tempString: move and not exists: "+TransferThread::internalStringTostring(tempString));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"do real move: "+TransferThread::internalStringTostring(source)+" to "+TransferThread::internalStringTostring(tempString));
+ emit addToRealMove(source,tempString);
+ }
+ 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");
+ if(stringEndsWith(source,'/'))
+ source.erase(source.end()-1);
+ if(stringEndsWith(tempString,'/'))
+ tempString.erase(tempString.end()-1);
+ listFolder(source,tempString);
+ }
+ }
+ 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);
+ }
+ sourceIndex++;
+ }
+ stopped=true;
+ if(stopIt)
+ return;
+ emit finishedTheListing();
+}
+
+#ifdef Q_OS_UNIX
+INTERNALTYPEPATH ScanFileOrFolder::resolvDestination(const INTERNALTYPEPATH &destination)
+{
+ INTERNALTYPEPATH temp(destination);
+ char buf[PATH_MAX];
+ ssize_t nbytes=0;
+ nbytes=readlink(TransferThread::internalStringTostring(destination).c_str(), buf, sizeof(buf));
+ while(nbytes!=-1) {
+ temp=FSabsolutePath(temp);
+ if(!stringEndsWith(destination,'/')
+ #ifdef Q_OS_WIN32
+ && !stringEndsWith(destination,'\\')
+ #endif
+ )
+ temp+=TransferThread::stringToInternalString("/");
+ temp+=TransferThread::stringToInternalString(std::string(buf,nbytes));
+ /// \todo change for pure c++ code
+ #ifdef WIDESTRING
+ temp=QFileInfo(QString::fromStdWString(temp)).absoluteFilePath().toStdWString();
+ #else
+ temp=QFileInfo(QString::fromStdString(temp)).absoluteFilePath().toStdString();
+ #endif
+ nbytes=readlink(TransferThread::internalStringTostring(temp).c_str(), buf, sizeof(buf));
+ }
+ 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)
+{
+ int index=0;
+ int size=blackList.size();
+ while(index<size)
+ {
+ if(stringStartWith(destination,blackList.at(index)))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,destination+" start with: "+blackList.at(index));
+ return true;
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,destination+" not start with: "+blackList.at(index));
+ index++;
+ }
+ return false;
+}*/
+
+void ScanFileOrFolder::listFolder(INTERNALTYPEPATH source,INTERNALTYPEPATH destination)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination)
+ );
+ if(stopIt)
+ return;
+ #ifdef Q_OS_UNIX
+ destination=resolvDestination(destination);
+ #endif
+ if(stopIt)
+ return;
+ if(fileErrorAction==FileError_Skip)
+ return;
+ //if is same
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ #ifdef WIDESTRING
+ if(destination.find(L"//") != std::wstring::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(source.find(L"//") != std::wstring::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #else
+ if(destination.find("//") != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(source.find("//") != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #endif
+ #endif
+ if(source==destination)
+ {
+ emit folderAlreadyExists(source,destination,true);
+ waitOneAction.acquire();
+ INTERNALTYPEPATH destinationSuffixPath;
+ switch(folderExistsAction)
+ {
+ case FolderExists_Merge:
+ break;
+ case FolderExists_Skip:
+ return;
+ break;
+ case FolderExists_Rename:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination before rename: "+TransferThread::internalStringTostring(destination));
+ if(newName.empty())
+ {
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"pattern: "+folder_isolation.str());
+ //resolv the new name
+ destinationSuffixPath=TransferThread::resolvedName(destination);
+ int num=1;
+ do
+ {
+ if(num==1)
+ {
+ if(firstRenamingRule.empty())
+ #ifdef WIDESTRING
+ destinationSuffixPath=tr("%1 - copy").arg(QString::fromStdWString(TransferThread::resolvedName(destination))).toStdWString();
+ #else
+ destinationSuffixPath=tr("%1 - copy").arg(QString::fromStdString(TransferThread::resolvedName(destination))).toStdString();
+ #endif
+ else
+ destinationSuffixPath=TransferThread::stringToInternalString(firstRenamingRule);
+ }
+ else
+ {
+ if(otherRenamingRule.empty())
+ #ifdef WIDESTRING
+ destinationSuffixPath=tr("%1 - copy (%2)").arg(QString::fromStdWString(TransferThread::resolvedName(destination))).arg(num).toStdWString();
+ #else
+ destinationSuffixPath=tr("%1 - copy (%2)").arg(QString::fromStdString(TransferThread::resolvedName(destination))).arg(num).toStdString();
+ #endif
+ else
+ {
+ destinationSuffixPath=TransferThread::stringToInternalString(otherRenamingRule);
+ #ifdef WIDESTRING
+ stringreplaceAll(destinationSuffixPath,L"%number%",std::to_wstring(num));
+ #else
+ stringreplaceAll(destinationSuffixPath,"%number%",std::to_string(num));
+ #endif
+ }
+ }
+ #ifdef WIDESTRING
+ stringreplaceAll(destinationSuffixPath,L"%name%",TransferThread::resolvedName(destination));
+ #else
+ stringreplaceAll(destinationSuffixPath,"%name%",TransferThread::resolvedName(destination));
+ #endif
+ num++;
+ {
+ std::string::size_type n=destination.rfind('/');
+ if(n == std::string::npos)
+ n=destination.rfind('.');
+ else
+ n=destination.rfind(n,'.');
+ if(n == std::string::npos)
+ {
+ destination=FSabsolutePath(destination);
+ if(!stringEndsWith(destination,'/')
+ #ifdef Q_OS_WIN32
+ && !stringEndsWith(destination,'\\')
+ #endif
+ )
+ destination+=text_slash;
+ destination+=destinationSuffixPath;
+ }
+ else
+ {
+ destination=FSabsolutePath(destination);
+ if(!stringEndsWith(destination,'/')
+ #ifdef Q_OS_WIN32
+ && !stringEndsWith(destination,'\\')
+ #endif
+ )
+ destination+=text_slash;
+ destination+=destinationSuffixPath+TransferThread::stringToInternalString(".")+destination.substr(n);
+ }
+ }
+ }
+ while(TransferThread::exists(destination));
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"use new name: "+TransferThread::internalStringTostring(newName));
+ destinationSuffixPath = newName;
+ }
+ destination=FSabsolutePath(destination);
+ if(!stringEndsWith(destination,'/')
+ #ifdef Q_OS_WIN32
+ && !stringEndsWith(destination,'\\')
+ #endif
+ )
+ destination+=text_slash;
+ destination+=destinationSuffixPath;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination after rename: "+TransferThread::internalStringTostring(destination));
+ break;
+ default:
+ return;
+ break;
+ }
+ }
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ #ifdef WIDESTRING
+ if(destination.find(L"//") != std::wstring::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(source.find(L"//") != std::wstring::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #else
+ if(destination.find("//") != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(source.find("//") != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #endif
+ #endif
+ //check if destination exists
+ if(checkDestinationExists)
+ {
+ if(TransferThread::exists(destination))
+ {
+ emit folderAlreadyExists(source,destination,false);
+ waitOneAction.acquire();
+ INTERNALTYPEPATH destinationSuffixPath;
+ switch(folderExistsAction)
+ {
+ case FolderExists_Merge:
+ break;
+ case FolderExists_Skip:
+ return;
+ break;
+ case FolderExists_Rename:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination before rename: "+TransferThread::internalStringTostring(destination));
+ if(newName.empty())
+ {
+ //resolv the new name
+ int num=1;
+ INTERNALTYPEPATH tempdestination;
+ do
+ {
+ if(num==1)
+ {
+ if(firstRenamingRule.empty())
+ #ifdef WIDESTRING
+ destinationSuffixPath=tr("%name% - copy").toStdWString();
+ #else
+ destinationSuffixPath=tr("%name% - copy").toStdString();
+ #endif
+ else
+ destinationSuffixPath=TransferThread::stringToInternalString(firstRenamingRule);
+ }
+ else
+ {
+ if(otherRenamingRule.empty())
+ #ifdef WIDESTRING
+ destinationSuffixPath=tr("%name% - copy (%number%)").toStdWString();
+ #else
+ destinationSuffixPath=tr("%name% - copy (%number%)").toStdString();
+ #endif
+ else
+ destinationSuffixPath=TransferThread::stringToInternalString(otherRenamingRule);
+ #ifdef WIDESTRING
+ stringreplaceAll(destinationSuffixPath,L"%number%",std::to_wstring(num));
+ #else
+ stringreplaceAll(destinationSuffixPath,"%number%",std::to_string(num));
+ #endif
+ }
+ #ifdef WIDESTRING
+ stringreplaceAll(destinationSuffixPath,L"%name%",TransferThread::resolvedName(destination));
+ #else
+ stringreplaceAll(destinationSuffixPath,"%name%",TransferThread::resolvedName(destination));
+ #endif
+ tempdestination=FSabsolutePath(destination);
+ if(!stringEndsWith(destination,'/')
+ #ifdef Q_OS_WIN32
+ && !stringEndsWith(destination,'\\')
+ #endif
+ )
+ tempdestination+=text_slash;
+ tempdestination+=destinationSuffixPath;
+ num++;
+ }
+ while(TransferThread::exists(tempdestination));
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"use new name: "+TransferThread::internalStringTostring(newName));
+ destinationSuffixPath = newName;
+ }
+ {
+ std::string::size_type n=destination.rfind('/');
+ if(n == std::string::npos)
+ n=destination.rfind('.');
+ else
+ n=destination.rfind(n,'.');
+ if(n == std::string::npos)
+ {
+ destination=FSabsolutePath(destination);
+ if(!stringEndsWith(destination,'/')
+ #ifdef Q_OS_WIN32
+ && !stringEndsWith(destination,'\\')
+ #endif
+ )
+ destination+=text_slash;
+ destination+=destinationSuffixPath;
+ }
+ else
+ {
+ destination=FSabsolutePath(destination);
+ if(!stringEndsWith(destination,'/')
+ #ifdef Q_OS_WIN32
+ && !stringEndsWith(destination,'\\')
+ #endif
+ )
+ destination+=text_slash;
+ destination+=destinationSuffixPath+
+ TransferThread::stringToInternalString(".")+destination.substr(n);
+ }
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination after rename: "+TransferThread::internalStringTostring(destination));
+ break;
+ default:
+ return;
+ break;
+ }
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"checkDestinationExists but stat failed");
+ }
+ if(stopIt)
+ return;
+ std::vector<TransferThread::dirent_uc> entryList;
+ do
+ {
+ fileErrorAction=FileError_NotSet;
+ if(!TransferThread::entryInfoList(source,entryList))
+ {
+ #ifdef Q_OS_UNIX
+ int saveerrno=errno;
+ const std::string &errorStr=strerror(saveerrno);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Problem with the folder "+TransferThread::internalStringTostring(source)+" to read: "+std::to_string(saveerrno));
+ emit errorOnFolder(source,tr("Problem with folder read").toStdString()+": "+errorStr);
+ #else
+ const std::string &errorStr=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Problem with the folder "+TransferThread::internalStringTostring(source)+" to read: "+errorStr);
+ emit errorOnFolder(source,tr("Problem with folder read").toStdString()+": "+errorStr);
+ #endif
+ waitOneAction.acquire();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"actionNum: "+std::to_string(fileErrorAction));
+ }
+ } while(fileErrorAction==FileError_Retry);
+
+ if(copyListOrder)
+ std::sort(entryList.begin(), entryList.end(), [](TransferThread::dirent_uc a, TransferThread::dirent_uc b) {
+ return a.d_name<b.d_name;
+ });
+ if(stopIt)
+ return;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ #ifdef WIDESTRING
+ if(destination.find(L"//") != std::wstring::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(source.find(L"//") != std::wstring::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #else
+ if(destination.find("//") != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path destination contains error");
+ if(source.find("//") != std::string::npos)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"path source contains error");
+ #endif
+ #endif
+ const unsigned int sizeEntryList=entryList.size();
+ emit newFolderListing(TransferThread::internalStringTostring(source));
+ if(mode!=Ultracopier::Move)
+ emit addToMkPath(source,destination,sizeEntryList);
+ for(unsigned int index=0;index<sizeEntryList;++index)
+ {
+ const TransferThread::dirent_uc &fileInfo=entryList.at(index);
+ if(stopIt)
+ return;
+ if(haveFilters)
+ {
+ if(reloadTheNewFilters)
+ {
+ QMutexLocker lock(&filtersMutex);
+ QCoreApplication::processEvents(QEventLoop::AllEvents);
+ reloadTheNewFilters=false;
+ this->include=this->include_send;
+ this->exclude=this->exclude_send;
+ }
+ const INTERNALTYPEPATH &fileName=fileInfo.d_name;
+ if(fileInfo.isFolder)
+ {
+ bool excluded=false,included=(include.size()==0);
+ unsigned int filters_index=0;
+ while(filters_index<exclude.size())
+ {
+ if(exclude.at(filters_index).apply_on==ApplyOn_folder || exclude.at(filters_index).apply_on==ApplyOn_fileAndFolder)
+ {
+ if(std::regex_match(TransferThread::internalStringTostring(fileName),exclude.at(filters_index).regex))
+ {
+ excluded=true;
+ break;
+ }
+ }
+ filters_index++;
+ }
+ if(excluded)
+ {}
+ else
+ {
+ filters_index=0;
+ while(filters_index<include.size())
+ {
+ if(include.at(filters_index).apply_on==ApplyOn_folder || include.at(filters_index).apply_on==ApplyOn_fileAndFolder)
+ {
+ if(std::regex_match(TransferThread::internalStringTostring(fileName),include.at(filters_index).regex))
+ {
+ included=true;
+ break;
+ }
+ }
+ filters_index++;
+ }
+ if(!included)
+ {}
+ else
+ {
+ INTERNALTYPEPATH fullSource=source;
+ if(!stringEndsWith(fullSource,'/'))
+ fullSource+='/';
+ fullSource+=fileName;
+ INTERNALTYPEPATH fullDestination=destination;
+ if(!stringEndsWith(fullDestination,'/'))
+ fullDestination+='/';
+ fullDestination+=fileName;
+ listFolder(fullSource,fullDestination);
+ }
+ }
+ }
+ else
+ {
+ bool excluded=false,included=(include.size()==0);
+ unsigned int filters_index=0;
+ while(filters_index<exclude.size())
+ {
+ if(exclude.at(filters_index).apply_on==ApplyOn_file || exclude.at(filters_index).apply_on==ApplyOn_fileAndFolder)
+ {
+ if(std::regex_match(TransferThread::internalStringTostring(fileName),exclude.at(filters_index).regex))
+ {
+ excluded=true;
+ break;
+ }
+ }
+ filters_index++;
+ }
+ if(excluded)
+ {}
+ else
+ {
+ filters_index=0;
+ while(filters_index<include.size())
+ {
+ if(include.at(filters_index).apply_on==ApplyOn_file || include.at(filters_index).apply_on==ApplyOn_fileAndFolder)
+ {
+ if(std::regex_match(TransferThread::internalStringTostring(fileName),include.at(filters_index).regex))
+ {
+ included=true;
+ break;
+ }
+ }
+ filters_index++;
+ }
+ if(!included)
+ {}
+ else
+ {
+ INTERNALTYPEPATH fullSource=source;
+ if(!stringEndsWith(fullSource,'/'))
+ fullSource+='/';
+ fullSource+=fileName;
+ #ifndef ULTRACOPIER_PLUGIN_RSYNC
+ #ifdef Q_OS_WIN32
+ emit fileTransferWithInode(fullSource,destination+TransferThread::stringToInternalString("/")+fileName,mode,fileInfo);
+ #else
+ emit fileTransfer(fullSource,destination+TransferThread::stringToInternalString("/")+fileName,mode);
+ #endif
+ #else
+ {
+ bool sendToTransfer=false;
+ if(!rsync)
+ sendToTransfer=true;
+ else if(!QFile::exists(destination.absoluteFilePath()+"/"+fileInfo.fileName()))
+ sendToTransfer=true;
+ else if(fileInfo.lastModified()!=QFileInfo(destination.absoluteFilePath()+"/"+fileInfo.fileName()).lastModified())
+ sendToTransfer=true;
+ if(sendToTransfer)
+ #ifdef Q_OS_WIN32
+ emit fileTransferWithInode(fileInfo.absoluteFilePath(),destination.absoluteFilePath()+"/"+fileInfo.fileName(),mode,fileInfo);
+ #else
+ emit fileTransfer(fileInfo.absoluteFilePath(),destination.absoluteFilePath()+"/"+fileInfo.fileName(),mode);
+ #endif
+ }
+ #endif
+ }
+ }
+ }
+ }
+ else
+ {
+ const INTERNALTYPEPATH fileName(fileInfo.d_name);
+ if(fileInfo.isFolder)//possible wait time here
+ {
+ //listFolder(source,destination,suffixPath+fileInfo.fileName()+QDir::separator());
+ INTERNALTYPEPATH fullSource=source;
+ if(!stringEndsWith(fullSource,'/'))
+ fullSource+='/';
+ fullSource+=fileName;
+ INTERNALTYPEPATH fullDestination=destination;
+ if(!stringEndsWith(fullDestination,'/'))
+ fullDestination+='/';
+ fullDestination+=fileName;
+ listFolder(fullSource,fullDestination);
+ }
+ else
+ {
+ INTERNALTYPEPATH fullSource=source;
+ if(!stringEndsWith(fullSource,'/'))
+ fullSource+='/';
+ fullSource+=fileName;
+ #ifndef ULTRACOPIER_PLUGIN_RSYNC
+ #ifdef Q_OS_WIN32
+ emit fileTransferWithInode(fullSource,destination+TransferThread::stringToInternalString("/")+fileName,mode,fileInfo);
+ #else
+ emit fileTransfer(fullSource,destination+TransferThread::stringToInternalString("/")+fileName,mode);
+ #endif
+ #else
+ {
+ bool sendToTransfer=false;
+ if(!rsync)
+ sendToTransfer=true;
+ else if(!QFile::exists(destination.absoluteFilePath()+"/"+fileInfo.fileName()))
+ sendToTransfer=true;
+ else if(fileInfo.lastModified()!=QFileInfo(destination.absoluteFilePath()+"/"+fileInfo.fileName()).lastModified())
+ sendToTransfer=true;
+ if(sendToTransfer)
+ #ifdef Q_OS_WIN32
+ emit fileTransferWithInode(fileInfo.absoluteFilePath(),destination.absoluteFilePath()+"/"+fileInfo.fileName(),mode,fileInfo);
+ #else
+ emit fileTransfer(fileInfo.absoluteFilePath(),destination.absoluteFilePath()+"/"+fileInfo.fileName(),mode);
+ #endif
+ }
+ #endif
+ }
+ }
+ }
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ if(rsync)
+ {
+ //check the reverse path here
+ QFileInfoList entryListDestination;
+ if(copyListOrder)
+ entryListDestination=QDir(destination.absoluteFilePath()).entryInfoList(QDir::AllEntries|QDir::NoDotAndDotDot|QDir::Hidden|QDir::System,QDir::DirsFirst|QDir::Name|QDir::IgnoreCase);//possible wait time here
+ else
+ entryListDestination=QDir(destination.absoluteFilePath()).entryInfoList(QDir::AllEntries|QDir::NoDotAndDotDot|QDir::Hidden|QDir::System);//possible wait time here
+ int sizeEntryListDestination=entryListDestination.size();
+ int index=0;
+ for (int indexDestination=0;indexDestination<sizeEntryListDestination;++indexDestination)
+ {
+ index=0;
+ while(index<sizeEntryList)
+ {
+ if(entryListDestination.at(indexDestination).fileName()==entryList.at(index).fileName())
+ break;
+ index++;
+ }
+ if(index==sizeEntryList)
+ {
+ //then not found, need be remove
+ emit addToRmForRsync(entryListDestination.at(indexDestination));
+ }
+ }
+ return;
+ }
+ #endif
+ if(mode==Ultracopier::Move)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+", sizeEntryList: "+std::to_string(sizeEntryList));
+ emit addToMovePath(source,destination,sizeEntryList);
+ }
+ else// if(keepDate or keep permition, perfer alwasy send it)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+TransferThread::internalStringTostring(source)+", sizeEntryList: "+std::to_string(sizeEntryList));
+ emit addToKeepAttributePath(source,destination,sizeEntryList);
+ }
+}
+
+//set if need check if the destination exists
+void ScanFileOrFolder::setCheckDestinationFolderExists(const bool checkDestinationFolderExists)
+{
+ this->checkDestinationExists=checkDestinationFolderExists;
+}
+
+void ScanFileOrFolder::setRenamingRules(const std::string &firstRenamingRule, const std::string &otherRenamingRule)
+{
+ this->firstRenamingRule=firstRenamingRule;
+ this->otherRenamingRule=otherRenamingRule;
+}
+
+void ScanFileOrFolder::setMoveTheWholeFolder(const bool &moveTheWholeFolder)
+{
+ this->moveTheWholeFolder=moveTheWholeFolder;
+}
+
+void ScanFileOrFolder::setFollowTheStrictOrder(const bool &order)
+{
+ this->copyListOrder=order;
+}
+
+#ifdef ULTRACOPIER_PLUGIN_RSYNC
+/// \brief set rsync
+void ScanFileOrFolder::setRsync(const bool rsync)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"set rsync: "+std::to_string(rsync));
+ this->rsync=rsync;
+}
+#endif
+
+void ScanFileOrFolder::set_updateMount()
+{
+ driveManagement.tryUpdate();
+}
diff --git a/plugins/CopyEngine/Ultracopier/ScanFileOrFolder.h b/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.h
index 0c625e9..f74d355 100644..100755
--- a/plugins/CopyEngine/Ultracopier/ScanFileOrFolder.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/ScanFileOrFolder.h
@@ -16,10 +16,17 @@
#include "Environment.h"
#include "DriveManagement.h"
+#include "TransferThread.h"
#ifndef SCANFILEORFOLDER_H
#define SCANFILEORFOLDER_H
+#ifdef WIDESTRING
+#define INTERNALTYPEPATH std::wstring
+#else
+#define INTERNALTYPEPATH std::string
+#endif
+
/// \brief Thread changed to list recursively the folder
class ScanFileOrFolder : public QThread
{
@@ -32,7 +39,7 @@ public:
/// \brief to get if is finished
bool isFinished() const;
/// \brief set action if Folder are same or exists
- void setFolderExistsAction(const FolderExistsAction &action, const std::string &newName="");
+ void setFolderExistsAction(const FolderExistsAction &action, const std::string &newName=std::string());
/// \brief set action if error
void setFolderErrorAction(const FileErrorAction &action);
/// \brief set if need check if the destination exists
@@ -43,42 +50,45 @@ public:
void setRsync(const bool rsync);
#endif
signals:
- void fileTransfer(const QFileInfo &source,const QFileInfo &destination,const Ultracopier::CopyMode &mode) const;
+ void fileTransfer(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const Ultracopier::CopyMode &mode) const;
+ void fileTransferWithInode(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const Ultracopier::CopyMode &mode,const TransferThread::dirent_uc &inode) const;
/// \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;
- void folderAlreadyExists(const QFileInfo &source,const QFileInfo &destination,const bool &isSame) const;
- void errorOnFolder(const QFileInfo &fileInfo,const std::string &errorString,const ErrorType &errorType=ErrorType_FolderWithRety) const;
+ void folderAlreadyExists(const INTERNALTYPEPATH &source,const INTERNALTYPEPATH &destination,const bool &isSame) const;
+ void errorOnFolder(const INTERNALTYPEPATH &fileInfo,const std::string &errorString,const ErrorType &errorType=ErrorType_FolderWithRety) const;
void finishedTheListing() const;
void newFolderListing(const std::string &path) const;
- void addToMkPath(const QFileInfo& source,const QFileInfo& destination, const int& inode) const;
- void addToMovePath(const QFileInfo& source,const QFileInfo& destination, const int& inodeToRemove) const;
- void addToRealMove(const QFileInfo& source,const QFileInfo& destination) const;
+ void addToMkPath(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination, const int& inode) const;
+ void addToMovePath(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination, const int& inodeToRemove) const;
+ void addToKeepAttributePath(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination, const int& inodeToRemove) const;
+ void addToRealMove(const INTERNALTYPEPATH& source,const INTERNALTYPEPATH& destination) const;
#ifdef ULTRACOPIER_PLUGIN_RSYNC
- void addToRmForRsync(const QFileInfo& destination) const;
+ void addToRmForRsync(const INTERNALTYPEPATH& destination) const;
#endif
public slots:
- void addToList(const std::vector<std::string>& sources,const std::string& destination);
+ void addToList(const std::vector<INTERNALTYPEPATH>& sources,const INTERNALTYPEPATH& destination);
void setFilters(const std::vector<Filters_rules> &include,const std::vector<Filters_rules> &exclude);
- void setCopyListOrder(const bool &order);
+ void setFollowTheStrictOrder(const bool &order);
void set_updateMount();
protected:
void run();
private:
DriveManagement driveManagement;
bool moveTheWholeFolder;
- std::vector<std::string> sources;
- std::string destination;
+ std::vector<INTERNALTYPEPATH> sources;
+ INTERNALTYPEPATH destination;
volatile bool stopIt;
- void listFolder(QFileInfo source, QFileInfo destination);
- bool isBlackListed(const QFileInfo &destination);
- QFileInfo resolvDestination(const QFileInfo &destination);
+ void listFolder(INTERNALTYPEPATH source, INTERNALTYPEPATH destination);
+ #ifdef Q_OS_UNIX
+ INTERNALTYPEPATH resolvDestination(const INTERNALTYPEPATH &destination);
+ #endif
volatile bool stopped;
QSemaphore waitOneAction;
FolderExistsAction folderExistsAction;
FileErrorAction fileErrorAction;
volatile bool checkDestinationExists;
- std::string newName;
+ INTERNALTYPEPATH newName;
bool copyListOrder;
std::regex folder_isolation;
#ifdef ULTRACOPIER_PLUGIN_RSYNC
@@ -92,17 +102,17 @@ private:
QMutex filtersMutex;
std::string firstRenamingRule;
std::string otherRenamingRule;
- std::vector<std::string> blackList;
+ //std::vector<std::string> blackList;
/** Parse the multiple wildcard source, it allow resolv multiple wildcard with Qt into their path
* The string: /toto/f*a/yy*a/toto.mp3
* Will give: /toto/f1a/yy*a/toto.mp3, /toto/f2a/yy*a/toto.mp3
* Will give: /toto/f2a/yy1a/toto.mp3, /toto/f2a/yy2a/toto.mp3
*/
- std::vector<std::string> parseWildcardSources(const std::vector<std::string> &sources) const;
+ std::vector<INTERNALTYPEPATH> parseWildcardSources(const std::vector<INTERNALTYPEPATH> &sources) const;
- static std::string text_slash;
- static std::string text_antislash;
- static std::string text_dot;
+ static INTERNALTYPEPATH text_slash;
+ static INTERNALTYPEPATH text_antislash;
+ static INTERNALTYPEPATH text_dot;
};
#endif // SCANFILEORFOLDER_H
diff --git a/plugins/CopyEngine/Ultracopier/StructEnumDefinition.h b/plugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition.h
index c1758f4..c1758f4 100644..100755
--- a/plugins/CopyEngine/Ultracopier/StructEnumDefinition.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition.h
diff --git a/plugins/CopyEngine/Ultracopier/StructEnumDefinition_CopyEngine.h b/plugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition_CopyEngine.h
index 036803c..5898e5a 100644..100755
--- a/plugins/CopyEngine/Ultracopier/StructEnumDefinition_CopyEngine.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/StructEnumDefinition_CopyEngine.h
@@ -16,10 +16,12 @@ enum FileExistsAction
FileExists_Cancel=1,
FileExists_Skip=2,
FileExists_Overwrite=3,
- FileExists_OverwriteIfNotSame=4,
+ FileExists_OverwriteIfNotSameMdate=4,
FileExists_OverwriteIfNewer=5,
FileExists_OverwriteIfOlder=6,
- FileExists_Rename=7
+ FileExists_OverwriteIfNotSameSize=7,
+ FileExists_OverwriteIfNotSameSizeAndDate=8,
+ FileExists_Rename=9
};
/// \brief Define action if file error
@@ -32,13 +34,6 @@ enum FileErrorAction
FileError_PutToEndOfTheList=5
};
-enum TransferAlgorithm
-{
- TransferAlgorithm_Automatic=0,
- TransferAlgorithm_Sequential=1,
- TransferAlgorithm_Parallel=2
-};
-
/// \brief to have the transfer status
enum TransferStat
{
@@ -46,7 +41,6 @@ enum TransferStat
TransferStat_PreOperation=1,
TransferStat_WaitForTheTransfer=2,
TransferStat_Transfer=3,
- TransferStat_Checksum=4,
TransferStat_PostTransfer=5,
TransferStat_PostOperation=6
};
@@ -107,11 +101,11 @@ enum ActionType
{
ActionType_MkPath=1,
ActionType_MovePath=2,
- ActionType_RealMove=3
+ ActionType_RealMove=3,
#ifdef ULTRACOPIER_PLUGIN_RSYNC
- ,
- ActionType_RmSync=4
+ ActionType_RmSync=4,
#endif
+ ActionType_SyncDate=5
};
struct Diskspace
diff --git a/plugins/CopyEngine/Ultracopier-Spec/TransferThread.cpp b/plugins/CopyEngine/Ultracopier-Spec/TransferThread.cpp
new file mode 100755
index 0000000..9cbad5a
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/TransferThread.cpp
@@ -0,0 +1,1547 @@
+//presume bug linked as multple paralelle inode to resume after "overwrite"
+//then do overwrite node function to not re-set the file name
+
+#include "TransferThread.h"
+#include <string>
+#include <dirent.h>
+#include <limits.h>
+#ifdef WIDESTRING
+#include <locale>
+//#include <codecvt>
+#endif
+
+#ifdef Q_OS_WIN32
+#include <accctrl.h>
+#include <aclapi.h>
+#endif
+
+#include "../../../cpp11addition.h"
+
+TransferThread::TransferThread() :
+ mode(Ultracopier::CopyMode::Copy),
+ transfer_stat (TransferStat_Idle),
+ doRightTransfer (false),
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ rsync (false),
+ #endif
+ keepDate (false),
+ mkFullPath (false),
+ stopIt (false),
+ fileExistsAction (FileExists_NotSet),
+ alwaysDoFileExistsAction (FileExists_NotSet),
+ needSkip (false),
+ needRemove (false),
+ deletePartiallyTransferredFiles (true),
+ renameTheOriginalDestination (false),
+ writeError (false),
+ readError (false),
+ havePermission (false),
+ haveTransferTime (false)
+{
+ id=0;
+ renameRegex=std::regex("^(.*)(\\.[a-zA-Z0-9]+)$");
+ #ifdef Q_OS_WIN32
+ regRead=std::regex("^[a-zA-Z]:");
+ #endif
+ transferSize = 0;//external set by ListThread
+
+ #ifndef Q_OS_UNIX
+ PSecurityD=NULL;
+ dacl=NULL;
+ #endif
+ #ifdef Q_OS_Win32
+ stopItWin=0;
+ #endif
+ //if not QThread
+ run();
+}
+
+TransferThread::~TransferThread()
+{
+ #ifdef Q_OS_WIN32
+ stopItWin=1;
+ #endif
+ stopIt=true;
+ //else cash without this disconnect
+ //disconnect(&readThread);
+ //disconnect(&writeThread);
+ #ifndef Q_OS_UNIX
+ if(PSecurityD!=NULL)
+ {
+ free(PSecurityD);
+ PSecurityD=NULL;
+ }
+ if(dacl!=NULL)
+ {
+ //free(dacl);
+ dacl=NULL;
+ }
+ #endif
+}
+
+void TransferThread::run()
+{
+ moveToThread(this);
+
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+QStringLiteral("] start: ")+QString::number((qint64)QThread::currentThreadId())));
+ transfer_stat = TransferStat_Idle;
+ stopIt = false;
+ fileExistsAction = FileExists_NotSet;
+ alwaysDoFileExistsAction= FileExists_NotSet;
+
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(!connect(&driveManagement,&DriveManagement::debugInformation,this, &TransferThread::debugInformation, Qt::QueuedConnection))
+ abort();
+ #endif
+}
+
+TransferStat TransferThread::getStat() const
+{
+ return transfer_stat;
+}
+
+#ifdef WIDESTRING
+INTERNALTYPEPATH TransferThread::stringToInternalString(const std::string& utf8)
+{
+ /* buggy on MXE
+ std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
+ return converter.from_bytes(utf8);*/
+ return QString::fromUtf8(utf8.data(),utf8.size()).toStdWString();
+ //return widen(utf8);
+}
+
+std::string TransferThread::internalStringTostring(const INTERNALTYPEPATH& utf16)
+{
+ /* buggy on MXE
+ std::wstring_convert<std::codecvt_utf8<wchar_t>> conv1;
+ return conv1.to_bytes(utf16);*/
+ const QByteArray &data=QString::fromStdWString(utf16).toUtf8();
+ return std::string(data.constData(),data.size());
+ //return narrow(utf16);
+}
+#else
+std::string TransferThread::stringToInternalString(const std::string& utf8)
+{
+ return utf8;
+}
+
+std::string TransferThread::internalStringTostring(const std::string& utf16)
+{
+ return utf16;
+}
+#endif
+
+bool TransferThread::setFiles(const INTERNALTYPEPATH& source, const int64_t &size, const INTERNALTYPEPATH& destination, const Ultracopier::CopyMode &mode)
+{
+ if(transfer_stat!=TransferStat_Idle)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+
+ TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination));
+ return false;
+ }
+ //to prevent multiple file alocation into ListThread::doNewActions_inode_manipulation()
+ transfer_stat = TransferStat_PreOperation;
+ //emit pushStat(stat,transferId);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start, source: "+TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination));
+ this->source = source;
+ this->destination = destination;
+ this->mode = mode;
+ this->size = size;
+ stopIt = false;
+ #ifdef Q_OS_WIN32
+ stopItWin=0;
+ #endif
+ fileExistsAction = FileExists_NotSet;
+ canStartTransfer = false;
+ sended_state_preOperationStopped= false;
+ fileContentError = false;
+ writeError = false;
+ readError = false;
+ haveTransferTime = false;
+ canStartTransfer = false;
+ resetExtraVariable();
+ emit internalStartPreOperation();
+ startTransferTime.restart();
+ return true;
+}
+
+void TransferThread::setFileRename(const std::string &nameForRename)
+{
+ if(transfer_stat!=TransferStat_PreOperation)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+
+ TransferThread::internalStringTostring(source)+(", destination: ")+TransferThread::internalStringTostring(destination));
+ return;
+ }
+ if(QString::fromStdString(nameForRename).contains(QRegularExpression(QStringLiteral("[/\\\\\\*]"))))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't use this kind of name, internal error"));
+ emit errorOnFile(destination,tr("Try rename with using special characters").toStdString());
+ return;
+ }
+ #ifdef WIDESTRING
+ std::string::size_type n=destination.rfind(L'/');
+ #else
+ std::string::size_type n=destination.rfind('/');
+ #endif
+ #ifdef Q_OS_WIN32
+ const std::wstring::size_type n2=destination.rfind(L'\\');
+ if(n2>n && (n2!=std::wstring::npos || n==std::wstring::npos))
+ n=n2;
+ #endif
+ #ifdef WIDESTRING
+ if(n != std::wstring::npos)
+ #else
+ if(n != std::string::npos)
+ #endif
+ {
+ INTERNALTYPEPATH destinationPath=destination.substr(0,n);//+1
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] nameForRename: "+nameForRename+", destinationPath: "+internalStringTostring(destinationPath));
+ if(stringEndsWith(destinationPath,'/')
+ #ifdef Q_OS_WIN32
+ || stringEndsWith(destinationPath,'\\')
+ #endif
+ )
+ destination=destinationPath+TransferThread::stringToInternalString(nameForRename);
+ else
+ destination=destinationPath+TransferThread::stringToInternalString("/")+TransferThread::stringToInternalString(nameForRename);
+ }
+ else
+ destination=TransferThread::stringToInternalString(nameForRename);
+
+ /*why all this code?
+ if(!renameTheOriginalDestination)
+ destination=destination+TransferThread::stringToInternalString("/")+TransferThread::stringToInternalString(nameForRename);
+ else
+ {
+ //INTERNALTYPEPATH tempDestination=destination;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"["+std::to_string(id)+"] rename "+TransferThread::internalStringTostring(destination)+
+ ": to: "+TransferThread::internalStringTostring(destination)+"/"+nameForRename);
+ if(!rename(destination,(destination+TransferThread::stringToInternalString("/")+TransferThread::stringToInternalString(nameForRename))))
+ {
+ if(!is_file(destination))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] source not exists "+TransferThread::internalStringTostring(destination)+
+ ": destination: "+TransferThread::internalStringTostring(destination)+", error: "+std::to_string(errno));
+ emit errorOnFile(destination,tr("File not found").toStdString());
+ return;
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to do real move "+TransferThread::internalStringTostring(destination)+
+ ": "+TransferThread::internalStringTostring(destination)+", error: "+std::to_string(errno));
+ emit errorOnFile(destination,"errno: "+std::string(strerror(errno)));
+ return;
+ }
+ if(source==destination)
+ source=destination+TransferThread::stringToInternalString("/")+TransferThread::stringToInternalString(nameForRename);
+ destination=tempDestination;
+ }*/
+ fileExistsAction = FileExists_NotSet;
+ resetExtraVariable();
+ emit internalStartPreOperation();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] destination is: "+TransferThread::internalStringTostring(destination));
+}
+
+bool TransferThread::rename(const INTERNALTYPEPATH &source, const INTERNALTYPEPATH &destination)
+{
+ #ifdef Q_OS_WIN32
+ return MoveFileExW(
+ TransferThread::toFinalPath(source).c_str(),
+ TransferThread::toFinalPath(destination).c_str(),
+ MOVEFILE_REPLACE_EXISTING);
+ #else
+ return ::rename(TransferThread::internalStringTostring(source).c_str(),
+ TransferThread::internalStringTostring(destination).c_str())==0;
+ #endif
+}
+
+void TransferThread::setAlwaysFileExistsAction(const FileExistsAction &action)
+{
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+QStringLiteral("] action to do always: ")+QString::number(action)));
+ alwaysDoFileExistsAction=action;
+}
+
+void TransferThread::resetExtraVariable()
+{
+ sended_state_preOperationStopped=false;
+ writeError = false;
+ readError = false;
+ needRemove = false;
+ needSkip = false;
+ retry = false;
+ havePermission = false;
+}
+
+bool TransferThread::isSame()
+{
+ //check if source and destination is not the same
+ //source.absoluteFilePath()==destination.absoluteFilePath() not work is source don't exists
+ if(source==destination)
+ {
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(!is_file(destination))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start source: "+TransferThread::internalStringTostring(source)+" not exists");
+ if(is_symlink(source))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start source: "+TransferThread::internalStringTostring(source)+" isSymLink");
+ if(is_symlink(destination))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start destination: "+TransferThread::internalStringTostring(destination)+" isSymLink");
+ #endif
+ if(fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_Skip)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] is same but skip");
+ transfer_stat=TransferStat_Idle;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transfer_stat=TransferStat_Idle");
+ emit postOperationStopped();
+ //quit
+ return true;
+ }
+ if(checkAlwaysRename())
+ return false;
+ emit fileAlreadyExists(source,destination,true);
+ return true;
+ }
+ return false;
+}
+
+bool TransferThread::destinationExists()
+{
+ //check if destination exists
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] "+QStringLiteral("overwrite: %1, alwaysDoFileExistsAction: %2, readError: %3, writeError: %4")
+ .arg(fileExistsAction)
+ .arg(alwaysDoFileExistsAction)
+ .arg(readError)
+ .arg(writeError)
+ .toStdString()
+ );
+ if(alwaysDoFileExistsAction==FileExists_Overwrite || readError || writeError
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ || rsync
+ #endif
+ )
+ return false;
+
+ bool destinationExists=false;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] time to first FS access");
+ destinationExists=is_file(destination);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] finish first FS access: "+std::to_string(destinationExists));
+ if(destinationExists)
+ {
+ if(fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_Skip)
+ {
+ transfer_stat=TransferStat_Idle;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transfer_stat=TransferStat_Idle");
+ emit postOperationStopped();
+ //quit
+ return true;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] FS access");
+ if(checkAlwaysRename())
+ return false;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] FS access");
+ if(is_file(source))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] FS access");
+ if(fileExistsAction==FileExists_OverwriteIfNewer || (fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_OverwriteIfNewer))
+ {
+ const int64_t &sm=readFileMDateTime(source);
+ const int64_t &sd=readFileMDateTime(destination);
+ if(sm==-1)
+ {
+ #ifndef Q_OS_WIN32
+ const int e=errno;
+ emit errorOnFile(source,"Unable to read modification time: "+std::string(strerror(e))+" ("+std::to_string(e)+")");
+ #else
+ emit errorOnFile(source,"Unable to read modification time: "+GetLastErrorStdStr());
+ #endif
+ return true;
+ }
+ if(sd==-1)
+ {
+ #ifndef Q_OS_WIN32
+ const int e=errno;
+ emit errorOnFile(destination,"Unable to read modification time: "+std::string(strerror(e))+" ("+std::to_string(e)+")");
+ #else
+ emit errorOnFile(destination,"Unable to read modification time: "+GetLastErrorStdStr());
+ #endif
+ return true;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] readFileMDateTime(source): "+std::to_string(sm));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] readFileMDateTime(destination): "+std::to_string(sd));
+ if(sm>sd || sm==-1 || sd==-1)
+ return false;
+ else
+ {
+ transfer_stat=TransferStat_Idle;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transfer_stat=TransferStat_Idle;");
+ emit postOperationStopped();
+ return true;
+ }
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] FS access");
+ if(fileExistsAction==FileExists_OverwriteIfOlder || (fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_OverwriteIfOlder))
+ {
+ const int64_t &sm=readFileMDateTime(source);
+ const int64_t &sd=readFileMDateTime(destination);
+ if(sm==-1)
+ {
+ #ifndef Q_OS_WIN32
+ const int e=errno;
+ emit errorOnFile(source,"Unable to read modification time: "+std::string(strerror(e))+" ("+std::to_string(e)+")");
+ #else
+ emit errorOnFile(source,"Unable to read modification time: "+GetLastErrorStdStr());
+ #endif
+ return true;
+ }
+ if(sd==-1)
+ {
+ #ifndef Q_OS_WIN32
+ const int e=errno;
+ emit errorOnFile(destination,"Unable to read modification time: "+std::string(strerror(e))+" ("+std::to_string(e)+")");
+ #else
+ emit errorOnFile(destination,"Unable to read modification time: "+GetLastErrorStdStr());
+ #endif
+ return true;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] readFileMDateTime(source): "+std::to_string(sm));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] readFileMDateTime(destination): "+std::to_string(sd));
+ if(sm<sd/* || sm==-1 || sd==-1*/)
+ return false;
+ else
+ {
+ transfer_stat=TransferStat_Idle;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transfer_stat=TransferStat_Idle;");
+ emit postOperationStopped();
+ return true;
+ }
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] FS access");
+ if(fileExistsAction==FileExists_OverwriteIfNotSameMdate || (fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_OverwriteIfNotSameMdate))
+ {
+ const int64_t &sm=readFileMDateTime(source);
+ const int64_t &sd=readFileMDateTime(destination);
+ if(sm==-1)
+ {
+ #ifndef Q_OS_WIN32
+ const int e=errno;
+ emit errorOnFile(source,"Unable to read modification time: "+std::string(strerror(e))+" ("+std::to_string(e)+")");
+ #else
+ emit errorOnFile(source,"Unable to read modification time: "+GetLastErrorStdStr());
+ #endif
+ return true;
+ }
+ if(sd==-1)
+ {
+ #ifndef Q_OS_WIN32
+ const int e=errno;
+ emit errorOnFile(destination,"Unable to read modification time: "+std::string(strerror(e))+" ("+std::to_string(e)+")");
+ #else
+ emit errorOnFile(destination,"Unable to read modification time: "+GetLastErrorStdStr());
+ #endif
+ return true;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] readFileMDateTime(source): "+std::to_string(sm));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] readFileMDateTime(destination): "+std::to_string(sd));
+ if(sm!=sd || sm==-1 || sd==-1)
+ return false;
+ else
+ {
+ transfer_stat=TransferStat_Idle;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transfer_stat=TransferStat_Idle;");
+ emit postOperationStopped();
+ return true;
+ }
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] FS access");
+ if(fileExistsAction==FileExists_OverwriteIfNotSameSize || (fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_OverwriteIfNotSameMdate))
+ {
+ if(file_stat_size(source)!=file_stat_size(destination))
+ return false;
+ else
+ {
+ transfer_stat=TransferStat_Idle;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transfer_stat=TransferStat_Idle;");
+ emit postOperationStopped();
+ return true;
+ }
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] FS access");
+ if(fileExistsAction==FileExists_OverwriteIfNotSameSizeAndDate || (fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_OverwriteIfNotSameMdate))
+ {
+ const int64_t &sm=readFileMDateTime(source);
+ const int64_t &sd=readFileMDateTime(destination);
+ if(sm==-1)
+ {
+ #ifndef Q_OS_WIN32
+ const int e=errno;
+ emit errorOnFile(source,"Unable to read modification time: "+std::string(strerror(e))+" ("+std::to_string(e)+")");
+ #else
+ emit errorOnFile(source,"Unable to read modification time: "+GetLastErrorStdStr());
+ #endif
+ return true;
+ }
+ if(sd==-1)
+ {
+ #ifndef Q_OS_WIN32
+ const int e=errno;
+ emit errorOnFile(destination,"Unable to read modification time: "+std::string(strerror(e))+" ("+std::to_string(e)+")");
+ #else
+ emit errorOnFile(destination,"Unable to read modification time: "+GetLastErrorStdStr());
+ #endif
+ return true;
+ }
+ if(sm!=sd || file_stat_size(source)!=file_stat_size(destination))
+ return false;
+ else
+ {
+ transfer_stat=TransferStat_Idle;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transfer_stat=TransferStat_Idle;");
+ emit postOperationStopped();
+ return true;
+ }
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] FS access");
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] FS access");
+ if(fileExistsAction!=FileExists_NotSet)
+ {
+ transfer_stat=TransferStat_Idle;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transfer_stat=TransferStat_Idle;");
+ emit postOperationStopped();
+ return true;
+ }
+ }
+ if(fileExistsAction==FileExists_NotSet)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] FS access");
+ emit fileAlreadyExists(source,destination,false);
+ return true;
+ }
+ }
+ return false;
+}
+
+/** \example
+ * /dir1/dir2/file -> file
+ * /file -> file
+ * /dir1/dir2/ -> dir2
+ * /dir1/ -> dir1
+ * / -> root */
+#ifdef Q_OS_WIN32
+std::string TransferThread::resolvedName(std::string inode)
+#else
+std::string TransferThread::resolvedName(const std::string &inode)
+#endif
+{
+ #ifdef Q_OS_WIN32
+ stringreplaceAll(inode,"\\","/");
+ #endif
+ const std::string::size_type &lastPos=inode.rfind('/');
+ if(lastPos == std::string::npos || (lastPos==0 && inode.size()==1))
+ return "root";
+ if((lastPos+1)!=inode.size())
+ return inode.substr(lastPos+1);
+ if(inode.size()==1)
+ return "root";
+ const std::string::size_type &previousLastPos=inode.rfind('/',inode.size()-2);
+ if((lastPos-2)==previousLastPos || previousLastPos == std::string::npos)
+ return "root";
+ return inode.substr(previousLastPos+1,lastPos-previousLastPos-1);
+}
+
+#ifdef Q_OS_WIN32
+std::wstring TransferThread::resolvedName(std::wstring inode)
+#else
+std::wstring TransferThread::resolvedName(const std::wstring &inode)
+#endif
+{
+ #ifdef Q_OS_WIN32
+ stringreplaceAll(inode,L"\\",L"/");
+ #endif
+ const std::wstring::size_type &lastPos=inode.rfind(L'/');
+ if(lastPos == std::wstring::npos || (lastPos==0 && inode.size()==1))
+ return L"root";
+ if((lastPos+1)!=inode.size())
+ return inode.substr(lastPos+1);
+ if(inode.size()==1)
+ return L"root";
+ const std::wstring::size_type &previousLastPos=inode.rfind(L'/',inode.size()-2);
+ if((lastPos-2)==previousLastPos || previousLastPos == std::wstring::npos)
+ return L"root";
+ return inode.substr(previousLastPos+1,lastPos-previousLastPos-1);
+}
+
+INTERNALTYPEPATH TransferThread::getSourcePath() const
+{
+ return source;
+}
+
+INTERNALTYPEPATH TransferThread::getDestinationPath() const
+{
+ return destination;
+}
+
+Ultracopier::CopyMode TransferThread::getMode() const
+{
+ return mode;
+}
+
+//return true if has been renamed
+bool TransferThread::checkAlwaysRename()
+{
+ if(alwaysDoFileExistsAction==FileExists_Rename)
+ {
+ INTERNALTYPEPATH newDestination=destination;
+ std::string fileName=resolvedName(TransferThread::internalStringTostring(newDestination));
+ std::string suffix;
+ std::string newFileName;
+ //resolv the suffix
+ if(std::regex_match(fileName,renameRegex))
+ {
+ suffix=fileName;
+ suffix=std::regex_replace(suffix,renameRegex,"$2");
+ fileName=std::regex_replace(fileName,renameRegex,"$1");
+ }
+ //resolv the new name
+ int num=1;
+ do
+ {
+ if(num==1)
+ {
+ if(firstRenamingRule.empty())
+ newFileName=tr("%name% - copy%suffix%").toStdString();
+ else
+ newFileName=firstRenamingRule;
+ }
+ else
+ {
+ if(otherRenamingRule.empty())
+ newFileName=tr("%name% - copy (%number%)%suffix%").toStdString();
+ else
+ newFileName=otherRenamingRule;
+ stringreplaceAll(newFileName,"%number%",std::to_string(num));
+ }
+ stringreplaceAll(newFileName,"%name%",fileName);
+ stringreplaceAll(newFileName,"%suffix%",suffix);
+ newDestination=FSabsolutePath(newDestination);
+ if(!stringEndsWith(newDestination,'/')
+ #ifdef Q_OS_WIN32
+ && !stringEndsWith(destination,'\\')
+ #endif
+ )
+ newDestination+=TransferThread::stringToInternalString("/");
+ newDestination+=TransferThread::stringToInternalString(newFileName);
+ num++;
+ }
+ while(is_file(newDestination));
+ if(!renameTheOriginalDestination)
+ destination=newDestination;
+ else
+ {
+ if(rename(destination.c_str(),newDestination.c_str())!=0)
+ {
+ if(!is_file(destination))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] source not exists "+TransferThread::internalStringTostring(destination)+
+ ": destination: "+TransferThread::internalStringTostring(newDestination)+", error: "+std::to_string(errno));
+ emit errorOnFile(destination,tr("File not found").toStdString());
+ readError=true;
+ return true;
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to do real move "+TransferThread::internalStringTostring(destination)+
+ ": "+TransferThread::internalStringTostring(newDestination)+", error: "+std::to_string(errno));
+ readError=true;
+ emit errorOnFile(destination,std::string(strerror(errno))+", errno: "+std::string(strerror(errno)));
+ return true;
+ }
+ }
+ return true;
+ }
+ return false;
+}
+
+/// \warning not check if path have double //, if have do bug return failed
+/// \warning check mkpath() call should not exists because only existing dest is allowed now
+#ifdef Q_OS_UNIX
+bool TransferThread::mkpath(const INTERNALTYPEPATH &path, const mode_t &mode)
+#else
+bool TransferThread::mkpath(const INTERNALTYPEPATH &path)
+#endif
+{
+ #ifdef Q_OS_WIN32
+ if(!mkdir(path))
+ if(errno==EEXIST)
+ return true;
+
+ printf("%i",errno);
+ #ifndef WIDESTRING
+ #error if windows, WIDESTRING need be enabled
+ #endif
+ //use reverse method to performance, more complex to code but less system call/fs call
+ std::wstring::size_type previouspos=path.size();
+ std::wstring::size_type lastpos=std::string::npos;
+
+ const wchar_t *pathC=path.c_str();
+ wchar_t pathCedit[32000];
+ wcscpy(pathCedit,pathC);
+ std::vector<std::wstring::size_type> pathSplit;
+ pathSplit.push_back(path.size());
+ do
+ {
+ lastpos=path.rfind(L'/',previouspos-1);
+ if(lastpos == std::wstring::npos)
+ return false;
+
+ while(pathC[lastpos-1]==L'/')
+ if(lastpos>0)
+ lastpos--;
+ else
+ return false;
+
+ //buggy case?
+ #ifdef Q_OS_UNIX
+ if(lastpos<2)
+ return false;
+ #else
+ if(lastpos<4)
+ return false;
+ #endif
+
+ pathCedit[lastpos]=L'\0';
+ previouspos=lastpos;
+
+ errno=0;
+ if(!mkdir(pathCedit))
+ if(errno!=EEXIST && errno!=ENOENT)
+ return false;
+ //here errno can be: EEXIST, ENOENT, 0
+ if(errno==ENOENT)
+ pathSplit.push_back(lastpos);
+ } while(lastpos>0 && errno==ENOENT);
+
+ do
+ {
+ wcscpy(pathCedit,pathC);
+ lastpos=pathSplit.back();
+ pathSplit.pop_back();
+ pathCedit[lastpos]=L'\0';
+ #ifdef Q_OS_UNIX
+ if(mkdir(pathCedit, mode)==-1)
+ #else
+ if(!mkdir(pathCedit))
+ #endif
+ if(errno!=EEXIST)
+ return false;
+ } while(!pathSplit.empty());
+ return true;
+ #else
+ char pathC[PATH_MAX];
+ strcpy(pathC,TransferThread::internalStringTostring(path).c_str());
+ if(!mkdir(path))
+ if(errno==EEXIST)
+ return true;
+
+ printf("%i",errno);
+ //use reverse method to performance, more complex to code but less system call/fs call
+ std::string::size_type previouspos=path.size();
+ std::string::size_type lastpos=std::string::npos;
+
+ char pathCedit[PATH_MAX];
+ strcpy(pathCedit,pathC);
+ std::vector<std::string::size_type> pathSplit;
+ pathSplit.push_back(path.size());
+ do
+ {
+ lastpos=path.rfind('/',previouspos-1);
+ if(lastpos == std::string::npos)
+ return false;
+
+ while(pathC[lastpos-1]=='/')
+ if(lastpos>0)
+ lastpos--;
+ else
+ return false;
+
+ //buggy case?
+ #ifdef Q_OS_UNIX
+ if(lastpos<2)
+ return false;
+ #else
+ if(lastpos<4)
+ return false;
+ #endif
+
+ pathCedit[lastpos]='\0';
+ previouspos=lastpos;
+
+ errno=0;
+ #ifdef Q_OS_UNIX
+ if(::mkdir(pathCedit, mode)==-1)
+ #else
+ if(::mkdir(pathCedit)==-1)
+ #endif
+ if(errno!=EEXIST && errno!=ENOENT)
+ return false;
+ //here errno can be: EEXIST, ENOENT, 0
+ if(errno==ENOENT)
+ pathSplit.push_back(lastpos);
+ } while(lastpos>0 && errno==ENOENT);
+
+ do
+ {
+ strcpy(pathCedit,pathC);
+ lastpos=pathSplit.back();
+ pathSplit.pop_back();
+ pathCedit[lastpos]='\0';
+ #ifdef Q_OS_UNIX
+ if(::mkdir(pathCedit, mode)==-1)
+ #else
+ if(::mkdir(pathCedit)==-1)
+ #endif
+ if(errno!=EEXIST)
+ return false;
+ } while(!pathSplit.empty());
+ return true;
+ #endif
+}
+
+#ifdef Q_OS_UNIX
+bool TransferThread::mkdir(const INTERNALTYPEPATH &file_path, const mode_t &mode)
+#else
+bool TransferThread::mkdir(const INTERNALTYPEPATH &file_path)
+#endif
+{
+#ifdef Q_OS_WIN32
+ const bool r = CreateDirectory(TransferThread::toFinalPath(file_path).c_str(),NULL);
+ const DWORD &t=GetLastError();
+ if(!r)
+ {
+ if(t==183/*is_dir(file_path) performance impact*/)
+ errno=EEXIST;
+ else if(t==3/*is_dir(file_path) performance impact*/)
+ errno=ENOENT;
+ else
+ errno=t;
+ }
+ return r;
+#else
+ #ifdef Q_OS_UNIX
+ return ::mkdir(TransferThread::internalStringTostring(file_path).c_str(),mode)==0;
+ #else
+ return ::mkdir(TransferThread::internalStringTostring(file_path).c_str())==0;
+ #endif
+#endif
+}
+
+bool TransferThread::canBeMovedDirectly() const
+{
+ if(mode!=Ultracopier::Move)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] mode!=Ultracopier::Move");
+ return false;
+ }
+ return is_symlink(source) || driveManagement.isSameDrive(
+ TransferThread::internalStringTostring(destination),
+ TransferThread::internalStringTostring(source)
+ );
+}
+
+bool TransferThread::canBeCopiedDirectly() const
+{
+ return is_symlink(source);
+}
+
+//set the copy info and options before runing
+void TransferThread::setRightTransfer(const bool doRightTransfer)
+{
+ this->doRightTransfer=doRightTransfer;
+}
+
+/// \brief set buffer
+void TransferThread::setBuffer(const bool buffer)
+{
+ Q_UNUSED(buffer);
+}
+
+/*void TransferThread::setBufferSize(const int parallelBuffer,const int serialBuffer)
+{
+ writeThread->setBufferSize(const int parallelBuffer,const int serialBuffer);
+}*/
+
+//set keep date
+void TransferThread::setKeepDate(const bool keepDate)
+{
+ this->keepDate=keepDate;
+}
+
+bool TransferThread::doFilePostOperation()
+{
+ //do operation needed by copy
+ //set the time if no write thread used
+
+ if(/*not implied by is_symlink, exist can be false because symlink dest not exists*/
+ !exists(destination) && !is_symlink(destination))
+ {
+ if(!stopIt)
+ if(/*true when the destination have been remove but not the symlink:*/!is_symlink(source))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to change the date: File not found");
+ emit errorOnFile(destination,tr("Unable to change the date").toStdString()+": "+tr("File not found").toStdString());
+ return false;
+ }
+ }
+ else
+ {
+ if(doRightTransfer)
+ {
+ //should be never used but...
+ /*source.refresh();
+ if(source.exists())*/
+ if(havePermission)
+ {
+ if(!writeDestinationFilePermissions(destination))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to set the destination file permission");
+ //emit errorOnFile(destination,tr("Unable to set the destination file permission"));
+ //return false;
+ }
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Try doRightTransfer when source not exists");
+ }
+ //date at end because previous change can touch the file
+ if(doTheDateTransfer)
+ {
+ if(!writeDestinationFileDateTime(destination))
+ {
+ if(!is_file(destination))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to change the date (is not a file)");
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to change the date");
+ /* error with virtual folder under windows */
+ #ifndef Q_OS_WIN32
+ if(keepDate)
+ {
+ emit errorOnFile(destination,tr("Unable to change the date").toStdString());
+ return false;
+ }
+ #endif
+ }
+ /*else -> need be done at source m time read
+ {
+ #ifndef Q_OS_WIN32
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] read the destination time: "+destination.lastModified().toString().toStdString());
+ if(destination.lastModified()<ULTRACOPIER_PLUGIN_MINIMALYEAR_TIMESTAMPS)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] read the destination time lower than min time: "+destination.lastModified().toString().toStdString());
+ if(keepDate)
+ {
+ emit errorOnFile(destination,tr("Unable to change the date").toStdString());
+ return false;
+ }
+ }
+ #endif
+ }*/
+ }
+
+ }
+ if(stopIt)
+ return false;
+
+ return true;
+}
+
+//////////////////////////////////////////////////////////////////
+///////////////////////// Normal event ///////////////////////////
+//////////////////////////////////////////////////////////////////
+
+int64_t TransferThread::readFileMDateTime(const INTERNALTYPEPATH &source)
+{
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"readFileDateTime("+source+")");
+ /** Why not do it with Qt? Because it not support setModificationTime(), and get the time with Qt, that's mean use local time where in C is UTC time */
+ #ifdef Q_OS_UNIX
+ struct stat info;
+ if(stat(TransferThread::internalStringTostring(source).c_str(),&info)!=0)
+ return -1;
+ #ifdef Q_OS_MAC
+ return info.st_mtimespec.tv_sec;
+ #else
+ return info.st_mtim.tv_sec;
+ #endif
+ #else
+ #ifdef Q_OS_WIN32
+ HANDLE hFileSouce = CreateFileW(TransferThread::toFinalPath(source).c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
+ if(hFileSouce == INVALID_HANDLE_VALUE)
+ return -1;
+ FILETIME ftCreate, ftAccess, ftWrite;
+ if(!GetFileTime(hFileSouce, &ftCreate, &ftAccess, &ftWrite))
+ {
+ CloseHandle(hFileSouce);
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to get the file time: "+TransferThread::GetLastErrorStdStr());
+ 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
+ LARGE_INTEGER li;
+ li.LowPart = ftWrite.dwLowDateTime;
+ li.HighPart = ftWrite.dwHighDateTime;
+ return (li.QuadPart - UNIX_TIME_START) / TICKS_PER_SECOND;
+ #else
+ return -1;
+ #endif
+ #endif
+ return -1;
+}
+
+//fonction to read the file date time
+bool TransferThread::readSourceFileDateTime(const INTERNALTYPEPATH &source)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] readFileDateTime("+TransferThread::internalStringTostring(source)+")");
+ /** Why not do it with Qt? Because it not support setModificationTime(), and get the time with Qt, that's mean use local time where in C is UTC time */
+ #ifdef Q_OS_UNIX
+ struct stat info;
+ if(stat(TransferThread::internalStringTostring(source).c_str(),&info)!=0)
+ return false;
+ #ifdef Q_OS_MAC
+ time_t ctime=info.st_ctimespec.tv_sec;
+ time_t actime=info.st_atimespec.tv_sec;
+ time_t modtime=info.st_mtimespec.tv_sec;
+ //this function avalaible on unix and mingw
+ butime.actime=actime;
+ butime.modtime=modtime;
+ #else
+ time_t ctime=info.st_ctim.tv_sec;
+ time_t actime=info.st_atim.tv_sec;
+ time_t modtime=info.st_mtim.tv_sec;
+ //this function avalaible on unix and mingw
+ butime.actime=actime;
+ butime.modtime=modtime;
+ #endif
+ if((uint64_t)modtime<ULTRACOPIER_PLUGIN_MINIMALYEAR_TIMESTAMPS)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] the sources is older to copy the time: "+TransferThread::internalStringTostring(source));
+ return false;
+ }
+ Q_UNUSED(ctime);
+ return true;
+ #else
+ #ifdef Q_OS_WIN32
+ HANDLE hFileSouce = CreateFileW(TransferThread::toFinalPath(source).c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
+ if(hFileSouce == INVALID_HANDLE_VALUE)
+ {
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] open failed to read: "+QString::fromWCharArray(filePath).toStdString()+", error: "+TransferThread::GetLastErrorStdStr());
+ return false;
+ }
+ FILETIME ftCreate, ftAccess, ftWrite;
+ if(!GetFileTime(hFileSouce, &ftCreate, &ftAccess, &ftWrite))
+ {
+ CloseHandle(hFileSouce);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to get the file time");
+ return false;
+ }
+ this->ftCreate=ftCreate;
+ this->ftAccess=ftAccess;
+ this->ftWrite=ftWrite;
+ CloseHandle(hFileSouce);
+ const uint64_t modtime=(uint64_t)ftWrite.dwLowDateTime + ((uint64_t)2^32 * (uint64_t)ftWrite.dwHighDateTime);
+ 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());
+ return false;
+ }
+ return true;
+ #else
+ return false;
+ #endif
+ #endif
+ return false;
+}
+
+bool TransferThread::writeDestinationFileDateTime(const INTERNALTYPEPATH &destination)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] writeFileDateTime("+TransferThread::internalStringTostring(destination)+")");
+ /** Why not do it with Qt? Because it not support setModificationTime(), and get the time with Qt, that's mean use local time where in C is UTC time */
+ #ifdef Q_OS_UNIX
+ return utime(TransferThread::internalStringTostring(destination).c_str(),&butime)==0;
+ #else
+ #ifdef Q_OS_WIN32
+ HANDLE hFileDestination = CreateFileW(TransferThread::toFinalPath(destination).c_str(), GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
+ if(hFileDestination == INVALID_HANDLE_VALUE)
+ {
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] open failed to write: "+QString::fromWCharArray(filePath).toStdString()+", error: "+TransferThread::GetLastErrorStdStr());
+ return false;
+ }
+ FILETIME ftCreate, ftAccess, ftWrite;
+ ftCreate=this->ftCreate;
+ ftAccess=this->ftAccess;
+ ftWrite=this->ftWrite;
+ if(!SetFileTime(hFileDestination, &ftCreate, &ftAccess, &ftWrite))
+ {
+ CloseHandle(hFileDestination);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to set the file time");
+ return false;
+ }
+ CloseHandle(hFileDestination);
+ return true;
+ #else
+ return false;
+ #endif
+ #endif
+ return false;
+}
+
+bool TransferThread::readSourceFilePermissions(const INTERNALTYPEPATH &source)
+{
+ #ifdef Q_OS_UNIX
+ if(stat(TransferThread::internalStringTostring(source).c_str(), &permissions)!=0)
+ return false;
+ else
+ return true;
+ #else
+ HANDLE hFile = CreateFileW(source.c_str(), GENERIC_READ ,
+ FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
+ if (hFile == INVALID_HANDLE_VALUE) {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] CreateFile() failed. Error: INVALID_HANDLE_VALUE: "+TransferThread::GetLastErrorStdStr());
+ return false;
+ }
+ DWORD lasterror = GetSecurityInfo(hFile, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION,
+ NULL, NULL, &dacl, NULL, &PSecurityD);
+ if (lasterror != ERROR_SUCCESS) {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] GetSecurityInfo() failed. Error"+std::to_string(lasterror));
+ return false;
+ }
+ CloseHandle(hFile);
+ return true;
+ #endif
+}
+
+bool TransferThread::writeDestinationFilePermissions(const INTERNALTYPEPATH &destination)
+{
+ #ifdef Q_OS_UNIX
+ if(chmod(TransferThread::internalStringTostring(destination).c_str(), permissions.st_mode)!=0)
+ return false;
+ if(chown(TransferThread::internalStringTostring(destination).c_str(), permissions.st_uid, permissions.st_gid)!=0)
+ return false;
+ return true;
+ #else
+ HANDLE hFile = CreateFileW(destination.c_str(),READ_CONTROL | WRITE_OWNER | WRITE_DAC | ACCESS_SYSTEM_SECURITY,0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
+ if (hFile == INVALID_HANDLE_VALUE) {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] CreateFile() failed. Error: INVALID_HANDLE_VALUE: "+TransferThread::GetLastErrorStdStr());
+ return false;
+ }
+ DWORD lasterror = SetSecurityInfo(hFile, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION , NULL, NULL, dacl, NULL);
+ if (lasterror != ERROR_SUCCESS) {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] SetSecurityInfo() failed. Error"+std::to_string(lasterror));
+ return false;
+ }
+ CloseHandle(hFile);
+ if(PSecurityD!=NULL)
+ {
+ //free(PSecurityD);//crash on some NAS, it's why is commented, http://forum-ultracopier.first-world.info/viewtopic.php?f=8&t=903&p=3689#p3689
+ PSecurityD=NULL;
+ }
+ if(dacl!=NULL)
+ {
+ //free(dacl);
+ dacl=NULL;
+ }
+ return true;
+ #endif
+}
+
+//retry after error
+void TransferThread::putAtBottom()
+{
+ emit tryPutAtBottom();
+}
+
+#ifdef ULTRACOPIER_PLUGIN_RSYNC
+/// \brief set rsync
+void TransferThread::setRsync(const bool rsync)
+{
+ this->rsync=rsync;
+}
+#endif
+
+#ifdef ULTRACOPIER_PLUGIN_DEBUG
+//to set the id
+void TransferThread::setId(int id)
+{
+ this->id=id;
+}
+#endif
+
+void TransferThread::setRenamingRules(const std::string &firstRenamingRule, const std::string &otherRenamingRule)
+{
+ this->firstRenamingRule=firstRenamingRule;
+ this->otherRenamingRule=otherRenamingRule;
+}
+
+void TransferThread::setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles)
+{
+ this->deletePartiallyTransferredFiles=deletePartiallyTransferredFiles;
+}
+
+void TransferThread::setRenameTheOriginalDestination(const bool &renameTheOriginalDestination)
+{
+ this->renameTheOriginalDestination=renameTheOriginalDestination;
+}
+
+void TransferThread::set_updateMount()
+{
+ driveManagement.tryUpdate();
+}
+
+bool TransferThread::is_symlink(const INTERNALTYPEPATH &filename)
+{
+ #ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA fileInfo;
+ BOOL r = GetFileAttributesExW(TransferThread::toFinalPath(filename).c_str(), GetFileExInfoStandard, &fileInfo);
+ if(r != FALSE)
+ {
+ return fileInfo.dwFileAttributes != INVALID_FILE_ATTRIBUTES &&
+ (fileInfo.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT);
+ }
+ else
+ return false;
+ #else
+ return is_symlink(TransferThread::internalStringTostring(filename).c_str());
+ #endif
+}
+
+bool TransferThread::is_symlink(const char * const filename)
+{
+ #ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA fileInfo;
+ BOOL r = GetFileAttributesExA(TransferThread::toFinalPath(filename).c_str(), GetFileExInfoStandard, &fileInfo);
+ if(r != FALSE)
+ {
+ return fileInfo.dwFileAttributes != INVALID_FILE_ATTRIBUTES &&
+ (fileInfo.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT);
+ }
+ else
+ return false;
+ #else
+ struct stat p_statbuf;
+ if (lstat(filename, &p_statbuf) < 0)
+ //if error or file not exists, considere as regular file
+ return false;
+ if (S_ISLNK(p_statbuf.st_mode))
+ return true;
+ #endif
+ return false;
+}
+
+bool TransferThread::is_file(const INTERNALTYPEPATH &filename)
+{
+ #ifdef Q_OS_WIN32
+ DWORD dwAttrib = GetFileAttributesW(TransferThread::toFinalPath(filename).c_str());
+ return (dwAttrib != INVALID_FILE_ATTRIBUTES &&
+ (dwAttrib & FILE_ATTRIBUTE_NORMAL || dwAttrib & FILE_ATTRIBUTE_ARCHIVE)
+ );
+ #else
+ return is_file(TransferThread::internalStringTostring(filename).c_str());
+ #endif
+}
+
+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));
+ #else
+ struct stat p_statbuf;
+ if (lstat(filename, &p_statbuf) < 0)
+ //if error or file not exists, considere as regular file
+ return false;
+ if (S_ISREG(p_statbuf.st_mode))
+ return true;
+ return false;
+ #endif
+}
+
+bool TransferThread::is_dir(const INTERNALTYPEPATH &filename)
+{
+ #ifdef Q_OS_WIN32
+ DWORD dwAttrib = GetFileAttributesW(TransferThread::toFinalPath(filename).c_str());
+ return (dwAttrib != INVALID_FILE_ATTRIBUTES &&
+ (dwAttrib & FILE_ATTRIBUTE_DIRECTORY) &&
+ !(dwAttrib & FILE_ATTRIBUTE_REPARSE_POINT));
+ #else
+ return is_dir(TransferThread::internalStringTostring(filename).c_str());
+ #endif
+}
+
+bool TransferThread::is_dir(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_REPARSE_POINT));
+ #else
+ struct stat p_statbuf;
+ if (lstat(filename, &p_statbuf) < 0)
+ //if error or file not exists, considere as regular file
+ return false;
+ if (S_ISDIR(p_statbuf.st_mode))
+ return true;
+ return false;
+ #endif
+}
+
+bool TransferThread::exists(const INTERNALTYPEPATH &filename)
+{
+ #ifdef Q_OS_WIN32
+ DWORD dwAttrib = GetFileAttributesW(TransferThread::toFinalPath(filename).c_str());
+ return dwAttrib != INVALID_FILE_ATTRIBUTES;
+ #else
+ return exists(TransferThread::internalStringTostring(filename).c_str());
+ #endif
+}
+
+bool TransferThread::exists(const char * const filename)
+{
+ #ifdef Q_OS_WIN32
+ DWORD dwAttrib = GetFileAttributesA(TransferThread::toFinalPath(filename).c_str());
+ return dwAttrib != INVALID_FILE_ATTRIBUTES;
+ #else
+ struct stat p_statbuf;
+ if (lstat(filename, &p_statbuf) < 0)
+ //if error or file not exists, considere as regular file
+ return false;
+ #endif
+ return true;
+}
+
+int64_t TransferThread::file_stat_size(const INTERNALTYPEPATH &filename)
+{
+ #ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA fileInfo;
+ BOOL r = GetFileAttributesExW(TransferThread::toFinalPath(filename).c_str(), GetFileExInfoStandard, &fileInfo);
+ if(r == FALSE)
+ return -1;
+ int64_t size=fileInfo.nFileSizeHigh;
+ size<<=32;
+ size|=fileInfo.nFileSizeLow;
+ return size;
+ #else
+ return file_stat_size(TransferThread::internalStringTostring(filename).c_str());
+ #endif
+}
+
+int64_t TransferThread::file_stat_size(const char * const filename)
+{
+ #ifdef Q_OS_WIN32
+ WIN32_FILE_ATTRIBUTE_DATA fileInfo;
+ BOOL r = GetFileAttributesExA(TransferThread::toFinalPath(filename).c_str(), GetFileExInfoStandard, &fileInfo);
+ if(r == FALSE)
+ return -1;
+ int64_t size=fileInfo.nFileSizeHigh;
+ size<<=32;
+ size|=fileInfo.nFileSizeLow;
+ return size;
+ #else
+ struct stat p_statbuf;
+ if (stat(filename, &p_statbuf) < 0)
+ //if error or file not exists, considere as regular file
+ return -1;
+ if (lstat(filename, &p_statbuf) < 0)
+ //if error or file not exists, considere as regular file
+ return -1;
+ return p_statbuf.st_size;
+ #endif
+}
+
+bool TransferThread::entryInfoList(const INTERNALTYPEPATH &path,std::vector<INTERNALTYPEPATH> &list)
+{
+ std::vector<dirent_uc> listTemp;
+ if(!TransferThread::entryInfoList(path,listTemp))
+ return false;
+ for(const dirent_uc &u : listTemp)
+ list.push_back(u.d_name);
+ return true;
+}
+
+bool TransferThread::rmdir(const INTERNALTYPEPATH &path)
+{
+ #ifdef Q_OS_WIN32
+ return RemoveDirectoryW(TransferThread::toFinalPath(path).c_str());
+ #else
+ return ::rmdir(TransferThread::internalStringTostring(path).c_str())==0;
+ #endif
+}
+
+#ifdef Q_OS_UNIX
+bool TransferThread::entryInfoList(const INTERNALTYPEPATH &path,std::vector<dirent_uc> &list)
+{
+ DIR *dp;
+ struct dirent *ep;
+ dp=opendir(TransferThread::internalStringTostring(path).c_str());
+ if(dp!=NULL)
+ {
+ do {
+ ep=readdir(dp);
+ if(ep!=NULL)
+ {
+ const std::string name(ep->d_name);
+ if(name!="." && name!="..")
+ {
+ dirent_uc tempValue;
+ #if defined(__HAIKU__)
+ struct stat sp;
+ memset(&sp,0,sizeof(sp));
+ if(stat((TransferThread::internalStringTostring(path)+"/"+name).c_str(), &sp)==0)
+ tempValue.isFolder=S_ISDIR(sp.st_mode);
+ else
+ return false;
+ #else
+ tempValue.isFolder=ep->d_type==DT_DIR;
+ #endif
+ tempValue.d_name=TransferThread::stringToInternalString(ep->d_name);
+ list.push_back(tempValue);
+ }
+ }
+ } while(ep!=NULL);
+ (void) closedir(dp);
+ return true;
+ }
+ return false;
+}
+#else
+bool TransferThread::entryInfoList(const INTERNALTYPEPATH &path,std::vector<dirent_uc> &list)
+{
+ HANDLE hFind = NULL;
+ #ifdef WIDESTRING
+ WIN32_FIND_DATAW fdFile;
+ if((hFind = FindFirstFileW((TransferThread::toFinalPath(path)+L"\\*").c_str(), &fdFile)) == INVALID_HANDLE_VALUE)
+ #else
+ WIN32_FIND_DATAA fdFile;
+ char finalpath[MAX_PATH];
+ strcpy(finalpath,path.c_str());
+ strcat(finalpath,"\\*");
+ if((hFind = FindFirstFileW(finalpath, &fdFile)) == INVALID_HANDLE_VALUE)
+ #endif
+ return false;
+ do
+ {
+ #ifdef WIDESTRING
+ if(wcscmp(fdFile.cFileName, L".")!=0 && wcscmp(fdFile.cFileName, L"..")!=0)
+ #else
+ if(strcmp(fdFile.cFileName, ".")!=0 && strcmp(fdFile.cFileName, "..")!=0)
+ #endif
+ {
+ dirent_uc tempValue;
+ tempValue.isFolder=
+ (fdFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) &&
+ !(fdFile.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)
+ ;
+ tempValue.d_name=fdFile.cFileName;
+ tempValue.size=fdFile.nFileSizeHigh;
+ tempValue.size<<=32;
+ tempValue.size|=fdFile.nFileSizeLow;
+ list.push_back(tempValue);
+ }
+ }
+ while(FindNextFileW(hFind, &fdFile));
+ FindClose(hFind);
+ return true;
+}
+#endif
+
+void TransferThread::setMkFullPath(const bool mkFullPath)
+{
+ this->mkFullPath=mkFullPath;
+}
+
+/*int TransferThread::fseeko64(FILE *__stream, uint64_t __off, int __whence)
+{
+ #if defined(__HAIKU__) || defined(Q_OS_MAC) || defined(ANDROID) || defined(__ANDROID_API__)
+ return ::fseeko(__stream,__off,__whence);
+ #else
+ return ::fseeko64(__stream,__off,__whence);
+ #endif
+}
+
+int TransferThread::ftruncate64(int __fd, uint64_t __length)
+{
+ #if defined(__HAIKU__) || defined(Q_OS_MAC) || defined(ANDROID) || defined(__ANDROID_API__)
+ return ::ftruncate(__fd,__length);
+ #else
+ //return ::ftruncate64(__fd,__length);
+ return ::ftruncate(__fd,__length);
+ #endif
+}*/
+
+int64_t TransferThread::transferTime() const
+{
+ return startTransferTime.elapsed();
+}
+
+#ifdef Q_OS_WIN32
+std::wstring TransferThread::toFinalPath(std::wstring path)
+{
+ if(path.size()==2 && path.at(1)==L':')
+ path+=L"\\";
+ stringreplaceAll(path,L"/",L"\\");
+ std::wstring pathW;
+ if(path.size()>2 && path.substr(0,2)==L"\\\\")//nas
+ pathW=L"\\\\?\\UNC\\"+path.substr(2);
+ else
+ pathW=L"\\\\?\\"+path;
+ return pathW;
+}
+
+std::string TransferThread::toFinalPath(std::string path)
+{
+ if(path.size()==2 && path.at(1)==':')
+ path+="\\";
+ stringreplaceAll(path,"/","\\");
+ std::string pathW;
+ if(path.size()>2 && path.substr(0,2)=="\\\\")//nas
+ pathW="\\\\?\\UNC\\"+path.substr(2);
+ else
+ pathW="\\\\?\\"+path;
+ return pathW;
+}
+
+bool TransferThread::unlink(const std::wstring &path)
+{
+ return DeleteFileW(TransferThread::toFinalPath(path).c_str()) || RemoveDirectoryW(TransferThread::toFinalPath(path).c_str());
+}
+
+std::string TransferThread::GetLastErrorStdStr()
+{
+ DWORD error = GetLastError();
+ if (error)
+ {
+ LPVOID lpMsgBuf;
+ DWORD bufLen = FormatMessageA(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ error,
+ MAKELANGID(LANG_SYSTEM_DEFAULT, SUBLANG_DEFAULT),
+ (LPSTR) &lpMsgBuf,
+ 0, NULL );
+ if (bufLen)
+ {
+ std::string result((char *)lpMsgBuf, (int)bufLen);
+ LocalFree(lpMsgBuf);
+ return result+" ("+std::to_string(error)+")";
+ }
+ return "1: "+std::to_string(error);
+ }
+ return "2: "+std::to_string(error);
+}
+#else
+bool TransferThread::unlink(const INTERNALTYPEPATH &path)
+{
+ return ::unlink(internalStringTostring(path).c_str())==0;
+}
+#endif
diff --git a/plugins/CopyEngine/Ultracopier-Spec/TransferThread.h b/plugins/CopyEngine/Ultracopier-Spec/TransferThread.h
new file mode 100755
index 0000000..42db854
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/TransferThread.h
@@ -0,0 +1,265 @@
+/** \file TransferThread.h
+\brief Thread changed to manage the inode operation, the signals, canceling, pre and post operations
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#include <QObject>
+#include <QTime>
+#include <QThread>
+
+#include <regex>
+#include <vector>
+#include <string>
+#include <utility>
+#include <dirent.h>
+#include <atomic>
+
+#ifdef WIDESTRING
+#define INTERNALTYPEPATH std::wstring
+#define INTERNALTYPECHAR wchar_t
+#else
+#define INTERNALTYPEPATH std::string
+#define INTERNALTYPECHAR char
+#endif
+
+//defore the next define
+#include "CopyEngineUltracopier-SpecVariable.h"
+
+#ifdef Q_OS_UNIX
+ #include <utime.h>
+ #include <time.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
+#endif
+#ifdef Q_OS_WIN32
+ #ifdef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
+ #include <utime.h>
+ #include <time.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #endif
+#endif
+
+#ifdef Q_OS_WIN32
+#include <windows.h>
+#endif
+
+#include "Environment.h"
+#include "DriveManagement.h"
+#include "StructEnumDefinition_CopyEngine.h"
+
+#ifndef TRANSFERTHREAD_H
+#define TRANSFERTHREAD_H
+
+/// \brief Thread changed to manage the inode operation, the signals, canceling, pre and post operations
+class TransferThread : public QThread
+{
+ Q_OBJECT
+public:
+ explicit TransferThread();
+ ~TransferThread();
+ /// \brief get transfer stat
+ TransferStat getStat() const;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ /// \brief to set the id
+ void setId(int id);
+ #endif
+ /// \brief get the transfer time in ms
+ int64_t transferTime() const;
+ /// \brief to store the transfer id
+ std::atomic<uint64_t> transferId;
+ /// \brief to store the transfer size
+ uint64_t transferSize;
+
+ //not copied size, ...
+ #ifdef Q_OS_WIN32
+ static std::string resolvedName(std::string inode);
+ static std::wstring resolvedName(std::wstring inode);
+ #else
+ static std::string resolvedName(const std::string &inode);
+ static std::wstring resolvedName(const std::wstring &inode);
+ #endif
+ INTERNALTYPEPATH getSourcePath() const;
+ INTERNALTYPEPATH getDestinationPath() const;
+ Ultracopier::CopyMode getMode() const;
+ // \warning check mkpath() call should not exists because only existing dest is allowed now
+ #ifdef Q_OS_UNIX
+ static bool mkpath(const INTERNALTYPEPATH &file_path, const mode_t &mode=0755);
+ static bool mkdir(const INTERNALTYPEPATH &file_path, const mode_t &mode=0755);
+ #else
+ static bool mkpath(const INTERNALTYPEPATH &file_path);
+ static bool mkdir(const INTERNALTYPEPATH &file_path);
+ #endif
+ #ifdef WIDESTRING
+ static INTERNALTYPEPATH stringToInternalString(const std::string& utf8);
+ static std::string internalStringTostring(const INTERNALTYPEPATH& utf16);
+ #else
+ static std::string stringToInternalString(const std::string& utf8);
+ static std::string internalStringTostring(const std::string& utf16);
+ #endif
+ #ifdef Q_OS_WIN32
+ static std::wstring toFinalPath(std::wstring path);
+ static std::string toFinalPath(std::string path);
+ static bool unlink(const std::wstring &path);
+ static std::string GetLastErrorStdStr();
+ #else
+ static bool unlink(const INTERNALTYPEPATH &path);//return true if sucess
+ #endif
+
+ static int64_t readFileMDateTime(const INTERNALTYPEPATH &source);
+ static bool is_symlink(const char * const filename);
+ static bool is_symlink(const INTERNALTYPEPATH &filename);
+ static bool is_file(const char * const filename);
+ static bool is_file(const INTERNALTYPEPATH &filename);
+ static bool is_dir(const char * const filename);
+ static bool is_dir(const INTERNALTYPEPATH &filename);
+ static bool exists(const char * const filename);
+ static bool exists(const INTERNALTYPEPATH &filename);
+ static int64_t file_stat_size(const INTERNALTYPEPATH &filename);
+ static int64_t file_stat_size(const char * const filename);
+ static bool entryInfoList(const INTERNALTYPEPATH &path, std::vector<INTERNALTYPEPATH> &list);
+ static bool rmdir(const INTERNALTYPEPATH &path);
+ struct dirent_uc
+ {
+ #ifdef Q_OS_WIN32
+ int64_t size;
+ #endif
+ INTERNALTYPEPATH d_name;
+ bool isFolder;
+ };
+ static bool entryInfoList(const INTERNALTYPEPATH &path, std::vector<dirent_uc> &list);
+ void setMkFullPath(const bool mkFullPath);
+ /*static int fseeko64(FILE *__stream, uint64_t __off, int __whence);
+ static int ftruncate64(int __fd, uint64_t __length);*/
+ static bool rename(const INTERNALTYPEPATH &source, const INTERNALTYPEPATH &destination);
+protected:
+ void run();
+ virtual void resetExtraVariable();
+ bool isSame();
+ bool destinationExists();
+
+ //different pre-operation
+ bool checkAlwaysRename();///< return true if has been renamed
+ bool canBeMovedDirectly() const;
+ bool canBeCopiedDirectly() const;
+
+ //fonction to edit the file date time
+ bool readSourceFileDateTime(const INTERNALTYPEPATH &source);
+ bool writeDestinationFileDateTime(const INTERNALTYPEPATH &destination);
+ bool readSourceFilePermissions(const INTERNALTYPEPATH &source);
+ bool writeDestinationFilePermissions(const INTERNALTYPEPATH &destination);
+signals:
+ //internal signal
+ void internalStartPostOperation() const;
+ void internalStartPreOperation() const;
+ //force into the right thread
+ void internalTryStartTheTransfer() const;
+ //to send state
+ void preOperationStopped() const;
+ void checkIfItCanBeResumed() const;
+ //void transferStarted();//not sended (and not used then)
+ void readStopped() const;
+ void writeStopped() const;
+ void postOperationStopped() const;
+ //get dialog
+ void fileAlreadyExists(const INTERNALTYPEPATH &info,const INTERNALTYPEPATH &info2,const bool &isSame) const;
+ void errorOnFile(const INTERNALTYPEPATH &info,const std::string &string,const ErrorType &errorType=ErrorType_Normal) const;
+ /// \brief To debug source
+ void debugInformation(const Ultracopier::DebugLevel &level,std::string fonction,std::string text,std::string file,int ligne) const;
+ void tryPutAtBottom() const;
+ /// \brief update the transfer stat
+ void pushStat(const TransferStat &stat,const uint64_t &pos) const;
+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);
+ /// \brief to set the new name of the destination
+ void setFileRename(const std::string &nameForRename);
+ /// \brief to start the transfer of data
+ void setAlwaysFileExistsAction(const FileExistsAction &action);
+ /// \brief set the copy info and options before runing
+ void setRightTransfer(const bool doRightTransfer);
+ /// \brief set buffer
+ virtual void setBuffer(const bool buffer);
+ /// \brief set keep date
+ void setKeepDate(const bool keepDate);
+ /// \brief put the current file at bottom
+ void putAtBottom();
+
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ void setRsync(const bool rsync);
+ #endif
+
+ void setRenamingRules(const std::string &firstRenamingRule,const std::string &otherRenamingRule);
+
+ void setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles);
+ void setRenameTheOriginalDestination(const bool &renameTheOriginalDestination);
+ void set_updateMount();
+protected:
+ enum MoveReturn
+ {
+ MoveReturn_skip=0,
+ MoveReturn_moved=1,
+ MoveReturn_error=2
+ };
+
+ Ultracopier::CopyMode mode;
+ std::atomic<TransferStat> transfer_stat;
+ bool doRightTransfer;
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ bool rsync;
+ #endif
+ bool keepDate;
+ bool mkFullPath;
+ volatile bool stopIt;
+ #ifdef Q_OS_WIN32
+ int stopItWin;
+ #endif
+ DriveManagement driveManagement;
+ volatile bool canStartTransfer;
+ bool retry;
+ INTERNALTYPEPATH source;
+ INTERNALTYPEPATH destination;
+ int64_t size;
+ FileExistsAction fileExistsAction;
+ FileExistsAction alwaysDoFileExistsAction;
+ bool needSkip,needRemove;
+ int id;
+ bool deletePartiallyTransferredFiles;
+ std::string firstRenamingRule;
+ std::string otherRenamingRule;
+ //error management
+ bool renameTheOriginalDestination;
+ bool fileContentError;
+ bool doTheDateTransfer;
+ int parallelizeIfSmallerThan;
+ //error management
+ bool writeError;
+ bool readError;
+ std::regex renameRegex;
+ #ifdef Q_OS_UNIX
+ utimbuf butime;
+ #else
+ #ifdef Q_OS_WIN32
+ FILETIME ftCreate, ftAccess, ftWrite;
+ std::regex regRead;
+ #else
+ #error Not unix, not windows, fix this
+ #endif
+ #endif
+ #ifdef Q_OS_UNIX
+ struct stat permissions;
+ #else
+ PSECURITY_DESCRIPTOR PSecurityD;
+ PACL dacl;
+ #endif
+ bool havePermission;
+ //to send state
+ bool sended_state_preOperationStopped;
+ //different post-operation
+ bool doFilePostOperation();
+protected:
+ QTime startTransferTime;
+ bool haveTransferTime;
+};
+
+#endif // TRANSFERTHREAD_H
diff --git a/plugins/CopyEngine/Ultracopier/ReadThread.cpp b/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.cpp
index 7bdb60c..d83e8ff 100644..100755
--- a/plugins/CopyEngine/Ultracopier/ReadThread.cpp
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.cpp
@@ -1,9 +1,18 @@
#include "ReadThread.h"
+#include "../TransferThread.h"
#ifdef Q_OS_LINUX
#include <fcntl.h>
#endif
+#ifdef Q_OS_UNIX
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <fcntl.h>
+#endif
+#include <iostream>
+
ReadThread::ReadThread()
{
start();
@@ -13,12 +22,18 @@ ReadThread::ReadThread()
blockSize=ULTRACOPIER_PLUGIN_DEFAULT_BLOCK_SIZE*1024;
setObjectName(QStringLiteral("read"));
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
+ status=Idle;
#endif
isInReadLoop=false;
tryStartRead=false;
lastGoodPosition=0;
isOpen.release();
+
+ #ifdef Q_OS_UNIX
+ from=-1;
+ #else
+ from=nullptr;
+ #endif
}
ReadThread::~ReadThread()
@@ -42,48 +57,66 @@ ReadThread::~ReadThread()
void ReadThread::run()
{
- connect(this,&ReadThread::internalStartOpen, this,&ReadThread::internalOpenSlot, Qt::QueuedConnection);
- connect(this,&ReadThread::internalStartReopen, this,&ReadThread::internalReopen, Qt::QueuedConnection);
- connect(this,&ReadThread::internalStartRead, this,&ReadThread::internalRead, Qt::QueuedConnection);
- connect(this,&ReadThread::internalStartClose, this,&ReadThread::internalCloseSlot, Qt::QueuedConnection);
- connect(this,&ReadThread::checkIfIsWait, this,&ReadThread::isInWait, Qt::QueuedConnection);
- connect(this,&ReadThread::internalStartChecksum, this,&ReadThread::checkSum, Qt::QueuedConnection);
+ 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::internalStartRead, this,&ReadThread::internalRead, Qt::QueuedConnection))
+ abort();
+ if(!connect(this,&ReadThread::internalStartClose, this,&ReadThread::internalCloseSlot, Qt::QueuedConnection))
+ abort();
+ if(!connect(this,&ReadThread::checkIfIsWait, this,&ReadThread::isInWait, Qt::QueuedConnection))
+ abort();
exec();
}
-void ReadThread::open(const QFileInfo &file, const Ultracopier::CopyMode &mode)
+void ReadThread::openRead(const INTERNALTYPEPATH &file, const Ultracopier::CopyMode &mode)
{
if(!isRunning())
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] the thread not running to open destination: "+file.absoluteFilePath().toStdString());
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] the thread not running to open destination"+TransferThread::internalStringTostring(file));
errorString_internal=tr("Internal error, please report it!").toStdString();
emit error();
}
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] open source: "+file.absoluteFilePath().toStdString());
- if(this->file.isOpen())
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] open source: "+TransferThread::internalStringTostring(file));
+ #ifdef Q_OS_UNIX
+ if(from>=0)
+ #else
+ if(from!=NULL)
+ #endif
{
- if(file.absoluteFilePath()==this->file.fileName())
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Try reopen already opened same file: "+file.absoluteFilePath().toStdString());
+ if(file==this->file)
+ {
+ std::cerr << "["+std::to_string(id)+"] Try reopen already opened same file: " << TransferThread::internalStringTostring(file) << std::endl;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Try reopen already opened same file: "+TransferThread::internalStringTostring(file));
+ }
else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] previous file is already open: "+file.absoluteFilePath().toStdString());
- emit internalStartClose();
+ {
+ std::cerr << "["+std::to_string(id)+"] previous file is already open: "+TransferThread::internalStringTostring(this->file) << ", can't open " << TransferThread::internalStringTostring(file) << std::endl;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] previous file is already open: "+TransferThread::internalStringTostring(this->file));
+ }
+ internalCloseSlot();
+ /* try bypass the bug
+ return;//better than hard shutdown
+ abort();
+ emit internalStartClose();*/
isOpen.acquire();
isOpen.release();
}
if(isInReadLoop)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] previous file is already readding: "+file.absoluteFilePath().toStdString());
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] previous file is already readding: "+TransferThread::internalStringTostring(file));
return;
}
if(tryStartRead)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] previous file is already try read: "+file.absoluteFilePath().toStdString());
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] previous file is already try read: "+TransferThread::internalStringTostring(file));
return;
}
stopIt=false;
fakeMode=false;
lastGoodPosition=0;
- this->file.setFileName(file.absoluteFilePath());
+ this->file=file;
this->mode=mode;
emit internalStartOpen();
}
@@ -102,7 +135,7 @@ void ReadThread::stop()
#ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
waitNewClockForSpeed.release();
#endif
- if(isOpen.available()<=0)
+ //if(isOpen.available()<=0 || from>=0)
emit internalStartClose();
}
@@ -125,7 +158,11 @@ void ReadThread::resume()
}
else
return;
- if(!file.isOpen())
+ #ifdef Q_OS_UNIX
+ if(from<0)
+ #else
+ if(from==NULL)
+ #endif
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] file is not open");
return;
@@ -136,118 +173,63 @@ void ReadThread::resume()
bool ReadThread::seek(const int64_t &position)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start with: "+std::to_string(position));
- if(position>file.size())
+ if((int64_t)position>size())
return false;
- return file.seek(position);
-}
-int64_t ReadThread::size() const
-{
- return file.size();
-}
-
-void ReadThread::postOperation()
-{
- emit internalStartClose();
+ #ifdef Q_OS_UNIX
+ if(from<0)
+ abort();//internal failure
+ return lseek(from,position,SEEK_SET)==position;
+ #else
+ if(from==NULL)
+ abort();//internal failure
+ LARGE_INTEGER liSize;
+ liSize.QuadPart=position;
+ return SetFilePointerEx(from,liSize,NULL,FILE_BEGIN);
+ #endif
}
-void ReadThread::checkSum()
+int64_t ReadThread::size() const
{
- QByteArray blockArray;
- QCryptographicHash hash(QCryptographicHash::Sha1);
- isInReadLoop=true;
- lastGoodPosition=0;
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- numberOfBlockCopied=0;
- #endif
- seek(0);
- int sizeReaden=0;
- do
+ #ifdef Q_OS_UNIX
+ struct stat st;
+ if(fstat(from, &st)==0)
+ return st.st_size;
+ else
{
- //read one block
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Read;
+ struct stat source_statbuf;
+ #ifdef Q_OS_UNIX
+ if(lstat(TransferThread::internalStringTostring(file).c_str(), &source_statbuf)==0)
+ #else
+ if(stat(TransferThread::internalStringTostring(file).c_str(), &source_statbuf)==0)
#endif
- if(putInPause)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"["+std::to_string(id)+"] read put in pause");
- if(stopIt)
- return;
- pauseMutex.acquire();
- if(stopIt)
- return;
- }
- blockArray=file.read(blockSize);
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
-
- //can be smaller than min block size to do correct speed limitation
- if(blockArray.size()>ULTRACOPIER_PLUGIN_MAX_BLOCK_SIZE*1024)
- {
- errorString_internal=tr("Internal error reading the source file:block size out of range").toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Internal error reading the source file:block size out of range");
- emit error();
- isInReadLoop=false;
- return;
- }
- if(file.error()!=QFile::NoError)
- {
- errorString_internal=tr("Unable to read the source file: ").toStdString()+file.errorString().toStdString()+" ("+std::to_string(file.error())+")";
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("file.error()!=QFile::NoError: %1, error: ").arg(QString::number(file.error())).toStdString()+errorString_internal);
- emit error();
- isInReadLoop=false;
- return;
- }
- sizeReaden=blockArray.size();
- if(sizeReaden>0)
- {
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Checksum;
- #endif
- hash.addData(blockArray);
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
-
- if(stopIt)
- break;
-
- lastGoodPosition+=blockArray.size();
-
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- //wait for limitation speed if stop not query
- if(multiForBigSpeed>0)
- {
- numberOfBlockCopied++;
- if(numberOfBlockCopied>=multiForBigSpeed)
- {
- numberOfBlockCopied=0;
- waitNewClockForSpeed.acquire();
- if(stopIt)
- break;
- }
- }
- #endif
- }
- }
- while(sizeReaden>0 && !stopIt);
- if(lastGoodPosition>file.size())
- {
- errorString_internal=tr("File truncated during the read, possible data change").toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Source truncated during the read: %1 (%2)").arg(file.errorString()).arg(QString::number(file.error())).toStdString());
- emit error();
- isInReadLoop=false;
- return;
+ return source_statbuf.st_size;
+ else
+ return -1;
}
- isInReadLoop=false;
- if(stopIt)
+ #else
+ LARGE_INTEGER lpFileSize;
+ if(!GetFileSizeEx(from,&lpFileSize))
{
- stopIt=false;
- return;
+ WIN32_FILE_ATTRIBUTE_DATA sourceW;
+ if(GetFileAttributesExW(file.c_str(),GetFileExInfoStandard,&sourceW))
+ {
+ uint64_t size=sourceW.nFileSizeHigh;
+ size<<=32;
+ size|=sourceW.nFileSizeLow;
+ return size;
+ }
+ else
+ return -1;
}
- emit checksumFinish(hash.result());
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stop the read");
+ else
+ return lpFileSize.QuadPart;
+ #endif
+}
+
+void ReadThread::postOperation()
+{
+ emit internalStartClose();
}
bool ReadThread::internalOpenSlot()
@@ -257,7 +239,8 @@ bool ReadThread::internalOpenSlot()
bool ReadThread::internalOpen(bool resetLastGoodPosition)
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] internalOpen source: "+file.fileName().toStdString()+", open in write because move: "+std::to_string(mode==Ultracopier::Move));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] internalOpen source: "+
+ TransferThread::internalStringTostring(file)+", open in write because move: "+std::to_string(mode==Ultracopier::Move));
if(stopIt)
{
emit closed();
@@ -265,75 +248,170 @@ bool ReadThread::internalOpen(bool resetLastGoodPosition)
}
putInPause=false;
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=InodeOperation;
+ status=InodeOperation;
+ #endif
+ #ifdef Q_OS_UNIX
+ if(from>=0)
+ #else
+ if(from!=NULL)
#endif
- if(file.isOpen())
{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] this file is already open: "+file.fileName().toStdString());
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] this file is already open: "+TransferThread::internalStringTostring(file));
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
+ status=Idle;
#endif
emit closed();
return false;
}
- QIODevice::OpenMode openMode=QIODevice::ReadOnly;
/*can have permision to remove but not write
* if(mode==Ultracopier::Move)
openMode=QIODevice::ReadWrite;*/
seekToZero=false;
- if(file.open(openMode))
+ #ifdef Q_OS_UNIX
+ from = ::open(TransferThread::internalStringTostring(file).c_str(), O_RDONLY);
+ #else
+ DWORD flags=FILE_ATTRIBUTE_NORMAL;
+ if(os_spec_flags)
+ flags|=FILE_FLAG_SEQUENTIAL_SCAN;
+ from=CreateFileW(file.c_str(),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,flags,NULL);
+ #endif
+ #ifdef Q_OS_UNIX
+ if(from>=0)
+ #else
+ if(from!=INVALID_HANDLE_VALUE)
+ #endif
{
if(stopIt)
{
- file.close();
+ #ifdef Q_OS_UNIX
+ if(::close(from)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ from=-1;
+ #else
+ if(CloseHandle(from)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ from=NULL;
+ #endif
+ this->file.clear();
emit closed();
return false;
}
pauseMutex.tryAcquire(pauseMutex.available());
#ifdef Q_OS_LINUX
- const int intfd=file.handle();
- if(intfd!=-1)
+ if(os_spec_flags)
{
- posix_fadvise(intfd, 0, 0, POSIX_FADV_WILLNEED);
- posix_fadvise(intfd, 0, 0, POSIX_FADV_SEQUENTIAL);
+ posix_fadvise(from, 0, 0, POSIX_FADV_WILLNEED);
+ posix_fadvise(from, 0, 0, POSIX_FADV_SEQUENTIAL);
+ posix_fadvise(from, 0, 0, POSIX_FADV_NOREUSE);
}
#endif
if(stopIt)
{
- file.close();
+ #ifdef Q_OS_UNIX
+ if(::close(from)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ from=-1;
+ #else
+ if(CloseHandle(from)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ from=NULL;
+ #endif
+ this->file.clear();
emit closed();
return false;
}
- size_at_open=file.size();
- mtime_at_open=QFileInfo(file).lastModified().toMSecsSinceEpoch()/1000;
+
+ //do one at same time
+ #ifdef Q_OS_UNIX
+ {
+ struct stat st;
+ fstat(from, &st);
+ size_at_open=st.st_size;
+ #ifdef Q_OS_MAC
+ mtime_at_open=st.st_mtimespec.tv_sec;
+ #else
+ mtime_at_open=st.st_mtim.tv_sec;
+ #endif
+ }
+ #else
+ {
+ LARGE_INTEGER lpFileSize;
+ GetFileSizeEx(from,&lpFileSize);
+ size_at_open=lpFileSize.QuadPart;
+ FILETIME LastWriteTime;
+ GetFileTime(from,NULL,NULL,&LastWriteTime);
+ mtime_at_open=LastWriteTime;
+ }
+ #endif
+
putInPause=false;
if(resetLastGoodPosition)
lastGoodPosition=0;
if(!seek(lastGoodPosition))
{
- file.close();
- errorString_internal=file.errorString().toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Unable to seek after open: %1, error: %2").arg(file.fileName()).toStdString()+errorString_internal);
+ #ifdef Q_OS_WIN32
+ errorString_internal=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to seek after open: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal
+ );
+ #else
+ int t=errno;
+ errorString_internal=strerror(t);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to seek after open: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(t)+")"
+ );
+ #endif
+
+ #ifdef Q_OS_UNIX
+ if(::close(from)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ from=-1;
+ #else
+ if(CloseHandle(from)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ from=NULL;
+ #endif
+ this->file.clear();
+
emit error();
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
+ status=Idle;
#endif
return false;
}
isOpen.acquire();
emit opened();
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
+ status=Idle;
#endif
return true;
}
else
{
- errorString_internal=file.errorString().toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Unable to open: %1, error: ").arg(file.fileName()).toStdString()+errorString_internal);
+ #ifdef Q_OS_WIN32
+ from=NULL;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ DWORD e = GetLastError();
+ #endif
+ errorString_internal=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to open: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(e)+")"
+ );
+ #else
+ int t=errno;
+ errorString_internal=strerror(t);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to open: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(t)+")"
+ );
+ #endif
+
emit error();
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
+ status=Idle;
#endif
return false;
}
@@ -341,15 +419,23 @@ bool ReadThread::internalOpen(bool resetLastGoodPosition)
void ReadThread::internalRead()
{
+ if(writeThread==nullptr)
+ abort();
isInReadLoop=true;
tryStartRead=false;
if(stopIt)
{
- if(seekToZero && file.isOpen())
+ if(seekToZero &&
+ #ifdef Q_OS_WIN32
+ from!=NULL
+ #else
+ from>=0
+ #endif
+ )
{
stopIt=false;
lastGoodPosition=0;
- file.seek(0);
+ seek(0);
}
else
{
@@ -360,23 +446,27 @@ void ReadThread::internalRead()
}
}
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=InodeOperation;
+ status=InodeOperation;
#endif
int sizeReaden=0;
- if(!file.isOpen())
+ #ifdef Q_OS_WIN32
+ if(from==NULL)
+ #else
+ if(from<0)
+ #endif
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] is not open!");
isInReadLoop=false;
return;
}
- QByteArray blockArray;
+ char * data=NULL;
#ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
numberOfBlockCopied=0;
#endif
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start the copy");
emit readIsStarted();
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
+ status=Idle;
#endif
if(stopIt)
{
@@ -408,29 +498,66 @@ void ReadThread::internalRead()
}
}
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Read;
+ status=Read;
+ #endif
+ data=(char *)malloc(blockSize);
+ if(data==NULL)
+ {
+ errorString_internal="Out of memory";
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to read the source file: "+TransferThread::internalStringTostring(file)+
+ ", error: "+"Out of memory"
+ );
+ isInReadLoop=false;
+ emit error();
+ return;
+ }
+ #ifdef Q_OS_WIN32
+ DWORD lpNumberOfBytesRead=0;
+ const BOOL retRead=ReadFile(from,data,blockSize,
+ &lpNumberOfBytesRead,NULL);
+ sizeReaden=lpNumberOfBytesRead;
+ #else
+ sizeReaden=::read(from,data,blockSize);
#endif
- blockArray=file.read(blockSize);
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
+ status=Idle;
#endif
- if(file.error()!=QFile::NoError)
+ #ifdef Q_OS_WIN32
+ if(retRead==FALSE)
+ #else
+ if(sizeReaden<0)
+ #endif
{
- errorString_internal=tr("Unable to read the source file: ").toStdString()+file.errorString().toStdString()+" ("+std::to_string(file.error())+")";
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("file.error()!=QFile::NoError: %1, error: ").arg(QString::number(file.error())).toStdString()+errorString_internal);
+ #ifdef Q_OS_WIN32
+ errorString_internal=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to read the source file: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal
+ );
+ #else
+ int t=errno;
+ errorString_internal=tr("Unable to read the source file: ").toStdString()+strerror(t);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to read the source file: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(t)+")"
+ );
+ #endif
isInReadLoop=false;
emit error();
return;
}
- sizeReaden=blockArray.size();
if(sizeReaden>0)
{
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=WaitWritePipe;
+ status=WaitWritePipe;
#endif
- if(!writeThread->write(blockArray))//speed limitation here
+ if(!writeThread->write(data,sizeReaden))//speed limitation here
{
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Idle;
+ #endif
if(!stopIt)
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stopped because the write is stopped: "+std::to_string(lastGoodPosition));
@@ -439,7 +566,7 @@ void ReadThread::internalRead()
}
#ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
+ status=Idle;
#endif
if(stopIt)
@@ -449,7 +576,7 @@ void ReadThread::internalRead()
internalClose();//need re-open the destination and then the source
return;
}
- lastGoodPosition+=blockArray.size();
+ lastGoodPosition+=sizeReaden;
}
/*
if(lastGoodPosition>16*1024)
@@ -463,10 +590,11 @@ void ReadThread::internalRead()
*/
}
while(sizeReaden>0 && !stopIt);
- if(lastGoodPosition>file.size())
+ if(lastGoodPosition>size())
{
errorString_internal=tr("File truncated during the read, possible data change").toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Source truncated during the read: %1 (%2)").arg(file.errorString()).arg(QString::number(file.error())).toStdString());
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Source truncated during the read");
isInReadLoop=false;
emit error();
return;
@@ -477,6 +605,7 @@ void ReadThread::internalRead()
stopIt=false;
return;
}
+ postOperation();
emit readIsStopped();//will product by signal connection writeThread->endIsDetected();
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stop the read");
}
@@ -510,10 +639,23 @@ void ReadThread::internalClose(bool callByTheDestructor)
bool closeTheFile=false;
if(!fakeMode)
{
- if(file.isOpen())
+ #ifdef Q_OS_UNIX
+ if(from>=0)
+ #else
+ if(from!=NULL)
+ #endif
{
closeTheFile=true;
- file.close();
+ #ifdef Q_OS_UNIX
+ if(::close(from)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ from=-1;
+ #else
+ if(CloseHandle(from)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ from=NULL;
+ #endif
+ this->file.clear();
isInReadLoop=false;
}
}
@@ -585,15 +727,10 @@ void ReadThread::fakeReadIsStarted()
/// \brief do the fake writeIsStopped
void ReadThread::fakeReadIsStopped()
{
+ postOperation();
emit readIsStopped();
}
-/// do the checksum
-void ReadThread::startCheckSum()
-{
- emit internalStartChecksum();
-}
-
int64_t ReadThread::getLastGoodPosition() const
{
/*if(lastGoodPosition>file.size())
@@ -622,12 +759,50 @@ bool ReadThread::internalReopen()
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
stopIt=false;
- if(file.isOpen())
+ #ifdef Q_OS_UNIX
+ if(from>=0)
+ #else
+ if(from!=NULL)
+ #endif
{
- file.close();
+ #ifdef Q_OS_UNIX
+ if(::close(from)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ from=-1;
+ #else
+ if(CloseHandle(from)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ from=NULL;
+ #endif
+ this->file.clear();
isOpen.release();
}
- if(size_at_open!=file.size() && mtime_at_open!=(uint64_t)QFileInfo(file).lastModified().toMSecsSinceEpoch()/1000)
+ int64_t temp_size=-1;
+ #ifdef Q_OS_UNIX
+ uint64_t temp_mtime=0;
+ {
+ struct stat st;
+ if(::stat(TransferThread::internalStringTostring(file).c_str(), &st)!=-1)
+ {
+ temp_size=st.st_size;
+ #ifdef Q_OS_MAC
+ temp_mtime=st.st_mtimespec.tv_sec;
+ #else
+ temp_mtime=st.st_mtim.tv_sec;
+ #endif
+ }
+ }
+ if(size_at_open!=temp_size || mtime_at_open!=temp_mtime)
+ #else
+ FILETIME temp_mtime;
+ {
+ LARGE_INTEGER FileSize;
+ GetFileSizeEx(from,&FileSize);
+ temp_size=FileSize.QuadPart;
+ GetFileTime(from,NULL,NULL,&temp_mtime);
+ }
+ if(size_at_open!=temp_size || mtime_at_open.dwLowDateTime!=temp_mtime.dwLowDateTime || mtime_at_open.dwHighDateTime!=temp_mtime.dwHighDateTime)
+ #endif
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] source file have changed since the last open, restart all");
//fix this function like the close function
@@ -650,6 +825,7 @@ bool ReadThread::internalReopen()
else
return false;
}
+ return false;
}
//set the write thread
@@ -681,7 +857,11 @@ void ReadThread::isInWait()
{
stopIt=false;
seekToZero=false;
- if(file.isOpen())
+ #ifdef Q_OS_UNIX
+ if(from>=0)
+ #else
+ if(from!=NULL)
+ #endif
{
lastGoodPosition=0;
seek(0);
@@ -697,3 +877,7 @@ bool ReadThread::isReading() const
return isInReadLoop;
}
+void ReadThread::setOsSpecFlags(bool os_spec_flags)
+{
+ this->os_spec_flags=os_spec_flags;
+}
diff --git a/plugins/CopyEngine/Ultracopier/ReadThread.h b/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.h
index f817e35..4de0129 100644..100755
--- a/plugins/CopyEngine/Ultracopier/ReadThread.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/ReadThread.h
@@ -9,14 +9,24 @@
#include <QThread>
#include <QByteArray>
#include <QSemaphore>
-#include <QDateTime>
-#include <QFileInfo>
#include <QCryptographicHash>
+#ifdef Q_OS_WIN32
+#include <windows.h>
+#endif
+
#include "WriteThread.h"
-#include "Environment.h"
-#include "StructEnumDefinition_CopyEngine.h"
-#include "AvancedQFile.h"
+#include "../Environment.h"
+#include "../StructEnumDefinition_CopyEngine.h"
+#include "../CopyEngineUltracopier-SpecVariable.h"
+
+#ifdef WIDESTRING
+#define INTERNALTYPEPATH std::wstring
+#define INTERNALTYPECHAR wchar_t
+#else
+#define INTERNALTYPEPATH std::string
+#define INTERNALTYPECHAR char
+#endif
/// \brief Thread changed to open/close and read the source file
class ReadThread : public QThread
@@ -29,7 +39,7 @@ protected:
void run();
public:
/// \brief open with the name and copy mode
- void open(const QFileInfo &file, const Ultracopier::CopyMode &mode);
+ void openRead(const INTERNALTYPEPATH &file, const Ultracopier::CopyMode &mode);
/// \brief return the error string
std::string errorString() const;
//QByteArray read(qint64 position,qint64 maxSize);
@@ -49,7 +59,7 @@ public:
/// \brief set the current max speed in KB/s
void setMultiForBigSpeed(const int &multiForBigSpeed);
#endif
- /// \brief set block size in KB
+ /// \brief set block size in KB mostly for speed
bool setBlockSize(const int blockSize);
/// \brief reopen after an error
void reopen();
@@ -64,10 +74,9 @@ public:
Idle=0,
InodeOperation=1,
Read=2,
- WaitWritePipe=3,
- Checksum=4
+ WaitWritePipe=3
};
- ReadStat stat;
+ ReadStat status;
#endif
/// \brief return if it's reading
bool isReading() const;
@@ -81,14 +90,12 @@ public:
void fakeReadIsStarted();
/// \brief do the fake readIsStopped
void fakeReadIsStopped();
- /// do the checksum
- void startCheckSum();
+
+ void setOsSpecFlags(bool os_spec_flags);
public slots:
/// \brief to reset the copy, and put at the same state when it just open
void seekToZeroAndWait();
void postOperation();
- /// do the checksum
- void checkSum();
signals:
void error() const;
void opened() const;
@@ -99,10 +106,8 @@ signals:
void checkIfIsWait() const;
void resumeAfterErrorByRestartAll() const;
void resumeAfterErrorByRestartAtTheLastPosition() const;
- void checksumFinish(const QByteArray&) const;
// internal signals
void internalStartOpen() const;
- void internalStartChecksum() const;
void internalStartReopen() const;
void internalStartRead() const;
void internalStartClose() const;
@@ -111,9 +116,9 @@ signals:
private:
std::string errorString_internal;
- AvancedQFile file;
volatile bool stopIt;
Ultracopier::CopyMode mode;
+ bool os_spec_flags;
int64_t lastGoodPosition;
volatile int blockSize;//in Bytes
#ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
@@ -130,10 +135,21 @@ private:
volatile bool seekToZero;
volatile bool tryStartRead;
int64_t size_at_open;
+ #ifdef Q_OS_UNIX
uint64_t mtime_at_open;
+ #else
+ FILETIME mtime_at_open;
+ #endif
bool fakeMode;
//internal function
bool seek(const int64_t &position);/// \todo search if is use full
+
+ #ifdef Q_OS_UNIX
+ int from;
+ #else
+ HANDLE from;
+ #endif
+ INTERNALTYPEPATH file;
private slots:
bool internalOpen(bool resetLastGoodPosition=true);
bool internalOpenSlot();
diff --git a/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp b/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp
new file mode 100755
index 0000000..b5af928
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp
@@ -0,0 +1,1442 @@
+//presume bug linked as multple paralelle inode to resume after "overwrite"
+//then do overwrite node function to not re-set the file name
+
+#include "TransferThreadAsync.h"
+#include <string>
+#include <dirent.h>
+
+#ifdef Q_OS_WIN32
+#include <accctrl.h>
+#include <aclapi.h>
+#include <winbase.h>
+
+#define REPARSE_MOUNTPOINT_HEADER_SIZE 8
+
+typedef struct _REPARSE_DATA_BUFFER {
+ ULONG ReparseTag;
+ USHORT ReparseDataLength;
+ USHORT Reserved;
+ union {
+ struct {
+ USHORT SubstituteNameOffset;
+ USHORT SubstituteNameLength;
+ USHORT PrintNameOffset;
+ USHORT PrintNameLength;
+ ULONG Flags;
+ WCHAR PathBuffer[1];
+ } SymbolicLinkReparseBuffer;
+ struct {
+ USHORT SubstituteNameOffset;
+ USHORT SubstituteNameLength;
+ USHORT PrintNameOffset;
+ USHORT PrintNameLength;
+ WCHAR PathBuffer[1];
+ } MountPointReparseBuffer;
+ struct {
+ UCHAR DataBuffer[1];
+ } GenericReparseBuffer;
+ } DUMMYUNIONNAME;
+} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
+
+/*memo> HANDLE hToken = NULL;
+TOKEN_PRIVILEGES tp;
+try {
+ if (!::OpenProcessToken(::GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) throw ::GetLastError();
+ if (!::LookupPrivilegeValue(NULL, SE_RESTORE_NAME, &tp.Privileges[0].Luid)) throw ::GetLastError();
+ tp.PrivilegeCount = 1;
+ tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
+ if (!::AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL)) throw ::GetLastError();
+}
+catch (DWORD) {
+ ok=false;
+}
+if (hToken)
+ ::CloseHandle(hToken);*/
+#endif
+
+#include "../../../../cpp11addition.h"
+
+#ifndef Q_OS_WIN32
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#endif
+
+TransferThreadAsync::TransferThreadAsync() :
+ transferProgression(0)
+{
+ haveStartTime=false;
+ #ifndef Q_OS_UNIX
+ PSecurityD=NULL;
+ dacl=NULL;
+ #endif
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+QStringLiteral("] start: ")+QString::number((qint64)QThread::currentThreadId())));
+ //the error push
+ readThread.setWriteThread(&writeThread);
+
+ TransferThread::run();
+ if(!connect(this,&TransferThreadAsync::internalStartPostOperation, this, &TransferThreadAsync::doFilePostOperation, Qt::QueuedConnection))
+ abort();
+
+ //the thread change operation
+ if(!connect(this,&TransferThread::internalStartPreOperation, this, &TransferThreadAsync::preOperation, Qt::QueuedConnection))
+ abort();
+ if(!connect(this,&TransferThread::internalStartPostOperation, this, &TransferThreadAsync::postOperation, Qt::QueuedConnection))
+ abort();
+ if(!connect(this,&TransferThread::internalTryStartTheTransfer, this, &TransferThreadAsync::internalStartTheTransfer, Qt::QueuedConnection))
+ abort();
+
+ //the error push
+ if(!connect(&readThread,&ReadThread::error, this, &TransferThreadAsync::read_error, Qt::QueuedConnection))
+ abort();
+ if(!connect(&writeThread,&WriteThread::error, this, &TransferThreadAsync::write_error, Qt::QueuedConnection))
+ abort();
+ //the state change operation
+ if(!connect(&readThread,&ReadThread::readIsStopped, this, &TransferThreadAsync::read_readIsStopped, Qt::QueuedConnection))
+ abort();
+ if(!connect(&readThread,&ReadThread::readIsStopped, &writeThread, &WriteThread::endIsDetected, Qt::QueuedConnection))
+ abort();
+ if(!connect(&readThread,&ReadThread::closed, this, &TransferThreadAsync::read_closed, Qt::QueuedConnection))
+ abort();
+ if(!connect(&writeThread,&WriteThread::closed, this, &TransferThreadAsync::write_closed, Qt::QueuedConnection))
+ abort();
+
+ if(!connect(this, &TransferThreadAsync::openRead,&readThread,&ReadThread::openRead, Qt::QueuedConnection))
+ abort();
+ if(!connect(this, &TransferThreadAsync::openWrite,&writeThread,&WriteThread::openWrite, Qt::QueuedConnection))
+ abort();
+
+ //when both is ready, startRead()
+ if(!connect(&readThread,&ReadThread::opened, this, &TransferThreadAsync::read_opened, Qt::QueuedConnection))
+ abort();
+ 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();
+ 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))
+ abort();
+ if(!connect(&writeThread,&WriteThread::debugInformation, this, &TransferThreadAsync::debugInformation, Qt::QueuedConnection))
+ abort();
+ if(!connect(&driveManagement,&DriveManagement::debugInformation,this, &TransferThreadAsync::debugInformation, Qt::QueuedConnection))
+ abort();
+ #endif
+
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start: "+std::to_string((int64_t)QThread::currentThreadId()));
+ start();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stop: "+std::to_string((int64_t)QThread::currentThreadId()));
+}
+
+TransferThreadAsync::~TransferThreadAsync()
+{
+ #ifdef Q_OS_WIN32
+ stopItWin=1;
+ #endif
+ stopIt=true;
+ readThread.stop();
+ readThread.exit();
+ readThread.wait();
+ writeThread.stop();
+ writeThread.exit();
+ writeThread.wait();
+ exit(0);
+ wait();
+ //else cash without this disconnect
+ //disconnect(&readThread);
+ //disconnect(&writeThread);
+ #ifndef Q_OS_UNIX
+ if(PSecurityD!=NULL)
+ {
+ //free(PSecurityD);
+ PSecurityD=NULL;
+ }
+ if(dacl!=NULL)
+ {
+ //free(dacl);
+ dacl=NULL;
+ }
+ #endif
+}
+
+void TransferThreadAsync::run()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start: "+std::to_string((int64_t)QThread::currentThreadId()));
+ moveToThread(this);
+ exec();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stop: "+std::to_string((int64_t)QThread::currentThreadId()));
+}
+
+void TransferThreadAsync::startTheTransfer()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start"));
+ if(transferId==0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't start transfert if transferId==0"));
+ return;
+ }
+ startTransferTime.restart();
+ haveTransferTime=true;
+ emit internalTryStartTheTransfer();
+}
+
+void TransferThreadAsync::internalStartTheTransfer()
+{
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(QThread::currentThread()!=this)
+ abort();
+ #endif
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start"));
+ if(transfer_stat==TransferStat_Idle)
+ {
+ if(mode!=Ultracopier::Move)
+ {
+ /// \bug can pass here because in case of direct move on same media, it return to idle stat directly
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't start transfert at idle"));
+ }
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start"));
+ 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_Critical,"["+std::to_string(id)+("] can't start transfert at Transfer"));
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start"));
+ if(canStartTransfer)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] canStartTransfer is already set to true"));
+ // call for second time, first time was not ready, if blocked in preop why?
+ //ifCanStartTransfer();
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] check how start the transfer"));
+ canStartTransfer=true;
+
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start directly the transfer"));
+ ifCanStartTransfer();
+}
+
+bool TransferThreadAsync::setFiles(const INTERNALTYPEPATH& source, const int64_t &size, const INTERNALTYPEPATH& destination, const Ultracopier::CopyMode &mode)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start, source: "+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination));
+ if(transfer_stat!=TransferStat_Idle)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+TransferThread::internalStringTostring(source)+
+ ", destination: "+TransferThread::internalStringTostring(destination));
+ return false;
+ }
+ if(!isRunning())
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] The current thread is not running");
+ if(!TransferThread::setFiles(source,size,destination,mode))
+ return false;
+ transferProgression=0;
+ //transferSize=0;//set by ListThread at currentTransferThread->transferSize=currentActionToDoTransfer.size; very important to do parallel small file
+ sended_state_readStopped=false;
+ readIsClosedVariable=false;
+ writeIsClosedVariable=false;
+ readIsOpenVariable=false;
+ writeIsOpenVariable=false;
+ realMove=false;
+ return true;
+}
+
+void TransferThreadAsync::resetExtraVariable()
+{
+ transferProgression=0;
+ readIsOpenVariable=false;
+ writeIsOpenVariable=false;
+ TransferThread::resetExtraVariable();
+}
+
+bool TransferThreadAsync::remainFileOpen() const
+{
+ return remainSourceOpen() || remainDestinationOpen();
+}
+
+bool TransferThreadAsync::remainSourceOpen() const
+{
+ return !readIsClosedVariable;
+}
+
+bool TransferThreadAsync::remainDestinationOpen() const
+{
+ return !writeIsClosedVariable;
+}
+
+void TransferThreadAsync::preOperation()
+{
+ if(transfer_stat!=TransferStat_PreOperation)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+
+ TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination)
+ +" transfer_stat: "+std::to_string(transfer_stat));
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start: source: "+
+ TransferThread::internalStringTostring(source)+", destination: "+TransferThread::internalStringTostring(destination));
+ haveStartTime=true;
+ needRemove=false;
+ if(isSame())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] is same "+
+ TransferThread::internalStringTostring(source)+" than "+TransferThread::internalStringTostring(destination));
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after is same");
+ /*Why this code?
+ if(readError)
+ {
+ readError=false;
+ return;
+ }*/
+ 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));
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after destination exists");
+ /*Why this code?
+ if(readError)
+ {
+ readError=false;
+ return;
+ }*/
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] before keep date");
+ #ifdef Q_OS_WIN32
+ doTheDateTransfer=!is_symlink(source);
+ #else
+ doTheDateTransfer=true;
+ #endif
+ if(doTheDateTransfer)
+ {
+ doTheDateTransfer=readSourceFileDateTime(source);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after keep date");
+ #ifdef Q_OS_MAC
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] read the source time: "+std::to_string(butime.modtime));
+ #endif
+ if(!doTheDateTransfer)
+ {
+ //will have the real error at source open
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] unable to read the source time: "+TransferThread::internalStringTostring(source));
+ if(keepDate)
+ {
+ emit errorOnFile(source,tr("Wrong modification date or unable to get it, you can disable time transfer to do it").toStdString());
+ return;
+ }
+ }
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] before perm");
+ if(doRightTransfer)
+ havePermission=readSourceFilePermissions(source);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after perm");
+ transfer_stat=TransferStat_WaitForTheTransfer;
+ ifCanStartTransfer();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit preOperationStopped()");
+ emit preOperationStopped();
+}
+
+void TransferThreadAsync::postOperation()
+{
+ doFilePostOperation();
+}
+
+#ifdef Q_OS_WIN32
+DWORD CALLBACK progressRoutine(
+ LARGE_INTEGER TotalFileSize,
+ LARGE_INTEGER TotalBytesTransferred,
+ LARGE_INTEGER StreamSize,
+ LARGE_INTEGER StreamBytesTransferred,
+ DWORD dwStreamNumber,
+ DWORD dwCallbackReason,
+ HANDLE hSourceFile,
+ HANDLE hDestinationFile,
+ LPVOID lpData
+)
+{
+ (void)TotalFileSize;
+ (void)TotalBytesTransferred;
+ (void)StreamSize;
+ (void)StreamBytesTransferred;
+ (void)dwStreamNumber;
+ (void)dwCallbackReason;
+ (void)hSourceFile;
+ (void)hDestinationFile;
+ (void)lpData;
+
+ static_cast<TransferThreadAsync *>(lpData)->setProgression(TotalBytesTransferred.QuadPart,TotalFileSize.QuadPart);
+ return PROGRESS_CONTINUE;
+}
+
+void TransferThreadAsync::setProgression(const uint64_t &pos, const uint64_t &size)
+{
+ if(transfer_stat==TransferStat_Transfer)
+ {
+ if(pos==size)
+ emit readStopped();
+ transferProgression=pos;
+ }
+}
+#endif
+
+/// \brief set buffer
+void TransferThreadAsync::setBuffer(const bool buffer)
+{
+ writeThread.buffer=buffer;
+}
+
+void TransferThreadAsync::ifCanStartTransfer()
+{
+ realMove=false;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start "+internalStringTostring(source)+"->"+internalStringTostring(destination));
+ if(transfer_stat!=TransferStat_WaitForTheTransfer /*wait preoperation*/ || !canStartTransfer/*wait start call*/)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"["+std::to_string(id)+
+ "] transfer_stat:"+std::to_string(transfer_stat)+
+ ", canStartTransfer: "+std::to_string(canStartTransfer));
+ //preOperationStopped();//tiger to seam maybe is can be started, maybe this generate a bug
+ return;
+ }
+ transfer_stat=TransferStat_Transfer;
+
+ #ifdef WIDESTRING
+ const size_t destinationIndex=destination.rfind(L'/');
+ if(destinationIndex!=std::string::npos && destinationIndex<destination.size())
+ {
+ const std::wstring &path=destination.substr(0,destinationIndex);
+ if(!is_dir(path))
+ if(!TransferThread::mkpath(path))
+ {
+ #ifdef Q_OS_WIN32
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to create the destination folder: "+internalStringTostring(path)+" "+TransferThread::GetLastErrorStdStr());
+ emit errorOnFile(destination,tr("Unable to create the destination folder: ").toStdString()+TransferThread::GetLastErrorStdStr());
+ #else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to create the destination folder: "+internalStringTostring(path)+" "+std::to_string(errno));
+ emit errorOnFile(destination,tr("Unable to create the destination folder, errno: %1").arg(QString::number(errno)).toStdString());
+ #endif
+ return;
+ }
+ }
+ #else
+ const size_t destinationIndex=destination.rfind('/');
+ if(destinationIndex!=std::string::npos && destinationIndex<destination.size())
+ {
+ const std::string &path=destination.substr(0,destinationIndex);
+ if(!is_dir(path))
+ if(!TransferThread::mkpath(path))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to create the destination folder: "+path);
+ #ifdef Q_OS_WIN32
+ emit errorOnFile(destination,tr("Unable to create the destination folder: ")+TransferThread::GetLastErrorStdStr());
+ #else
+ emit errorOnFile(destination,tr("Unable to create the destination folder, errno: %1").arg(QString::number(errno)).toStdString());
+ #endif
+ return;
+ }
+ }
+ #endif
+
+ /* http://www.flexhex.com/docs/articles/hard-links.phtml
+ * Do here the smblink logic
+ * Under windows: BOOLEAN CreateSymbolicLinkA(
+ LPCSTR lpSymlinkFileName,
+ LPCSTR lpTargetFileName,
+ DWORD dwFlags
+ unix: int symlink(const char *target, const char *linkpath);
+);
+
+ */
+
+ emit pushStat(transfer_stat,transferId);
+ realMove=(mode==Ultracopier::Move && driveManagement.isSameDrive(
+ internalStringTostring(source),
+ internalStringTostring(destination)
+ ));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start copy");
+ needRemove=true;
+ bool successFull=false;
+ readError=false;
+ writeError=false;
+ if(realMove)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start real move");
+ successFull=TransferThread::rename(source,destination);
+ #ifdef Q_OS_UNIX
+ if(!successFull && errno==18)
+ {
+ //try full move
+ realMove=false;
+ openRead(source,mode);
+ openWrite(destination,0);
+ return;
+ }
+ #endif
+ }
+ else
+ {
+ #ifdef Q_OS_WIN32
+ bool isJunction=false;
+ bool isSymlink=false;
+ WIN32_FILE_ATTRIBUTE_DATA fileInfo;
+ BOOL r = GetFileAttributesExW(TransferThread::toFinalPath(source).c_str(), GetFileExInfoStandard, &fileInfo);
+ if(r != FALSE)
+ {
+ /*isJunction = fileInfo.dwFileAttributes != INVALID_FILE_ATTRIBUTES &&
+ (fileInfo.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT);*/
+ isSymlink = fileInfo.dwFileAttributes != INVALID_FILE_ATTRIBUTES &&
+ (fileInfo.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT);
+ }
+ if(isSymlink)
+ {
+ BYTE buf[MAXIMUM_REPARSE_DATA_BUFFER_SIZE];
+ REPARSE_DATA_BUFFER& ReparseBuffer = (REPARSE_DATA_BUFFER&)buf;
+ DWORD dwRet=0;
+ HANDLE hDir = ::CreateFile(TransferThread::toFinalPath(source).c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_BACKUP_SEMANTICS, NULL);
+ if (hDir != INVALID_HANDLE_VALUE)
+ {
+ BOOL ioc = ::DeviceIoControl(hDir, FSCTL_GET_REPARSE_POINT, NULL, 0, &ReparseBuffer,
+ MAXIMUM_REPARSE_DATA_BUFFER_SIZE, &dwRet, NULL);
+ ::CloseHandle(hDir);
+ if(ioc!=FALSE)
+ {
+ if(ReparseBuffer.ReparseTag == IO_REPARSE_TAG_MOUNT_POINT)
+ {
+ //printf("%S\n",ReparseBuffer.MountPointReparseBuffer.PathBuffer);
+ isJunction=true;
+ }
+ else
+ {
+ //printf("%S\n",ReparseBuffer.SymbolicLinkReparseBuffer.PathBuffer);
+ }
+ }
+ else
+ {
+ const std::string &strError=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stop copy in error: "+
+ GetLastErrorStdStr()+" "+TransferThread::internalStringTostring(source)+"->"+TransferThread::internalStringTostring(destination)+
+ " "+strError
+ );
+ readError=true;
+ writeError=false;
+ emit errorOnFile(source,strError);
+ return;
+ }
+ }
+ else
+ {
+ const std::string &strError=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stop copy in error: "+
+ GetLastErrorStdStr()+" "+TransferThread::internalStringTostring(source)+"->"+TransferThread::internalStringTostring(destination)+
+ " "+strError
+ );
+ readError=true;
+ writeError=false;
+ emit errorOnFile(source,strError);
+ return;
+ }
+ if(isJunction)//junction
+ {
+ std::wstring cleanPath(ReparseBuffer.MountPointReparseBuffer.PathBuffer);
+ if(cleanPath.substr(0,4)==L"\\??\\")
+ cleanPath=cleanPath.substr(4);
+ successFull=TransferThreadAsync::mkJunction(
+ TransferThread::toFinalPath(destination).c_str(),
+ cleanPath.c_str()
+ );
+ if(successFull==FALSE)
+ {
+ const std::string &strError=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stop copy in error: "+
+ GetLastErrorStdStr()+" "+TransferThread::internalStringTostring(source)+"->"+TransferThread::internalStringTostring(destination)+
+ " "+strError
+ );
+ readError=true;
+ writeError=true;
+ emit errorOnFile(destination,strError);
+ }
+ }
+ else//symlink or symlinkD
+ {
+ 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)
+ {
+ const std::string &strError=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stop copy in error: "+
+ GetLastErrorStdStr()+" "+TransferThread::internalStringTostring(source)+"->"+TransferThread::internalStringTostring(destination)+
+ " "+strError
+ );
+ readError=true;
+ writeError=true;
+ emit errorOnFile(destination,strError);
+ }
+ }
+ }
+ else
+ #else
+ if(TransferThread::is_symlink(source))
+ {
+ realMove=true;
+ bool isFileOrSymlink=false;
+ {
+ struct stat p_statbuf;
+ if (lstat(TransferThread::internalStringTostring(destination).c_str(), &p_statbuf) < 0)
+ {}
+ else if (S_ISLNK(p_statbuf.st_mode))
+ isFileOrSymlink=true;
+ else if (S_ISREG(p_statbuf.st_mode))
+ isFileOrSymlink=true;
+ }
+ if(isFileOrSymlink)
+ if(!unlink(destination))
+ {
+ const int terr=errno;
+ if(terr!=2)
+ {
+ const std::string &strError=strerror(terr);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stop copy in error "+
+ TransferThread::internalStringTostring(source)+"->"+TransferThread::internalStringTostring(destination)+
+ " "+strError+"("+std::to_string(terr)+")"
+ );
+ readError=false;
+ writeError=true;
+ emit errorOnFile(destination,strError);
+ return;
+ }
+ }
+ char buf[PATH_MAX];
+ const ssize_t s=readlink(TransferThread::internalStringTostring(source).c_str(),buf,sizeof(buf));
+ buf[s]=0x00;
+ if(s<0)
+ {
+ const int terr=errno;
+ const std::string &strError=strerror(terr);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stop copy in error "+
+ TransferThread::internalStringTostring(source)+"->"+TransferThread::internalStringTostring(destination)+
+ " "+strError+"("+std::to_string(terr)+")"
+ );
+ readError=true;
+ writeError=false;
+ emit errorOnFile(source,strError);
+ return;
+ }
+ else
+ {
+ if(symlink(buf,TransferThread::internalStringTostring(destination).c_str())!=0)
+ {
+ const int terr=errno;
+ const std::string &strError=strerror(terr);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stop copy in error "+
+ buf+"->"+TransferThread::internalStringTostring(destination)+
+ " "+strError+"("+std::to_string(terr)+")"
+ );
+ readError=true;
+ writeError=false;
+ emit errorOnFile(destination,strError);
+ return;
+ }
+ }
+ successFull=true;
+ }
+ else
+ #endif
+ {
+ #ifdef Q_OS_WIN32
+ if(native_copy)
+ {
+ 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)
+ {
+ const std::string &strError=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stop copy in error: "+
+ GetLastErrorStdStr()+" "+TransferThread::internalStringTostring(source)+"->"+TransferThread::internalStringTostring(destination)+
+ " "+strError
+ );
+ readError=true;
+ writeError=true;
+ emit errorOnFile(destination,strError);
+ }
+ }
+ else
+ #endif
+ {
+ openRead(source,mode);
+ openWrite(destination,0);
+ return;
+ }
+ }
+ }
+ if(!successFull)
+ {
+ #ifdef Q_OS_WIN32
+ const std::string &strError=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stop copy in error: "+
+ GetLastErrorStdStr()+" "+TransferThread::internalStringTostring(source)+"->"+TransferThread::internalStringTostring(destination)+
+ " "+strError
+ );
+ #else
+ const int terr=errno;
+ const std::string &strError=strerror(terr);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stop copy in error "+
+ TransferThread::internalStringTostring(source)+"->"+TransferThread::internalStringTostring(destination)+
+ " "+strError+"("+std::to_string(terr)+")"
+ );
+ #endif
+ if(stopIt)
+ {
+ if(!source.empty())
+ if(exists(source) && source!=destination)
+ unlink(destination);
+ resetExtraVariable();
+ return;//and reset?
+ }
+ #ifdef Q_OS_WIN32
+ readError=true;
+ writeError=true;
+ emit errorOnFile(destination,strError);
+ #else
+ if(readError)
+ emit errorOnFile(source,strError);
+ else
+ emit errorOnFile(destination,strError);
+ #endif
+ return;
+ }
+ readIsClosedVariable=true;
+ writeIsClosedVariable=true;
+ checkIfAllIsClosedAndDoOperations();
+}
+
+void TransferThreadAsync::checkIfAllIsClosedAndDoOperations()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stop copy");
+ if((readError || writeError) && !needSkip && !stopIt)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] resolve error before progress");
+ return;
+ }
+ if(remainFileOpen())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] remainFileOpen()");
+ return;
+ }
+ if(!source.empty() && needRemove && (stopIt || needSkip))
+ if(is_file(source) && source!=destination)
+ unlink(destination);
+ transfer_stat=TransferStat_Idle;
+
+ transferSize=readThread.getLastGoodPosition();
+
+ if(mode==Ultracopier::Move && !realMove)
+ if(exists(destination))
+ if(!unlink(source))
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] move and unable to remove: "+
+ TransferThread::internalStringTostring(source)+
+ #ifdef Q_OS_WIN32
+ GetLastErrorStdStr()
+ #else
+ strerror(errno)
+ #endif
+ );
+ transfer_stat=TransferStat_PostTransfer;
+ emit pushStat(transfer_stat,transferId);
+ transfer_stat=TransferStat_PostOperation;
+ emit pushStat(transfer_stat,transferId);
+ doFilePostOperation();
+
+ source.clear();
+ destination.clear();
+ resetExtraVariable();
+ //don't need remove because have correctly finish (it's not in: have started)
+ needRemove=false;
+ needSkip=false;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit postOperationStopped() transfer_stat=TransferStat_Idle");
+ transfer_stat=TransferStat_Idle;
+ emit postOperationStopped();
+}
+
+//stop the current copy
+void TransferThreadAsync::stop()
+{
+ #ifdef Q_OS_WIN32
+ stopItWin=1;
+ #endif
+ stopIt=true;
+ haveStartTime=false;
+ if(transfer_stat==TransferStat_Idle)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] transfer_stat==TransferStat_Idle");
+ return;
+ }
+ if(transfer_stat==TransferStat_PreOperation)
+ {
+ transfer_stat=TransferStat_Idle;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] transfer_stat==TransferStat_PreOperation");
+ return;
+ }
+ if(realMove)
+ {
+ if(readError || writeError)
+ transfer_stat=TransferStat_Idle;
+ return;
+ }
+ readThread.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()
+{
+ #ifdef Q_OS_WIN32
+ stopItWin=1;
+ #endif
+ stopIt=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start with stat: "+std::to_string(transfer_stat));
+ switch(static_cast<TransferStat>(transfer_stat))
+ {
+ case TransferStat_WaitForTheTransfer:
+ //needRemove=true;never put that's here, can product destruction of the file
+ case TransferStat_PreOperation:
+ if(needSkip)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] skip already in progress");
+ return;
+ }
+ needSkip=true;
+ //check if all is source and destination is closed
+ if(remainFileOpen())
+ {
+ if(remainSourceOpen())
+ readThread.stop();
+ if(remainDestinationOpen())
+ writeThread.stop();
+ }
+ else // wait nothing, just quit
+ {
+ transfer_stat=TransferStat_PostOperation;
+ emit internalStartPostOperation();
+ }
+ resetExtraVariable();
+ break;
+ case TransferStat_Transfer:
+ if(needSkip)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] skip already in progress");
+ return;
+ }
+ //needRemove=true;never put that's here, can product destruction of the file
+ needSkip=true;
+ if(realMove)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+
+ "] Do the direct FS fake close, realMove: "+std::to_string(realMove));
+ /*readThread.fakeReadIsStarted();
+ writeThread.fakeWriteIsStarted();
+ readThread.fakeReadIsStopped();
+ writeThread.fakeWriteIsStopped();*/
+ emit readStopped();
+ emit postOperationStopped();
+ transfer_stat=TransferStat_Idle;
+ emit pushStat(transfer_stat,transferId);
+ return;
+ }
+ writeThread.flushBuffer();
+ if(remainFileOpen())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] remainFileOpen");
+ if(remainSourceOpen())
+ readThread.stop();
+ if(remainDestinationOpen())
+ writeThread.stop();
+ }
+ else // wait nothing, just quit
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] wait nothing, just quit");
+ transfer_stat=TransferStat_PostOperation;
+ emit internalStartPostOperation();
+ }
+ if(!source.empty() && needRemove)
+ if(exists(source) && source!=destination)
+ unlink(destination);
+ break;
+ case TransferStat_PostTransfer:
+ if(needSkip)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] skip already in progress");
+ return;
+ }
+ //needRemove=true;never put that's here, can product destruction of the file
+ needSkip=true;
+ if(realMove)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] Do the direct FS fake close, realMove: "+std::to_string(realMove));
+ readThread.fakeReadIsStarted();
+ writeThread.fakeWriteIsStarted();
+ readThread.fakeReadIsStopped();
+ writeThread.fakeWriteIsStopped();
+ return;
+ }
+ writeThread.flushBuffer();
+ if(remainFileOpen())
+ {
+ if(remainSourceOpen())
+ readThread.stop();
+ if(remainDestinationOpen())
+ writeThread.stop();
+ }
+ else // wait nothing, just quit
+ {
+ transfer_stat=TransferStat_PostOperation;
+ emit internalStartPostOperation();
+ }
+ break;
+ case TransferStat_PostOperation:
+ break;
+ default:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] can skip in this state: "+std::to_string(transfer_stat));
+ return;
+ }
+ //can be reset
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transfer_stat=TransferStat_Idle");
+ transfer_stat=TransferStat_Idle;
+ //emit to manager with List Thread
+ emit postOperationStopped();
+}
+
+//return info about the copied size
+int64_t TransferThreadAsync::copiedSize()
+{
+ switch(static_cast<TransferStat>(transfer_stat))
+ {
+ case TransferStat_Transfer:
+ case TransferStat_PostOperation:
+ case TransferStat_PostTransfer:
+ return (readThread.getLastGoodPosition()+writeThread.getLastGoodPosition())/2;
+ default:
+ return 0;
+ }
+}
+
+//retry after error
+void TransferThreadAsync::putAtBottom()
+{
+ emit tryPutAtBottom();
+}
+
+#ifdef ULTRACOPIER_PLUGIN_RSYNC
+/// \brief set rsync
+void TransferThreadAsync::setRsync(const bool rsync)
+{
+ this->rsync=rsync;
+}
+#endif
+
+#ifdef ULTRACOPIER_PLUGIN_DEBUG
+//to set the id
+void TransferThreadAsync::setId(int id)
+{
+ TransferThread::setId(id);
+}
+
+char TransferThreadAsync::readingLetter() const
+{
+ switch(static_cast<TransferStat>(readThread.status))
+ {
+ case TransferStat_Idle:
+ return '_';
+ break;
+ case TransferStat_PreOperation:
+ return 'I';
+ break;
+ case TransferStat_WaitForTheTransfer:
+ return 'W';
+ break;
+ case TransferStat_Transfer:
+ return 'C';
+ break;
+ case TransferStat_PostTransfer:
+ return 'R';
+ break;
+ case TransferStat_PostOperation:
+ return 'P';
+ break;
+ default:
+ return '?';
+ }
+}
+
+char TransferThreadAsync::writingLetter() const
+{
+ switch(static_cast<TransferStat>(writeThread.status))
+ {
+ case TransferStat_Idle:
+ return '_';
+ break;
+ case TransferStat_PreOperation:
+ return 'I';
+ break;
+ case TransferStat_WaitForTheTransfer:
+ return 'W';
+ break;
+ case TransferStat_Transfer:
+ return 'C';
+ break;
+ case TransferStat_PostTransfer:
+ return 'R';
+ break;
+ case TransferStat_PostOperation:
+ return 'P';
+ break;
+ default:
+ return '?';
+ }
+}
+#endif
+
+//not copied size, ...
+uint64_t TransferThreadAsync::realByteTransfered() const
+{
+ const uint64_t &l=readThread.getLastGoodPosition();
+ switch(static_cast<TransferStat>(transfer_stat))
+ {
+ case TransferStat_Transfer:
+ case TransferStat_PostTransfer:
+ return l;
+ case TransferStat_PostOperation:
+ return l;
+ default:
+ return 0;
+ }
+}
+
+//first is read, second is write
+std::pair<uint64_t, uint64_t> TransferThreadAsync::progression() const
+{
+ std::pair<uint64_t,uint64_t> returnVar;
+ switch(static_cast<TransferStat>(transfer_stat))
+ {
+ case TransferStat_Transfer:
+ 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;
+ case TransferStat_PostTransfer:
+ returnVar.first=transferSize;
+ returnVar.second=transferSize;
+ /*if(returnVar.first<returnVar.second)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+QStringLiteral("] read is smaller than write"));*/
+ break;
+ case TransferStat_PostOperation:
+ returnVar.first=transferSize;
+ returnVar.second=transferSize;
+ break;
+ default:
+ returnVar.first=0;
+ returnVar.second=0;
+ }
+ return returnVar;
+}
+
+void TransferThreadAsync::setFileExistsAction(const FileExistsAction &action)
+{
+ if(transfer_stat!=TransferStat_PreOperation)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+
+ TransferThread::internalStringTostring(source)+(", destination: ")+TransferThread::internalStringTostring(destination));
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] action: ")+std::to_string(action));
+ if(action!=FileExists_Rename)
+ fileExistsAction = action;
+ else
+ {
+ //always rename pass here
+ fileExistsAction = action;
+ alwaysDoFileExistsAction=action;
+ }
+ if(action==FileExists_Skip)
+ {
+ skip();
+ return;
+ }
+ resetExtraVariable();
+ emit internalStartPreOperation();
+}
+
+#ifndef Q_OS_WIN32
+/*bool TransferThreadAsync::copy(const char *from,const char *to)
+{
+ transferProgression=0;
+ int fd_to, fd_from;
+ char buf[4096];
+ ssize_t nread;
+ int saved_errno;
+
+ fd_from = open(from, O_RDONLY);
+ if (fd_from < 0)
+ {
+ readError=true;
+ return false;
+ }
+ #ifdef Q_OS_LINUX
+ posix_fadvise(fd_from, 0, 0, POSIX_FADV_WILLNEED);
+ posix_fadvise(fd_from, 0, 0, POSIX_FADV_SEQUENTIAL);
+ posix_fadvise(fd_from, 0, 0, POSIX_FADV_NOREUSE);
+ #endif
+
+ // | O_DSYNC slow down
+ // | O_SYNC slow down
+ // O_DIRECT Invalid argument
+ int flags=O_WRONLY | O_CREAT;
+ //if(!buffer) flags|=??;
+ fd_to = open(to, flags, 0666);
+ if (fd_to < 0)
+ {
+ writeError=true;
+ goto out_error;
+ }
+ #ifdef Q_OS_LINUX
+ posix_fadvise(fd_to, 0, 0, POSIX_FADV_WILLNEED);
+ posix_fadvise(fd_to, 0, 0, POSIX_FADV_SEQUENTIAL);
+ posix_fadvise(fd_to, 0, 0, POSIX_FADV_NOREUSE);
+ #endif
+
+ while (nread = read(fd_from, buf, sizeof buf), nread > 0)
+ {
+ if(stopIt)
+ {
+ close(fd_to);
+ close(fd_from);
+ return false;
+ }
+ char *out_ptr = buf;
+ ssize_t nwritten;
+
+ do {
+ nwritten = write(fd_to, out_ptr, nread);
+ if(stopIt)
+ {
+ close(fd_to);
+ close(fd_from);
+ return false;
+ }
+
+ if (nwritten >= 0)
+ {
+ nread -= nwritten;
+ out_ptr += nwritten;
+ transferProgression += nwritten;
+ }
+ else if (errno != EINTR)
+ {
+ writeError=true;
+ goto out_error;
+ }
+ } while (nread > 0);
+ }
+
+ if (nread == 0)
+ {
+ ftruncate(fd_to,transferProgression);
+ if (close(fd_to) < 0)
+ {
+ fd_to = -1;
+ readError=true;
+ goto out_error;
+ }
+ if (close(fd_from) < 0)
+ return -1;
+ if(stopIt)
+ return -1;
+
+ emit readStopped();
+ return true;
+ }
+
+ out_error:
+ saved_errno = errno;
+
+ close(fd_from);
+ if (fd_to >= 0)
+ close(fd_to);
+
+ errno = saved_errno;
+ return false;
+}*/
+#endif
+
+//implemente to connect async
+void TransferThreadAsync::read_error()
+{
+ if(readError)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] already in read error!");
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
+ fileContentError = true;
+ readError = true;
+ //writeIsReadyVariable = false;//wrong because write can be ready here
+ if(!writeError)//already display error for the write
+ emit errorOnFile(source,readThread.errorString());
+}
+
+void TransferThreadAsync::read_readIsStopped()
+{
+ if(realMove)
+ return;
+ if(!sended_state_readStopped)
+ {
+ sended_state_readStopped=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit readIsStopped()");
+ emit readStopped();
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] drop dual read stopped");
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
+ canStartTransfer=false;
+ //check here if need start checksuming or not
+ transfer_stat=TransferStat_PostTransfer;
+ emit pushStat(transfer_stat,transferId);
+}
+
+void TransferThreadAsync::read_closed()
+{
+ if(realMove)
+ return;
+ if(readIsClosedVariable)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] double event dropped"));
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
+ readIsClosedVariable=true;
+ checkIfAllIsClosedAndDoOperations();
+}
+
+void TransferThreadAsync::write_error()
+{
+ if(writeError)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] already in write error!");
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
+ fileContentError = true;
+ writeError = true;
+ if(!readError)//already display error for the read
+ emit errorOnFile(destination,writeThread.errorString());
+}
+
+void TransferThreadAsync::write_closed()
+{
+ if(realMove)
+ return;
+ if(writeIsClosedVariable)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] double event dropped");
+ return;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
+ writeIsClosedVariable=true;
+ if(stopIt && needRemove && source!=destination)
+ {
+ if(is_file(source))
+ unlink(destination);
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] try destroy the destination when the source don't exists"));
+ }
+ checkIfAllIsClosedAndDoOperations();
+}
+
+#ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+
+
+//set block size in Bytes for speed limitation
+bool TransferThreadAsync::setBlockSize(const unsigned int blockSize)
+{
+ bool read=readThread.setBlockSize(blockSize);
+ bool write=writeThread.setBlockSize(blockSize);
+ return (read && write);
+}
+
+//set the current max speed in KB/s
+void TransferThreadAsync::setMultiForBigSpeed(const int &multiForBigSpeed)
+{
+ readThread.setMultiForBigSpeed(multiForBigSpeed);
+ writeThread.setMultiForBigSpeed(multiForBigSpeed);
+}
+
+void TransferThreadAsync::timeOfTheBlockCopyFinished()
+{
+ readThread.timeOfTheBlockCopyFinished();
+ writeThread.timeOfTheBlockCopyFinished();
+}
+#endif
+
+//pause the copy
+void TransferThreadAsync::pause()
+{
+ //only pause/resume during the transfer of file data
+ //from transfer_stat!=TransferStat_Idle because it resume at wrong order
+ if(transfer_stat!=TransferStat_Transfer && transfer_stat!=TransferStat_PostTransfer)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] wrong stat to put in pause");
+ return;
+ }
+ haveStartTime=false;
+ readThread.pause();
+ writeThread.pause();
+}
+
+//resume the copy
+void TransferThreadAsync::resume()
+{
+ //only pause/resume during the transfer of file data
+ //from transfer_stat!=TransferStat_Idle because it resume at wrong order
+ if(transfer_stat!=TransferStat_Transfer && transfer_stat!=TransferStat_PostTransfer)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] wrong stat to put in pause");
+ return;
+ }
+ readThread.resume();
+ writeThread.resume();
+}
+
+//when both is ready, startRead()
+void TransferThreadAsync::read_opened()
+{
+ if(readIsOpenVariable)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] already readIsOpenVariable=true");
+ return;
+ }
+ readIsOpenVariable=true;
+ transferSize=readThread.size();
+ if(writeIsOpenVariable)
+ readThread.startRead();
+}
+
+void TransferThreadAsync::write_opened()
+{
+ if(writeIsOpenVariable)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] already writeIsOpenVariable=true");
+ return;
+ }
+ writeIsOpenVariable=true;
+ if(readIsOpenVariable)
+ readThread.startRead();
+}
+
+#ifdef Q_OS_WIN32
+bool TransferThreadAsync::mkJunction(LPCWSTR szJunction, LPCWSTR szPath)
+{
+ BYTE buf[sizeof(REPARSE_DATA_BUFFER) + MAX_PATH * sizeof(WCHAR)];
+ REPARSE_DATA_BUFFER& ReparseBuffer = (REPARSE_DATA_BUFFER&)buf;
+
+ if (!::CreateDirectoryW(szJunction, NULL))
+ return false;
+ HANDLE hDir = ::CreateFileW(szJunction, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_BACKUP_SEMANTICS, NULL);
+ if (hDir == INVALID_HANDLE_VALUE)
+ return false;
+
+ memset(buf, 0, sizeof(buf));
+ ReparseBuffer.ReparseTag = IO_REPARSE_TAG_MOUNT_POINT;
+ int len = wcslen(szPath)+1;
+ ReparseBuffer.MountPointReparseBuffer.PrintNameOffset = (len--) * sizeof(WCHAR);
+ ReparseBuffer.MountPointReparseBuffer.SubstituteNameLength = len * sizeof(WCHAR);
+ ReparseBuffer.ReparseDataLength = ReparseBuffer.MountPointReparseBuffer.SubstituteNameLength + 12;
+ wcscpy(ReparseBuffer.MountPointReparseBuffer.PathBuffer, szPath);
+
+ DWORD dwRet;
+ if (!::DeviceIoControl(hDir, FSCTL_SET_REPARSE_POINT, &ReparseBuffer,
+ ReparseBuffer.ReparseDataLength+REPARSE_MOUNTPOINT_HEADER_SIZE, NULL, 0, &dwRet, NULL))
+ {
+ ::CloseHandle(hDir);
+ ::RemoveDirectoryW(szJunction);
+ return false;
+ }
+
+ ::CloseHandle(hDir);
+ return true;
+}
+#endif
+
+void TransferThreadAsync::setOsSpecFlags(bool os_spec_flags)
+{
+ readThread.setOsSpecFlags(os_spec_flags);
+ writeThread.setOsSpecFlags(os_spec_flags);
+}
+
+void TransferThreadAsync::setNativeCopy(bool native_copy)
+{
+ this->native_copy=native_copy;
+}
diff --git a/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.h b/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.h
new file mode 100755
index 0000000..83ddb91
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.h
@@ -0,0 +1,153 @@
+/** \file TransferThreadAsync.h
+\brief Thread changed to manage the inode operation, the signals, canceling, pre and post operations
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#include <QObject>
+#include <QTime>
+
+#include <regex>
+#include <vector>
+#include <string>
+#include <utility>
+#include <dirent.h>
+
+//defore the next define
+#include "../CopyEngineUltracopier-SpecVariable.h"
+
+#include "ReadThread.h"
+#include "WriteThread.h"
+
+#ifdef Q_OS_UNIX
+ #include <utime.h>
+ #include <time.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
+#endif
+#ifdef Q_OS_WIN32
+ #ifdef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
+ #include <utime.h>
+ #include <time.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #endif
+#endif
+
+#ifdef Q_OS_WIN32
+#include <windows.h>
+#endif
+
+#include "../TransferThread.h"
+#include "../Environment.h"
+#include "../DriveManagement.h"
+#include "../StructEnumDefinition_CopyEngine.h"
+
+#ifndef TransferThreadAsync_H
+#define TransferThreadAsync_H
+
+/// \brief Thread changed to manage the inode operation, the signals, canceling, pre and post operations
+class TransferThreadAsync : public TransferThread
+{
+ Q_OBJECT
+public:
+ explicit TransferThreadAsync();
+ ~TransferThreadAsync();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ /// \brief to set the id
+ void setId(int id);
+ /// \brief get the reading letter
+ char readingLetter() const;
+ /// \brief get the writing letter
+ char writingLetter() const;
+ #endif
+
+ //not copied size, ...
+ uint64_t realByteTransfered() const;
+ std::pair<uint64_t, uint64_t> progression() const;
+ /** \brief to set the speed limitation
+ * -1 if not able, 0 if disabled */
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ //set block size in Bytes for speed limitation
+ bool setBlockSize(const unsigned int blockSize);
+ void setMultiForBigSpeed(const int &multiForBigSpeed);
+ void timeOfTheBlockCopyFinished();
+ void setOsSpecFlags(bool os_spec_flags);
+ void setNativeCopy(bool native_copy);
+ #endif
+ /// \brief pause the copy
+ void pause();
+ /// \brief resume the copy
+ void resume();
+
+ bool haveStartTime;
+ ReadThread readThread;
+ WriteThread writeThread;
+ bool native_copy;
+ void setBuffer(const bool buffer);
+
+ #ifdef Q_OS_WIN32
+ static bool mkJunction(LPCWSTR szJunction, LPCWSTR szPath);
+ #endif
+protected:
+ void run();
+private slots:
+ void preOperation();
+ void postOperation();
+ //force into the right thread
+ void internalStartTheTransfer();
+
+ //implemente to connect async
+ void read_error();
+ void read_readIsStopped();
+ void read_closed();
+ void write_error();
+ void write_closed();
+ void read_opened();
+ void write_opened();
+signals:
+ //internal signal
+ void internalStartResumeAfterErrorAndSeek() const;
+ void internalStartPostOperation() const;
+ //async due to tread conflict on from, if(from>=0) {do something, abort() -> on abort from =-1}
+ 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);
+public slots:
+ /// \brief to start the transfer of data
+ void startTheTransfer();
+ /// \brief stop the copy
+ 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
+ void putAtBottom();
+ /// \brief to set files to transfer
+ bool setFiles(const INTERNALTYPEPATH &source, const int64_t &size, const INTERNALTYPEPATH &destination, const Ultracopier::CopyMode &mode);
+ /// \brief to set file exists action to do
+ void setFileExistsAction(const FileExistsAction &action);
+ #ifdef Q_OS_WIN32
+ void setProgression(const uint64_t &pos,const uint64_t &size);
+ #endif
+private:
+ //ready = open + ready to operation (no error to resolv)
+ bool transferIsReadyVariable;
+ uint64_t transferProgression;
+ bool sended_state_readStopped;
+ bool readIsClosedVariable;
+ bool writeIsClosedVariable;
+ bool readIsOpenVariable;
+ bool writeIsOpenVariable;
+ bool realMove;
+ bool remainFileOpen() const;
+ bool remainSourceOpen() const;
+ bool remainDestinationOpen() const;
+ void resetExtraVariable();
+ void ifCanStartTransfer();
+ void checkIfAllIsClosedAndDoOperations();
+};
+
+#endif // TransferThreadAsync_H
diff --git a/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.cpp b/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.cpp
new file mode 100755
index 0000000..2d6748e
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.cpp
@@ -0,0 +1,1164 @@
+#include "WriteThread.h"
+
+#ifdef Q_OS_LINUX
+#include <fcntl.h>
+#endif
+#include "../TransferThread.h"
+
+#ifdef Q_OS_UNIX
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <fcntl.h>
+#endif
+
+unsigned int WriteThread::numberOfBlock=ULTRACOPIER_PLUGIN_DEFAULT_PARALLEL_NUMBER_OF_BLOCK;
+
+WriteThread::WriteThread()
+{
+ deletePartiallyTransferredFiles = true;
+ lastGoodPosition = 0;
+ stopIt = false;
+ isOpen.release();
+ moveToThread(this);
+ setObjectName(QStringLiteral("write"));
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status = Idle;
+ #endif
+ putInPause = false;
+ needRemoveTheFile = false;
+ start();
+
+ #ifdef Q_OS_UNIX
+ to=-1;
+ #else
+ to=nullptr;
+ #endif
+}
+
+WriteThread::~WriteThread()
+{
+ stopIt=true;
+ needRemoveTheFile=true;
+ pauseMutex.release();
+ writeFull.release();
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ waitNewClockForSpeed.release();
+ waitNewClockForSpeed2.release();
+ #endif
+ writeFull.release();
+ pauseMutex.release();
+ // useless because stopIt will close all thread, but if thread not runing run it
+ //endIsDetected();
+ emit internalStartClose();
+ isOpen.acquire();
+ if(!file.empty())
+ resumeNotStarted();
+ //disconnect(this);//-> do into ~TransferThread()
+ quit();
+ wait();
+}
+
+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();
+ if(!connect(this,&WriteThread::internalStartWrite, this,&WriteThread::internalWrite, Qt::QueuedConnection))
+ abort();
+ if(!connect(this,&WriteThread::internalStartClose, this,&WriteThread::internalCloseSlot, Qt::QueuedConnection))
+ abort();
+ if(!connect(this,&WriteThread::internalStartEndOfFile, this,&WriteThread::internalEndOfFile, Qt::QueuedConnection))
+ abort();
+ if(!connect(this,&WriteThread::internalStartFlushAndSeekToZero, this,&WriteThread::internalFlushAndSeekToZero, Qt::QueuedConnection))
+ abort();
+ exec();
+}
+
+//internal function
+bool WriteThread::seek(const int64_t &position)/// \todo search if is use full
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start with: "+std::to_string(position));
+ if((int64_t)position>size())
+ return false;
+
+ #ifdef Q_OS_UNIX
+ if(to<0)
+ abort();//internal failure
+ return lseek(to,position,SEEK_SET)==position;
+ #else
+ if(to==NULL)
+ abort();//internal failure
+ LARGE_INTEGER liSize;
+ liSize.QuadPart=position;
+ return SetFilePointerEx(to,liSize,NULL,FILE_BEGIN);
+ #endif
+}
+
+int64_t WriteThread::size() const
+{
+ #ifdef Q_OS_UNIX
+ struct stat st;
+ fstat(to, &st);
+ return st.st_size;
+ #else
+ LARGE_INTEGER lpFileSize;
+ if(!GetFileSizeEx(to,&lpFileSize))
+ return -1;
+ else
+ return lpFileSize.QuadPart;
+ #endif
+}
+
+bool WriteThread::internalOpen()
+{
+ //do a bug
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] internalOpen destination: "+TransferThread::internalStringTostring(file));
+ if(stopIt)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
+ emit closed();
+ return false;
+ }
+ #ifdef Q_OS_UNIX
+ if(to>=0)
+ #else
+ if(to!=NULL)
+ #endif
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] already open! destination: "+TransferThread::internalStringTostring(file));
+ return false;
+ }
+ if(file.empty())
+ {
+ errorString_internal=tr("Path resolution error (Empty path)").toStdString();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+"Unable to open: "+TransferThread::internalStringTostring(file)+", error: Empty path");
+ emit error();
+ return false;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] before the mutex");
+ //set to LISTBLOCKSIZE
+ while(writeFull.available()<(int)numberOfBlock)
+ writeFull.release();
+ if(writeFull.available()>(int)numberOfBlock)
+ writeFull.acquire(writeFull.available()-numberOfBlock);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after the mutex");
+ stopIt=false;
+ endDetected=false;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=InodeOperation;
+ #endif
+ //mkpath check if exists and return true if already exists
+ {
+ INTERNALTYPEPATH destination=file;
+ #ifdef WIDESTRING
+ const size_t destinationIndex=destination.rfind(L'/');
+ if(destinationIndex!=std::string::npos && destinationIndex<destination.size())
+ {
+ const std::wstring &path=destination.substr(0,destinationIndex);
+ if(!TransferThread::is_dir(path))
+ if(!TransferThread::mkpath(path))
+ {
+ #ifdef Q_OS_WIN32
+ errorString_internal=tr("Unable to create the destination folder: ").toStdString()+TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable create the folder: "+
+ TransferThread::internalStringTostring(destination)+", error: "+
+ errorString_internal);
+ emit error();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Idle;
+ #endif
+ return false;
+ #else
+ /// \todo do real folder error here
+ errorString_internal=tr("Unable to create the destination folder, errno: %1").arg(QString::number(errno)).toStdString();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+"Unable create the folder: "+
+ TransferThread::internalStringTostring(destination)+", error: "+
+ errorString_internal);
+ emit error();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Idle;
+ #endif
+ return false;
+ #endif
+ }
+ }
+ #else
+ const size_t destinationIndex=destination.rfind('/');
+ if(destinationIndex!=std::string::npos && destinationIndex<destination.size())
+ {
+ const std::string &path=destination.substr(0,destinationIndex);
+ if(!TransferThread::is_dir(path))
+ if(!TransferThread::mkpath(path))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to create the destination folder: "+path);
+ #ifdef Q_OS_WIN32
+ errorString_internal=tr("Unable to create the destination folder: ")+TransferThread::GetLastErrorStdStr();
+ #else
+ errorString_internal=tr("Unable to create the destination folder, errno: %1").arg(QString::number(errno)).toStdString();
+ #endif
+ emit error();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Idle;
+ #endif
+ return false;
+ }
+ }
+ #endif
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after the mkpath");
+ if(stopIt)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
+ emit closed();
+ return false;
+ }
+ //try open it
+ {
+ QMutexLocker lock_mutex(writeFileListMutex);
+ #ifdef WIDESTRING
+ QString qtFile=QString::fromStdWString(file);
+ #else
+ QString qtFile=QString::fromStdString(file);
+ #endif
+ if(writeFileList->count(qtFile,this)==0)
+ {
+ writeFileList->insert(qtFile,this);
+ if(writeFileList->count(qtFile)>1)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] in waiting because same file is found");
+ return false;
+ }
+ }
+ }
+ bool fileWasExists=TransferThread::is_file(file);
+ #ifdef Q_OS_UNIX
+ // The last parameter (0755) does nothing. It is simply accepted for compatibility with the UNIX "open" function.
+ // Needed for major build compatibility
+ to = ::open(TransferThread::internalStringTostring(file).c_str(), O_WRONLY | O_CREAT, 0755);
+ #else
+ DWORD flags=FILE_ATTRIBUTE_NORMAL;
+ if(os_spec_flags)
+ flags|=FILE_FLAG_SEQUENTIAL_SCAN;
+ /*if(!buffer)
+ //FILE_FLAG_NO_BUFFERING Under Windows 10 do The parameter is incorrect. (87)
+ flags|=FILE_FLAG_NO_BUFFERING;//FILE_FLAG_WRITE_THROUGH |*/
+ to=CreateFileW(file.c_str(),GENERIC_WRITE,0,NULL,CREATE_ALWAYS,
+ flags,NULL);
+ #endif
+ #ifdef Q_OS_UNIX
+ if(to>=0)
+ #else
+ if(to!=INVALID_HANDLE_VALUE)
+ #endif
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after the open");
+ {
+ QMutexLocker lock_mutex(&accessList);
+ if(!theBlockList.empty())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] General file corruption detected");
+ stopIt=true;
+ #ifdef Q_OS_UNIX
+ if(::close(to)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ to=-1;
+ #else
+ if(CloseHandle(to)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ to=NULL;
+ #endif
+ resumeNotStarted();
+ this->file.clear();
+ return false;
+ }
+ }
+ pauseMutex.tryAcquire(pauseMutex.available());
+ #ifdef Q_OS_LINUX
+ if(os_spec_flags)
+ {
+ posix_fadvise(to, 0, 0, POSIX_FADV_NOREUSE);
+ posix_fadvise(to, 0, 0, POSIX_FADV_SEQUENTIAL);
+ }
+ #endif
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after the pause mutex");
+ if(stopIt)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
+ #ifdef Q_OS_UNIX
+ if(::close(to)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ to=-1;
+ #else
+ if(CloseHandle(to)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ to=NULL;
+ #endif
+ resumeNotStarted();
+ this->file.clear();
+ emit closed();
+ return false;
+ }
+ if(destTruncate(startSize)!=0)
+ {
+ #ifdef Q_OS_UNIX
+ if(::close(to)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ to=-1;
+ #else
+ if(CloseHandle(to)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ to=NULL;
+ #endif
+ resumeNotStarted();
+ this->file.clear();
+ #ifdef Q_OS_WIN32
+ errorString_internal=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to seek after resize: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal
+ );
+ #else
+ int t=errno;
+ errorString_internal=strerror(t);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to seek after resize: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(t)+")"
+ );
+ #endif
+ emit error();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Idle;
+ #endif
+ return false;
+ }
+ if(stopIt)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
+ #ifdef Q_OS_UNIX
+ if(::close(to)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ to=-1;
+ #else
+ if(CloseHandle(to)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ to=NULL;
+ #endif
+ resumeNotStarted();
+ this->file.clear();
+ emit closed();
+ return false;
+ }
+ if(!seek(0))
+ {
+ #ifdef Q_OS_UNIX
+ if(::close(to)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ to=-1;
+ #else
+ if(CloseHandle(to)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ to=NULL;
+ #endif
+ resumeNotStarted();
+ this->file.clear();
+ #ifdef Q_OS_WIN32
+ errorString_internal=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to seek after open: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal
+ );
+ #else
+ int t=errno;
+ errorString_internal=strerror(t);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to seek after open: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(t)+")"
+ );
+ #endif
+ emit error();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Idle;
+ #endif
+ return false;
+ }
+ if(stopIt)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
+ #ifdef Q_OS_UNIX
+ if(::close(to)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ to=-1;
+ #else
+ if(CloseHandle(to)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ to=NULL;
+ #endif
+ resumeNotStarted();
+ this->file.clear();
+ emit closed();
+ return false;
+ }
+ isOpen.acquire();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit opened()");
+ emit opened();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Idle;
+ #endif
+ needRemoveTheFile=false;
+ postOperationRequested=false;
+ return true;
+ }
+ else
+ {
+ #ifdef Q_OS_WIN32
+ errorString_internal=TransferThread::GetLastErrorStdStr();
+ #else
+ int t=errno;
+ #endif
+ if(!fileWasExists && TransferThread::is_file(file))
+ if(unlink(TransferThread::internalStringTostring(file).c_str())!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] file created but can't be removed");
+ if(stopIt)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
+ resumeNotStarted();
+ this->file.clear();
+ emit closed();
+ return false;
+ }
+ #ifdef Q_OS_WIN32
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to open: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal
+ );
+ #else
+ errorString_internal=strerror(t);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to open: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(t)+")"
+ );
+ #endif
+ emit error();
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Idle;
+ #endif
+ return false;
+ }
+}
+
+void WriteThread::openWrite(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));
+ errorString_internal=tr("Internal error, please report it!").toStdString();
+ emit error();
+ return;
+ }
+ #ifdef Q_OS_WIN32
+ if(to!=NULL)
+ #else
+ if(to>=0)
+ #endif
+ {
+ if(file==this->file)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Try reopen already opened same file: "+TransferThread::internalStringTostring(file));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] previous file is already open: "+TransferThread::internalStringTostring(file));
+ //emit internalStartClose();
+ internalCloseSlot();
+ isOpen.acquire();
+ isOpen.release();
+ }
+ if(numberOfBlock<1 || (numberOfBlock>ULTRACOPIER_PLUGIN_MAX_PARALLEL_NUMBER_OF_BLOCK && numberOfBlock>ULTRACOPIER_PLUGIN_MAX_SEQUENTIAL_NUMBER_OF_BLOCK))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] numberOfBlock wrong, set to default");
+ this->numberOfBlock=ULTRACOPIER_PLUGIN_DEFAULT_PARALLEL_NUMBER_OF_BLOCK;
+ }
+ /*else
+ this->numberOfBlock=numberOfBlock;*/
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] "+"open destination: "+TransferThread::internalStringTostring(file));
+ stopIt=false;
+ fakeMode=false;
+ lastGoodPosition=0;
+ this->file=file;
+ this->startSize=startSize;
+ endDetected=false;
+ writeFullBlocked=false;
+ emit internalStartOpen();
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ numberOfBlockCopied=0;
+ #endif
+}
+
+void WriteThread::endIsDetected()
+{
+ if(endDetected)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] double event dropped");
+ return;
+ }
+ endDetected=true;
+ pauseMutex.release();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
+ emit internalStartEndOfFile();
+}
+
+std::string WriteThread::errorString() const
+{
+ return errorString_internal;
+}
+
+void WriteThread::stop()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stop()");
+ needRemoveTheFile=true;
+ stopIt=true;
+ if(isOpen.available()>0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] isOpen.available()>0");
+
+ #ifdef Q_OS_WIN32
+ if(to!=NULL)
+ #else
+ if(to>=0)
+ #endif
+ {
+ #ifdef Q_OS_UNIX
+ if(::close(to)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ to=-1;
+ #else
+ if(CloseHandle(to)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ to=NULL;
+ #endif
+ }
+
+ return;
+ }
+ writeFull.release();
+ pauseMutex.release();
+ pauseMutex.release();
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ waitNewClockForSpeed.release();
+ waitNewClockForSpeed2.release();
+ #endif
+ // useless because stopIt will close all thread, but if thread not runing run it
+ endIsDetected();
+ //for the stop for skip: void TransferThread::skip()
+ emit internalStartClose();
+}
+
+void WriteThread::flushBuffer()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
+ writeFull.release();
+ writeFull.acquire();
+ pauseMutex.release();
+ {
+ QMutexLocker lock_mutex(&accessList);
+ while(!theBlockList.empty())
+ {
+ free(theBlockList.front().data);
+ theBlockList.pop();
+ }
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stop");
+}
+
+/// \brief buffer is empty
+bool WriteThread::bufferIsEmpty()
+{
+ bool returnVal;
+ {
+ QMutexLocker lock_mutex(&accessList);
+ returnVal=theBlockList.empty();
+ }
+ return returnVal;
+}
+
+void WriteThread::internalEndOfFile()
+{
+ if(!bufferIsEmpty())
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] buffer is not empty!");
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] writeIsStopped");
+ postOperation();
+ emit writeIsStopped();
+ }
+}
+
+#ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+/*! \brief Set the max speed
+\param tempMaxSpeed Set the max speed in KB/s, 0 for no limit */
+void WriteThread::setMultiForBigSpeed(const int &multiForBigSpeed)
+{
+ this->multiForBigSpeed=multiForBigSpeed;
+ waitNewClockForSpeed.release();
+ waitNewClockForSpeed2.release();
+}
+
+/// \brief For give timer every X ms
+void WriteThread::timeOfTheBlockCopyFinished()
+{
+ /* this is the old way to limit the speed, it product blocking
+ *if(waitNewClockForSpeed.available()<ULTRACOPIER_PLUGIN_NUMSEMSPEEDMANAGEMENT)
+ waitNewClockForSpeed.release();*/
+
+ //try this new way:
+ /* only if speed limited, else will accumulate waitNewClockForSpeed
+ * Disabled because: Stop call of this method when no speed limit
+ if(this->maxSpeed>0)*/
+ if(waitNewClockForSpeed.available()<=1)
+ waitNewClockForSpeed.release();
+ if(waitNewClockForSpeed2.available()<=1)
+ waitNewClockForSpeed2.release();
+}
+#endif
+
+void WriteThread::resumeNotStarted()
+{
+ QMutexLocker lock_mutex(writeFileListMutex);
+ #ifdef WIDESTRING
+ QString qtFile=QString::fromStdWString(file);
+ #else
+ QString qtFile=QString::fromStdString(file);
+ #endif
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(!writeFileList->contains(qtFile))
+ {
+ /*ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] file: \""+
+ TransferThread::internalStringTostring(file)+
+ "\" for similar inode is not located into the list of "+
+ std::to_string(writeFileList.size())+" items!");*/
+ return;
+ }
+ #endif
+ writeFileList->remove(qtFile,this);
+ if(writeFileList->contains(qtFile))
+ {
+ QList<WriteThread *> writeList=writeFileList->values(qtFile);
+ if(!writeList.isEmpty())
+ writeList.first()->reemitStartOpen();
+ return;
+ }
+}
+
+void WriteThread::pause()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] try put read thread in pause");
+ pauseMutex.tryAcquire(pauseMutex.available());
+ putInPause=true;
+ return;
+}
+
+void WriteThread::resume()
+{
+ if(putInPause)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
+ putInPause=false;
+ stopIt=false;
+ }
+ else
+ return;
+ #ifdef Q_OS_WIN32
+ if(to==NULL)
+ #else
+ if(to<0)
+ #endif
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] file is not open");
+ return;
+ }
+ pauseMutex.release();
+}
+
+void WriteThread::reemitStartOpen()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] start");
+ emit internalStartOpen();
+}
+
+void WriteThread::postOperation()
+{
+ if(postOperationRequested)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] double event dropped");
+ return;
+ }
+ postOperationRequested=true;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
+ emit internalStartClose();
+}
+
+void WriteThread::internalCloseSlot()
+{
+ internalClose();
+}
+
+void WriteThread::internalClose(bool emitSignal)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close for file: "+TransferThread::internalStringTostring(file));
+ /// \note never send signal here, because it's called by the destructor
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Close;
+ #endif
+ bool emit_closed=false;
+ if(!fakeMode)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] !fakeMode: "+TransferThread::internalStringTostring(file));
+ #ifdef Q_OS_WIN32
+ if(to!=NULL)
+ #else
+ if(to>=0)
+ #endif
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] to>=0: "+TransferThread::internalStringTostring(file));
+ if(!needRemoveTheFile)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] !needRemoveTheFile: "+TransferThread::internalStringTostring(file));
+ if(startSize!=lastGoodPosition)
+ if(destTruncate(lastGoodPosition)!=0)
+ {
+ if(emitSignal)
+ {
+ #ifdef Q_OS_WIN32
+ errorString_internal=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to resize: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal
+ );
+ #else
+ int t=errno;
+ errorString_internal=strerror(t);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to resize: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(t)+")"
+ );
+ #endif
+ emit error();
+ }
+ else
+ needRemoveTheFile=true;
+ }
+ }
+ #ifdef Q_OS_UNIX
+ if(::close(to)!=0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+std::to_string(errno));
+ to=-1;
+ #else
+ if(CloseHandle(to)==0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to close: "+TransferThread::GetLastErrorStdStr());
+ to=NULL;
+ #endif
+ this->file.clear();
+ if(needRemoveTheFile || stopIt)
+ {
+ if(deletePartiallyTransferredFiles)
+ {
+ if(unlink(TransferThread::internalStringTostring(file).c_str())!=0)
+ if(emitSignal)
+ {
+ #ifdef Q_OS_UNIX
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] unable to remove the destination file: "+std::to_string(errno));
+ #else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] unable to remove the destination file: "+TransferThread::GetLastErrorStdStr());
+ #endif
+ }
+ }
+ }
+ //here and not after, because the transferThread don't need try close if not open
+ if(emitSignal)
+ emit_closed=true;
+ }
+ }
+ else
+ {
+ //here and not after, because the transferThread don't need try close if not open
+
+ if(emitSignal)
+ emit_closed=true;
+ }
+ needRemoveTheFile=false;
+ resumeNotStarted();
+ this->file.clear();
+ if(emit_closed)
+ emit closed();
+
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Idle;
+ #endif
+
+ /// \note always the last of this function
+ if(!fakeMode)
+ isOpen.release();
+}
+
+void WriteThread::internalReopen()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
+ INTERNALTYPEPATH tempFile=file;
+ internalClose(false);
+ flushBuffer();
+ stopIt=false;
+ lastGoodPosition=0;
+ file=tempFile;
+ if(internalOpen())
+ emit reopened();
+}
+
+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
+void WriteThread::setId(int id)
+{
+ this->id=id;
+}
+#endif
+
+/// \brief do the fake open
+void WriteThread::fakeOpen()
+{
+ fakeMode=true;
+ postOperationRequested=false;
+ emit opened();
+}
+
+/// \brief do the fake writeIsStarted
+void WriteThread::fakeWriteIsStarted()
+{
+ emit writeIsStarted();
+}
+
+/// \brief do the fake writeIsStopped
+void WriteThread::fakeWriteIsStopped()
+{
+ postOperation();
+ emit writeIsStopped();
+}
+
+/** \brief set block size
+\param block the new block size in B
+\return Return true if succes */
+bool WriteThread::setBlockSize(const int blockSize)
+{
+ //can be smaller than min block size to do correct speed limitation
+ if(blockSize>1 && blockSize<ULTRACOPIER_PLUGIN_MAX_BLOCK_SIZE*1024)
+ {
+ //this->blockSize=blockSize;
+ return true;
+ }
+ else
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"block size out of range: "+std::to_string(blockSize));
+ return false;
+ }
+}
+
+/// \brief get the last good position
+int64_t WriteThread::getLastGoodPosition() const
+{
+ return lastGoodPosition;
+}
+
+void WriteThread::flushAndSeekToZero()
+{
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"flushAndSeekToZero: "+std::to_string(blockSize));
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"flushAndSeekToZero");
+ stopIt=true;
+ emit internalStartFlushAndSeekToZero();
+}
+
+void WriteThread::internalFlushAndSeekToZero()
+{
+ flushBuffer();
+ if(!seek(0))
+ {
+ #ifdef Q_OS_WIN32
+ errorString_internal=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to seek: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal
+ );
+ #else
+ int t=errno;
+ errorString_internal=strerror(t);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to seek: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(t)+")"
+ );
+ #endif
+ emit error();
+ return;
+ }
+ stopIt=false;
+ emit flushedAndSeekedToZero();
+}
+
+void WriteThread::setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles)
+{
+ this->deletePartiallyTransferredFiles=deletePartiallyTransferredFiles;
+}
+
+bool WriteThread::write(char * data, const unsigned int size)
+{
+ if(stopIt)
+ return false;
+ bool atMax;
+ if(stopIt)
+ return false;
+ {
+ QMutexLocker lock_mutex(&accessList);
+ DataBlock d;
+ d.data=data;
+ d.size=size;
+ theBlockList.push(d);
+ atMax=(theBlockList.size()>=numberOfBlock);
+ }
+ emit internalStartWrite();
+ if(atMax)
+ {
+ writeFullBlocked=true;
+ writeFull.acquire();
+ writeFullBlocked=false;
+ }
+ if(stopIt)
+ return false;
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ //wait for limitation speed if stop not query
+ if(multiForBigSpeed>0)
+ {
+ numberOfBlockCopied2++;
+ if(numberOfBlockCopied2>=multiForBigSpeed)
+ {
+ numberOfBlockCopied2=0;
+ waitNewClockForSpeed2.acquire();
+ }
+ }
+ #endif
+ if(stopIt)
+ return false;
+ return true;
+}
+
+void WriteThread::internalWrite()
+{
+ bool haveBlock;
+ do
+ {
+ if(putInPause)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"["+std::to_string(id)+"] write put in pause");
+ if(stopIt)
+ return;
+ pauseMutex.acquire();
+ if(stopIt)
+ return;
+ }
+ if(stopIt)
+ {
+// ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stopIt");
+ return;
+ }
+ if(stopIt)
+ return;
+ //read one block
+ {
+ QMutexLocker lock_mutex(&accessList);
+ if(theBlockList.empty())
+ haveBlock=false;
+ else
+ {
+ blockArray=theBlockList.front();
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ if(multiForBigSpeed>0)
+ {
+ theBlockList.pop();
+ //if remove one block
+ writeFull.release();
+ }
+ else
+ #endif
+ {
+ theBlockList.pop();
+ //if remove one block
+ writeFull.release();
+ }
+ haveBlock=true;
+ }
+ }
+ if(stopIt)
+ {
+ if(blockArray.data!=NULL)
+ {
+ free(blockArray.data);
+ blockArray.data=NULL;
+ }
+ return;
+ }
+ if(!haveBlock)
+ {
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] End detected of the file");
+ if(blockArray.data!=NULL)
+ {
+ free(blockArray.data);
+ blockArray.data=NULL;
+ }
+ return;
+ }
+ #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
+ //wait for limitation speed if stop not query
+ if(multiForBigSpeed>0)
+ {
+ numberOfBlockCopied++;
+ if(writeFullBlocked)
+ {
+ if(numberOfBlockCopied>=(multiForBigSpeed*2))
+ {
+ numberOfBlockCopied=0;
+ waitNewClockForSpeed.acquire();
+ if(stopIt)
+ {
+ free(blockArray.data);
+ break;
+ }
+ }
+ }
+ else
+ {
+ if(numberOfBlockCopied>=multiForBigSpeed)
+ {
+ numberOfBlockCopied=0;
+ waitNewClockForSpeed.acquire();
+ if(stopIt)
+ {
+ if(blockArray.data!=NULL)
+ {
+ free(blockArray.data);
+ blockArray.data=NULL;
+ }
+ break;
+ }
+ }
+ }
+ }
+ #endif
+ if(stopIt)
+ {
+ if(blockArray.data!=NULL)
+ {
+ free(blockArray.data);
+ blockArray.data=NULL;
+ }
+ return;
+ }
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Write;
+ #endif
+
+ #ifdef Q_OS_WIN32
+ BOOL retRead=TRUE;
+ #endif
+ if(blockArray.size<=0)
+ bytesWriten=0;
+ else
+ {
+ #ifdef Q_OS_WIN32
+ DWORD lpNumberOfBytesWrite=0;
+ retRead=WriteFile(to,blockArray.data,blockArray.size,
+ &lpNumberOfBytesWrite,NULL);
+ bytesWriten=lpNumberOfBytesWrite;
+ #else
+ bytesWriten=::write(to,blockArray.data,blockArray.size);
+ #endif
+ }
+ if(blockArray.data!=NULL)
+ {
+ free(blockArray.data);
+ blockArray.data=NULL;
+ }
+
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ status=Idle;
+ #endif
+ //mutex for stream this data
+ if(lastGoodPosition==0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit writeIsStarted()");
+ emit writeIsStarted();
+ }
+ if(stopIt)
+ return;
+ #ifdef Q_OS_WIN32
+ if(retRead==FALSE)
+ #else
+ if(bytesWriten<0)
+ #endif
+ {
+ #ifdef Q_OS_WIN32
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ DWORD e = GetLastError();
+ #endif
+ errorString_internal=TransferThread::GetLastErrorStdStr();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to write: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(e)+") to write "+std::to_string(blockArray.size)+"B at "+std::to_string(lastGoodPosition)+"B"
+ );
+ #else
+ int t=errno;
+ errorString_internal=strerror(t);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+
+ "Unable to write: "+TransferThread::internalStringTostring(file)+
+ ", error: "+errorString_internal+" ("+std::to_string(t)+") to write "+std::to_string(blockArray.size)+"B at "+std::to_string(lastGoodPosition)+"B"
+ );
+ #endif
+ stopIt=true;
+ emit error();
+ 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();
+ stopIt=true;
+ emit error();
+ return;
+ }
+ lastGoodPosition+=bytesWriten;
+ } while(true);
+}
+
+//return 0 if sucess
+int WriteThread::destTruncate(const uint64_t &startSize)
+{
+ #ifdef Q_OS_WIN32
+ if(to==NULL)
+ abort();
+ seek(startSize);
+ if(SetEndOfFile(to)!=0)
+ return 0;
+ else
+ return 1;
+ #else
+ if(to<0)
+ abort();
+ return ::ftruncate(to,startSize);
+ #endif
+}
+
+void WriteThread::setOsSpecFlags(bool os_spec_flags)
+{
+ this->os_spec_flags=os_spec_flags;
+}
diff --git a/plugins/CopyEngine/Ultracopier/WriteThread.h b/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.h
index cadd022..5e0b265 100644..100755
--- a/plugins/CopyEngine/Ultracopier/WriteThread.h
+++ b/plugins/CopyEngine/Ultracopier-Spec/async/WriteThread.h
@@ -8,14 +8,26 @@
#include <QThread>
#include <QByteArray>
-#include <QString>
#include <QMutex>
#include <QSemaphore>
#include <QCryptographicHash>
+#include <queue>
-#include "Environment.h"
-#include "StructEnumDefinition_CopyEngine.h"
-#include "AvancedQFile.h"
+#ifdef Q_OS_WIN32
+#include <windows.h>
+#endif
+
+#include "../Environment.h"
+#include "../StructEnumDefinition_CopyEngine.h"
+#include "../CopyEngineUltracopier-SpecVariable.h"
+
+#ifdef WIDESTRING
+#define INTERNALTYPEPATH std::wstring
+#define INTERNALTYPECHAR wchar_t
+#else
+#define INTERNALTYPEPATH std::string
+#define INTERNALTYPECHAR char
+#endif
/// \brief Thread changed to open/close and write the destination file
class WriteThread : public QThread
@@ -24,19 +36,27 @@ class WriteThread : public QThread
public:
explicit WriteThread();
~WriteThread();
- /// \brief to have semaphore to do mkpath one by one
- void setMkpathTransfer(QSemaphore *mkpathTransfer);
+ //internal function
+ bool seek(const int64_t &position);/// \todo search if is use full
+ /// \brief get the size of the destination file
+ int64_t size() const;
+
+ //can't be static into WriteThread, linked by instance then by ListThread
+ QMultiHash<QString,WriteThread *> *writeFileList;
+ QMutex *writeFileListMutex;
+ bool buffer;
+ static unsigned int numberOfBlock;
protected:
void run();
public:
/// \brief open the destination to open it
- void open(const QFileInfo &file,const uint64_t &startSize,const bool &buffer,const int &numberOfBlock,const bool &sequential);
+ void openWrite(const INTERNALTYPEPATH &file,const uint64_t &startSize);
/// \brief to return the error string
std::string errorString() const;
/// \brief to stop all
void stop();
/// \brief to write data
- bool write(const QByteArray &data);
+ bool write(char *data, const unsigned int size);
#ifdef ULTRACOPIER_PLUGIN_DEBUG
/// \brief to set the id
void setId(int id);
@@ -47,10 +67,9 @@ public:
InodeOperation=1,
Write=2,
Close=3,
- Read=5,
- Checksum=6
+ Read=5
};
- WriteStat stat;
+ WriteStat status;
#endif
/// \brief do the fake open
void fakeOpen();
@@ -58,9 +77,7 @@ public:
void fakeWriteIsStarted();
/// \brief do the fake writeIsStopped
void fakeWriteIsStopped();
- /// do the checksum
- void startCheckSum();
- /// \brief set block size in KB
+ /// \brief set block size in KB mostly for speed
bool setBlockSize(const int blockSize);
/// \brief get the last good position
int64_t getLastGoodPosition() const;
@@ -73,6 +90,9 @@ public:
void pause();
void resume();
void reemitStartOpen();
+ //return 0 if sucess
+ int destTruncate(const uint64_t &startSize);
+ void setOsSpecFlags(bool os_spec_flags);
public slots:
/// \brief start the operation
void postOperation();
@@ -84,8 +104,6 @@ public slots:
void reopen();
/// \brief flush and seek to zero
void flushAndSeekToZero();
- /// do the checksum
- void checkSum();
void setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles);
/// \brief executed at regular interval to do a speed throling
void timeOfTheBlockCopyFinished();
@@ -99,10 +117,8 @@ signals:
void writeIsStopped() const;
void flushedAndSeekedToZero() const;
void closed() const;
- void checksumFinish(const QByteArray&) const;
//internal signals
void internalStartOpen() const;
- void internalStartChecksum() const;
void internalStartReopen() const;
void internalStartWrite() const;
void internalStartClose() const;
@@ -111,15 +127,16 @@ signals:
/// \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:
+ struct DataBlock
+ {
+ char * data;
+ unsigned int size;
+ };
std::string errorString_internal;
- AvancedQFile file;
volatile bool stopIt;
volatile bool postOperationRequested;
- volatile int blockSize;//only used in checksum
- int numberOfBlock;
+ bool os_spec_flags;
QMutex accessList; ///< For use the list
- static QMultiHash<QString,WriteThread *> writeFileList;
- static QMutex writeFileListMutex;
#ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
QSemaphore waitNewClockForSpeed,waitNewClockForSpeed2;
volatile int numberOfBlockCopied,numberOfBlockCopied2; ///< Multiple for count the number of block copied
@@ -131,22 +148,26 @@ private:
QSemaphore isOpen;
QSemaphore pauseMutex;
volatile bool putInPause;
- QList<QByteArray> theBlockList; ///< Store the block list
+ std::queue<DataBlock> theBlockList; ///< Store the block list
uint64_t lastGoodPosition;
- QByteArray blockArray; ///< temp data for block writing, the data
+ DataBlock blockArray; ///< temp data for block writing, the data
int64_t bytesWriten; ///< temp data for block writing, the bytes writen
int id;
volatile bool endDetected;
uint64_t startSize;
- QSemaphore *mkpathTransfer;
bool fakeMode;
- bool buffer;
bool needRemoveTheFile;
- volatile bool sequential;
bool deletePartiallyTransferredFiles;
#ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
volatile int multiForBigSpeed; ///< Multiple for count the number of block needed
#endif
+
+ #ifdef Q_OS_UNIX
+ int to;
+ #else
+ HANDLE to;
+ #endif
+ INTERNALTYPEPATH file;
private slots:
bool internalOpen();
void internalWrite();
diff --git a/plugins/CopyEngine/Ultracopier/copyEngineOptions.ui b/plugins/CopyEngine/Ultracopier-Spec/copyEngineOptions.ui
index 73e57f9..e646a2d 100644..100755
--- a/plugins/CopyEngine/Ultracopier/copyEngineOptions.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/copyEngineOptions.ui
@@ -29,40 +29,46 @@
<item>
<widget class="QToolBox" name="toolBox">
<property name="currentIndex">
- <number>3</number>
+ <number>2</number>
</property>
<widget class="QWidget" name="page_trasnfer">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>791</width>
- <height>349</height>
+ <width>801</width>
+ <height>376</height>
</rect>
</property>
<attribute name="label">
<string>Transfer</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_5">
- <item row="3" column="2">
- <widget class="QCheckBox" name="moveTheWholeFolder"/>
+ <item row="7" column="1">
+ <spacer name="verticalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>278</height>
+ </size>
+ </property>
+ </spacer>
</item>
- <item row="3" column="0">
+ <item row="2" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Move the whole folder</string>
</property>
</widget>
</item>
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Transfer the file rights</string>
- </property>
- </widget>
+ <item row="2" column="2">
+ <widget class="QCheckBox" name="moveTheWholeFolder"/>
</item>
- <item row="0" column="2">
- <widget class="QCheckBox" name="doRightTransfer"/>
+ <item row="1" column="2">
+ <widget class="QCheckBox" name="keepDate"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
@@ -71,59 +77,68 @@
</property>
</widget>
</item>
- <item row="2" column="2">
- <widget class="QCheckBox" name="autoStart"/>
- </item>
- <item row="1" column="2">
- <widget class="QCheckBox" name="keepDate"/>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_5">
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_9">
<property name="text">
- <string>Autostart the transfer</string>
+ <string>Auto start</string>
</property>
</widget>
</item>
- <item row="4" column="2">
- <widget class="QCheckBox" name="followTheStrictOrder">
- <property name="toolTip">
- <string>Less performance if checked</string>
+ <item row="5" column="2">
+ <widget class="QCheckBox" name="checksum">
+ <property name="text">
+ <string/>
</property>
</widget>
</item>
- <item row="6" column="1">
- <spacer name="verticalSpacer_6">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Transfer the file rights</string>
</property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>278</height>
- </size>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QCheckBox" name="doRightTransfer"/>
+ </item>
+ <item row="6" column="2">
+ <widget class="QCheckBox" name="autoStart">
+ <property name="text">
+ <string/>
</property>
- </spacer>
+ </widget>
</item>
<item row="4" column="0">
- <widget class="QLabel" name="label_19">
- <property name="toolTip">
- <string>Less performance if checked</string>
- </property>
+ <widget class="QLabel" name="label_3">
<property name="text">
- <string>Follow the strict order</string>
+ <string>Create full path if not exists</string>
</property>
</widget>
</item>
- <item row="5" column="0">
+ <item row="3" column="0">
<widget class="QLabel" name="label_rsync">
<property name="text">
<string notr="true">Rsync</string>
</property>
</widget>
</item>
- <item row="5" column="2">
+ <item row="4" column="2">
+ <widget class="QCheckBox" name="mkpath">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
<widget class="QCheckBox" name="rsync"/>
</item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Checksum</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
<widget class="QWidget" name="page_error_collision">
@@ -131,8 +146,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>791</width>
- <height>349</height>
+ <width>801</width>
+ <height>376</height>
</rect>
</property>
<attribute name="label">
@@ -201,7 +216,7 @@
</item>
<item>
<property name="text">
- <string notr="true">Overwrite if different</string>
+ <string notr="true">Overwrite if not same size and date</string>
</property>
</item>
<item>
@@ -219,6 +234,16 @@
<string notr="true">Rename</string>
</property>
</item>
+ <item>
+ <property name="text">
+ <string>Overwrite if not same size</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Overwrite if modification date differs</string>
+ </property>
+ </item>
</widget>
</item>
<item row="2" column="2">
@@ -330,210 +355,89 @@
<zorder>renameTheOriginalDestination</zorder>
<zorder>label_22</zorder>
</widget>
- <widget class="QWidget" name="page_control">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>791</width>
- <height>349</height>
- </rect>
- </property>
- <attribute name="label">
- <string>Control</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <widget class="QGroupBox" name="groupBox">
- <property name="title">
- <string>Checksum</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="1" column="1">
- <widget class="QCheckBox" name="checksumOnlyOnError"/>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_9">
- <property name="text">
- <string>Only after error</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_10">
- <property name="text">
- <string>Ignore if impossible</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QCheckBox" name="checksumIgnoreIfImpossible"/>
- </item>
- <item row="0" column="1">
- <widget class="QCheckBox" name="doChecksum">
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="label_11">
- <property name="text">
- <string>Verify checksums</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_4">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>242</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
<widget class="QWidget" name="page_performance">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>791</width>
- <height>349</height>
+ <width>801</width>
+ <height>376</height>
</rect>
</property>
<attribute name="label">
<string>Performance</string>
</attribute>
<layout class="QGridLayout" name="gridLayout">
- <item row="5" column="0">
- <widget class="QLabel" name="label_16">
- <property name="text">
- <string>Parallel buffer</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QSpinBox" name="sequentialBuffer">
- <property name="suffix">
- <string>KB</string>
- </property>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="inodeThreads">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
- <number>999999999</number>
+ <number>32</number>
+ </property>
+ <property name="value">
+ <number>16</number>
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QSpinBox" name="blockSize">
- <property name="suffix">
- <string>KB</string>
- </property>
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>65536</number>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_21">
+ <property name="text">
+ <string>Inode threads</string>
</property>
</widget>
</item>
- <item row="5" column="1">
- <widget class="QSpinBox" name="parallelBuffer">
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="followTheStrictOrder"/>
+ </item>
+ <item row="3" column="1">
+ <widget class="QSpinBox" name="spinBox">
<property name="suffix">
- <string>KB</string>
+ <string>MB</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
- <number>999999999</number>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QCheckBox" name="osBuffer"/>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Block size</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_15">
- <property name="text">
- <string>Sequential buffer</string>
+ <number>1024</number>
</property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Enable OS buffer</string>
+ <property name="value">
+ <number>300</number>
</property>
</widget>
</item>
- <item row="2" column="1">
- <widget class="QSpinBox" name="osBufferLimit">
+ <item row="4" column="1">
+ <widget class="QSpinBox" name="spinBox_2">
<property name="suffix">
- <string>KB</string>
+ <string>MB</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
- <number>2048</number>
+ <number>1024</number>
</property>
<property name="value">
- <number>512</number>
+ <number>100</number>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QCheckBox" name="osBufferLimited">
- <property name="text">
- <string>OS buffer only if smaller than</string>
+ <item row="1" column="1">
+ <widget class="QCheckBox" name="buffer">
+ <property name="toolTip">
+ <string>Uncheck this under Windows create problem</string>
</property>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_14">
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_4">
<property name="text">
- <string>Transfer algorithm</string>
+ <string>OS Buffer</string>
</property>
</widget>
</item>
- <item row="3" column="1">
- <widget class="QComboBox" name="transferAlgorithm">
- <item>
- <property name="text">
- <string notr="true">Automatic</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">Sequential</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">Parallel</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="9" column="1">
+ <item row="7" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -546,60 +450,52 @@
</property>
</spacer>
</item>
- <item row="6" column="0">
- <widget class="QLabel" name="label_17">
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_10">
<property name="text">
- <string>Parallelize if smaller than</string>
+ <string>Disable parallel transfer when are different devices</string>
</property>
</widget>
</item>
- <item row="6" column="1">
- <widget class="QSpinBox" name="parallelizeIfSmallerThan">
- <property name="suffix">
- <string>KB</string>
- </property>
- <property name="maximum">
- <number>1024</number>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Buffer for different device</string>
</property>
</widget>
</item>
- <item row="7" column="1">
- <widget class="QSpinBox" name="inodeThreads">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>32</number>
- </property>
- <property name="value">
- <number>16</number>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>OS FLags</string>
</property>
</widget>
</item>
- <item row="7" column="0">
- <widget class="QLabel" name="label_21">
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_11">
<property name="text">
- <string>Inode threads (unsafe &gt; 1)</string>
+ <string>Buffer for same device</string>
</property>
</widget>
</item>
- <item row="8" column="1">
- <widget class="QCheckBox" name="copyListOrder">
- <property name="toolTip">
- <string>More cpu, but better organisation on the disk</string>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>OS native copy (disable speed limitation)</string>
</property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QCheckBox" name="os_spec_flags">
<property name="text">
<string/>
</property>
</widget>
</item>
- <item row="8" column="0">
- <widget class="QLabel" name="label_25">
- <property name="toolTip">
- <string>More cpu, but better organisation on the disk</string>
- </property>
+ <item row="6" column="1">
+ <widget class="QCheckBox" name="native_copy">
<property name="text">
- <string>Order the list</string>
+ <string/>
</property>
</widget>
</item>
@@ -610,8 +506,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>791</width>
- <height>349</height>
+ <width>801</width>
+ <height>376</height>
</rect>
</property>
<attribute name="label">
@@ -702,70 +598,5 @@
</layout>
</widget>
<resources/>
- <connections>
- <connection>
- <sender>doChecksum</sender>
- <signal>clicked(bool)</signal>
- <receiver>label_9</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>583</x>
- <y>136</y>
- </hint>
- <hint type="destinationlabel">
- <x>109</x>
- <y>161</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>doChecksum</sender>
- <signal>clicked(bool)</signal>
- <receiver>checksumOnlyOnError</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>594</x>
- <y>136</y>
- </hint>
- <hint type="destinationlabel">
- <x>586</x>
- <y>161</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>doChecksum</sender>
- <signal>clicked(bool)</signal>
- <receiver>label_10</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>641</x>
- <y>136</y>
- </hint>
- <hint type="destinationlabel">
- <x>132</x>
- <y>186</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>doChecksum</sender>
- <signal>clicked(bool)</signal>
- <receiver>checksumIgnoreIfImpossible</receiver>
- <slot>setEnabled(bool)</slot>
- <hints>
- <hint type="sourcelabel">
- <x>665</x>
- <y>136</y>
- </hint>
- <hint type="destinationlabel">
- <x>609</x>
- <y>186</y>
- </hint>
- </hints>
- </connection>
- </connections>
+ <connections/>
</ui>
diff --git a/plugins/CopyEngine/Ultracopier/copyEngineResources.qrc b/plugins/CopyEngine/Ultracopier-Spec/copyEngineResources.qrc
index 0228c74..7ae0fdc 100644..100755
--- a/plugins/CopyEngine/Ultracopier/copyEngineResources.qrc
+++ b/plugins/CopyEngine/Ultracopier-Spec/copyEngineResources.qrc
@@ -1,5 +1,5 @@
<RCC>
- <qresource prefix="/CopyEngine/Ultracopier">
+ <qresource prefix="/CopyEngine/Ultracopier-Spec">
<file>resources/add.png</file>
<file>resources/edit.png</file>
<file>resources/remove.png</file>
diff --git a/plugins/CopyEngine/Ultracopier/debugDialog.ui b/plugins/CopyEngine/Ultracopier-Spec/debugDialog.ui
index 80fde7e..5803f99 100644..100755
--- a/plugins/CopyEngine/Ultracopier/debugDialog.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/debugDialog.ui
@@ -4,6 +4,8 @@
<widget class="QWidget" name="debugDialog">
<property name="geometry">
<rect>
+ <x>0</x>
+ <y>0</y>
<width>665</width>
<height>392</height>
</rect>
@@ -61,6 +63,19 @@
</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">
+ <bool>true</bool>
+ </property>
+ <property name="maximum">
+ <number>9999</number>
+ </property>
+ </widget>
+ </item>
<item row="0" column="1">
<widget class="QSpinBox" name="spinBoxActiveTransfer">
<property name="readOnly">
@@ -78,13 +93,20 @@
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="QSpinBox" name="spinBoxNumberOfInode">
- <property name="readOnly">
- <bool>true</bool>
+ <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>
- <property name="maximum">
- <number>9999</number>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string notr="true">errorQueueItem:</string>
</property>
</widget>
</item>
diff --git a/plugins/CopyEngine/Ultracopier/documentation.dox b/plugins/CopyEngine/Ultracopier-Spec/documentation.dox
index 5a0fbf6..5a0fbf6 100644..100755
--- a/plugins/CopyEngine/Ultracopier/documentation.dox
+++ b/plugins/CopyEngine/Ultracopier-Spec/documentation.dox
diff --git a/plugins/CopyEngine/Ultracopier/fileErrorDialog.ui b/plugins/CopyEngine/Ultracopier-Spec/fileErrorDialog.ui
index b603924..b603924 100644..100755
--- a/plugins/CopyEngine/Ultracopier/fileErrorDialog.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/fileErrorDialog.ui
diff --git a/plugins/CopyEngine/Ultracopier/fileExistsDialog.ui b/plugins/CopyEngine/Ultracopier-Spec/fileExistsDialog.ui
index 0c38a57..2ca480b 100644..100755
--- a/plugins/CopyEngine/Ultracopier/fileExistsDialog.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/fileExistsDialog.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>469</width>
- <height>162</height>
+ <width>615</width>
+ <height>222</height>
</rect>
</property>
<property name="windowTitle">
@@ -357,6 +357,22 @@
<string>Overwrite if older</string>
</property>
</action>
+ <action name="actionOverwrite_if_not_same_size">
+ <property name="text">
+ <string>Overwrite if not same size</string>
+ </property>
+ <property name="toolTip">
+ <string>Overwrite if not same size</string>
+ </property>
+ </action>
+ <action name="actionOverwrite_if_not_same_size_and_date">
+ <property name="text">
+ <string>Overwrite if not same size and date</string>
+ </property>
+ <property name="toolTip">
+ <string>Overwrite if not same size and date</string>
+ </property>
+ </action>
</widget>
<resources/>
<connections>
diff --git a/plugins/CopyEngine/Ultracopier/fileIsSameDialog.ui b/plugins/CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui
index c019a63..c019a63 100644..100755
--- a/plugins/CopyEngine/Ultracopier/fileIsSameDialog.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui
diff --git a/plugins/CopyEngine/Ultracopier/folderExistsDialog.ui b/plugins/CopyEngine/Ultracopier-Spec/folderExistsDialog.ui
index 440b5ca..440b5ca 100644..100755
--- a/plugins/CopyEngine/Ultracopier/folderExistsDialog.ui
+++ b/plugins/CopyEngine/Ultracopier-Spec/folderExistsDialog.ui
diff --git a/plugins/CopyEngine/Ultracopier/informations.xml b/plugins/CopyEngine/Ultracopier-Spec/informations.xml
index fcb8c8f..7281da3 100644..100755
--- a/plugins/CopyEngine/Ultracopier/informations.xml
+++ b/plugins/CopyEngine/Ultracopier-Spec/informations.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<package>
- <title xml:lang="en"><![CDATA[Copy engine of Ultracopier]]></title><!-- english is required -->
- <title xml:lang="fr"><![CDATA[Moteur de copie d'ultracopier]]></title>
+ <title xml:lang="en"><![CDATA[Copy engine OS Specific of Ultracopier]]></title><!-- english is required -->
+ <title xml:lang="fr"><![CDATA[Moteur de copie spécifique à l'OS d'ultracopier]]></title>
<!-- What kind of plugin this is -->
<category>CopyEngine</category>
<!-- Who wrote this plugin -->
@@ -14,13 +14,13 @@
<!-- the architecture code of this plugin, found PlatformMacro.h into ultracopier source -->
<architecture>windows-x86</architecture>
<!-- Detailed description -->
- <description xml:lang="en"><![CDATA[Copy engine of Ultracopier, do in Qt for all platform, and copy by stream]]></description>
- <description xml:lang="fr"><![CDATA[Moteur de copie d'ultracopier, fait en Qt pour toutes les plateformes, et copie par stream]]></description>
+ <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>1.6.1.3</version>
+ <version>2.2.4.4</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</name>
+ <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. -->
<dependencies><![CDATA[
]]></dependencies>
-</package> \ No newline at end of file
+</package>
diff --git a/plugins/CopyEngine/Ultracopier-Spec/plugin.json b/plugins/CopyEngine/Ultracopier-Spec/plugin.json
new file mode 100755
index 0000000..9e26dfe
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/plugin.json
@@ -0,0 +1 @@
+{} \ No newline at end of file
diff --git a/plugins/CopyEngine/Ultracopier-Spec/ports.h b/plugins/CopyEngine/Ultracopier-Spec/ports.h
new file mode 100755
index 0000000..f888794
--- /dev/null
+++ b/plugins/CopyEngine/Ultracopier-Spec/ports.h
@@ -0,0 +1,6 @@
+#if defined(PLATFORM_MAC) || defined(PLATFORM_HAIKU)
+ #define fseeko64 stat
+ #define ftruncate64 ftruncate
+ #define off64_t off_t
+ #define O_LARGEFILE 0
+#endif
diff --git a/plugins/CopyEngine/Ultracopier/resources/add.png b/plugins/CopyEngine/Ultracopier-Spec/resources/add.png
index 7932127..7932127 100644..100755
--- a/plugins/CopyEngine/Ultracopier/resources/add.png
+++ b/plugins/CopyEngine/Ultracopier-Spec/resources/add.png
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/resources/edit.png b/plugins/CopyEngine/Ultracopier-Spec/resources/edit.png
index 5464856..5464856 100644..100755
--- a/plugins/CopyEngine/Ultracopier/resources/edit.png
+++ b/plugins/CopyEngine/Ultracopier-Spec/resources/edit.png
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/resources/filter.png b/plugins/CopyEngine/Ultracopier-Spec/resources/filter.png
index 9bb3164..9bb3164 100644..100755
--- a/plugins/CopyEngine/Ultracopier/resources/filter.png
+++ b/plugins/CopyEngine/Ultracopier-Spec/resources/filter.png
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/resources/remove.png b/plugins/CopyEngine/Ultracopier-Spec/resources/remove.png
index b711740..b711740 100644..100755
--- a/plugins/CopyEngine/Ultracopier/resources/remove.png
+++ b/plugins/CopyEngine/Ultracopier-Spec/resources/remove.png
Binary files differ
diff --git a/plugins/CopyEngine/Ultracopier/AvancedQFile.cpp b/plugins/CopyEngine/Ultracopier/AvancedQFile.cpp
deleted file mode 100644
index 3d867fb..0000000
--- a/plugins/CopyEngine/Ultracopier/AvancedQFile.cpp
+++ /dev/null
@@ -1,208 +0,0 @@
-/** \file AvancedQFile.cpp
-\brief Define the QFile herited class to set file date/time
-\author alpha_one_x86 */
-
-#include "AvancedQFile.h"
-
-#ifdef Q_CC_GNU
-//this next header is needed to change file time/date under gcc
-#include <utime.h>
-#include <errno.h>
-#endif
-
-//source
-//hSrc=CreateFile(pData->pfiSrcFile->GetFullFilePath(), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN | (bNoBuffer ? FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH : 0), NULL);
-//destination
-//hDst=CreateFile(pData->strDstFile, GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN | (bNoBuffer ? FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH : 0), NULL);
-
-bool AvancedQFile::setCreated(const QDateTime &time)
-{
- time_t ctime=time.toTime_t();
- #ifdef Q_CC_GNU
- //creation time not exists into unix world
- Q_UNUSED(ctime)
- return true;
- #else
- setErrorString(tr("Not supported on this platform"));
- return false;
- #endif
-}
-
-bool AvancedQFile::setLastModified(const QDateTime &time)
-{
- time_t actime=QFileInfo(*this).lastRead().toTime_t();
- //protect to wrong actime
- if(actime<0)
- actime=0;
- time_t modtime=time.toTime_t();
- if(modtime<0)
- {
- setErrorString(tr("Last modified date is wrong"));
- return false;
- }
- #ifdef Q_CC_GNU
- //this function avalaible on unix and mingw
- utimbuf butime;
- butime.actime=actime;
- butime.modtime=modtime;
- int returnVal=utime(this->fileName().toLocal8Bit().data(),&butime);
- if(returnVal==0)
- return true;
- else
- {
- setErrorString(strerror(errno));
- return false;
- }
- #else
- setErrorString(tr("Not supported on this platform"));
- return false;
- #endif
-}
-
-bool AvancedQFile::setLastRead(const QDateTime &time)
-{
- time_t modtime=QFileInfo(*this).lastModified().toTime_t();
- //protect to wrong actime
- if(modtime<0)
- modtime=0;
- time_t actime=time.toTime_t();
- if(actime<0)
- {
- setErrorString(tr("Last access date is wrong"));
- return false;
- }
- #ifdef Q_CC_GNU
- //this function avalaible on unix and mingw
- utimbuf butime;
- butime.actime=actime;
- butime.modtime=modtime;
- int returnVal=utime(this->fileName().toLocal8Bit().data(),&butime);
- if(returnVal==0)
- return true;
- else
- {
- setErrorString(strerror(errno));
- return false;
- }
- #else
- setErrorString(tr("Not supported on this platform"));
- return false;
- #endif
-}
-
-#ifdef ULTRACOPIER_OVERLAPPED_FILE
-AvancedQFile::avancedQFile()
-{
- handle=INVALID_HANDLE_VALUE;
- fileError=QFileDevice::NoError;
- fileErrorString.clear();
-}
-
-AvancedQFile::~avancedQFile()
-{
- close();
-}
-
-QString AvancedQFile::getLastWindowsError()
-{
- WCHAR ErrorStringW[65535];
- DWORD dw = GetLastError();
-
- int size=FormatMessage(
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- dw,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- ErrorStringW,
- 0, NULL );
- if(size<0)
- tr("Unknown error: %1").arg(dw);
- return QString::fromWCharArray(ErrorStringW,size);
-}
-
-bool AvancedQFile::open(OpenMode mode)
-{
- fileError=QFileDevice::NoError;
- fileErrorString.clear();
- WCHAR fileNameW[fileName().size()+1];
- if(QDir::toNativeSeparators("\\\\?\\"+fileName()).toWCharArray(fileNameW)!=fileName().size())
- {
- fileError=QFileDevice::OpenError;
- fileErrorString=tr("Path conversion error");
- return false;
- }
- fileNameW[fileName().size()]='\0';
-
- DWORD dwDesiredAccess=0;
- if(mode & QIODevice::ReadOnly)
- dwDesiredAccess|=GENERIC_READ;
- if(mode & QIODevice::WriteOnly)
- dwDesiredAccess|=GENERIC_Write;
-
- DWORD dwCreationDisposition;
- if(mode & QIODevice::WriteOnly)
- dwCreationDisposition=CREATE_ALWAYS;
- else
- dwCreationDisposition=OPEN_EXISTING;
-
- handle=CreateFile(
- fileNameW,
- dwDesiredAccess,
- 0,
- 0,
- dwCreationDisposition,
- FILE_FLAG_WRITE_THROUGH | FILE_FLAG_SEQUENTIAL_SCAN,
- 0
- );
- if(handle==INVALID_HANDLE_VALUE)
- {
- fileError=QFileDevice::OpenError;
- fileErrorString=getLastWindowsError();
- }
- return (handle!=INVALID_HANDLE_VALUE);
-}
-
-void AvancedQFile::close()
-{
- if(handle==INVALID_HANDLE_VALUE)
- return;
- CloseHandle(handle);
-}
-
-bool AvancedQFile::seek(qint64 pos)
-{
- toto
-}
-
-bool AvancedQFile::resize(qint64 size)
-{
- toto
-}
-
-QString AvancedQFile::errorString() const
-{
- if(fileErrorString.isEmpty())
- return tr("Unknown error");
- return fileErrorString;
-}
-
-bool AvancedQFile::isOpen() const
-{
- return (handle!=INVALID_HANDLE_VALUE);
-}
-
-qint64 AvancedQFile::write(const QByteArray &data)
-{
-}
-
-QByteArray AvancedQFile::read(qint64 maxlen)
-{
-}
-
-QFileDevice::FileError AvancedQFile::error() const
-{
- return fileError;
-}
-#endif
diff --git a/plugins/CopyEngine/Ultracopier/AvancedQFile.h b/plugins/CopyEngine/Ultracopier/AvancedQFile.h
deleted file mode 100644
index 8c3dc4a..0000000
--- a/plugins/CopyEngine/Ultracopier/AvancedQFile.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/** \file AvancedQFile.h
-\brief Define the QFile herited class to set file date/time
-\author alpha_one_x86
-\licence GPL3, see the file COPYING */
-
-#ifndef AVANCEDQFILE_H
-#define AVANCEDQFILE_H
-
-#include <QFile>
-#include <QDateTime>
-#include <QFileInfo>
-
-/// \brief devired class from QFile to set time/date on file
-class AvancedQFile : public QFile
-{
- Q_OBJECT
-public:
- /// \brief set created date, not exists in unix world
- bool setCreated(const QDateTime &time);
- /// \brief set last modification date
- bool setLastModified(const QDateTime &time);
- /// \brief set last read date
- bool setLastRead(const QDateTime &time);
-
- #ifdef ULTRACOPIER_OVERLAPPED_FILE
- explicit AvancedQFile();
- ~AvancedQFile();
- bool open(OpenMode mode);
- void close();
- bool seek(qint64 pos);
- bool resize(qint64 size);
- QString errorString() const;
- bool isOpen() const;
- qint64 write(const QByteArray &data);
- QByteArray read(qint64 maxlen);
- FileError error() const;
- QString getLastWindowsError();
-private:
- HANDLE handle;
- FileError fileError;
- QString fileErrorString;
- #endif
-};
-
-#endif // AVANCEDQFILE_H
diff --git a/plugins/CopyEngine/Ultracopier/DriveManagement.cpp b/plugins/CopyEngine/Ultracopier/DriveManagement.cpp
deleted file mode 100644
index 27fc9cb..0000000
--- a/plugins/CopyEngine/Ultracopier/DriveManagement.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-#include "DriveManagement.h"
-
-#include <QDir>
-#include <QFileInfoList>
-#include <QStorageInfo>
-
-#include "../../../cpp11addition.h"
-
-DriveManagement::DriveManagement()
-{
- tryUpdate();
- #ifdef Q_OS_WIN32
- reg1=std::regex("^(\\\\\\\\|//)[^\\\\\\\\/]+(\\\\|/)[^\\\\\\\\/]+.*");
- reg2=std::regex("^((\\\\\\\\|//)[^\\\\\\\\/]+(\\\\|/)[^\\\\\\\\/]+).*$");
- reg3=std::regex("^[a-zA-Z]:[\\\\/].*");
- reg4=std::regex("^([a-zA-Z]:[\\\\/]).*$");
- #endif
- /// \warn ULTRACOPIER_DEBUGCONSOLE() don't work here because the sinal slot is not connected!
-}
-
-//get drive of an file or folder
-/// \todo do network drive support for windows
-std::string DriveManagement::getDrive(const std::string &fileOrFolder) const
-{
- const std::string &inode=QDir::toNativeSeparators(QString::fromStdString(fileOrFolder)).toStdString();
- int size=mountSysPoint.size();
- for (int i = 0; i < size; ++i) {
- if(stringStartWith(inode,mountSysPoint.at(i)))
- return QDir::toNativeSeparators(QString::fromStdString(mountSysPoint.at(i))).toStdString();
- }
- #ifdef Q_OS_WIN32
- if(std::regex_match(fileOrFolder,reg1))
- {
- std::string returnString=fileOrFolder;
- std::regex_replace(returnString,reg2,"$1");
- return returnString;
- }
- //due to lack of WMI support into mingw, the new drive event is never called, this is a workaround
- if(std::regex_match(fileOrFolder,reg3))
- {
- std::string returnString=fileOrFolder;
- std::regex_replace(returnString,reg4,"$1");
- return QDir::toNativeSeparators(QString::fromStdString(returnString)).toUpper().toStdString();
- }
- #endif
- //if unable to locate the right mount point
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"unable to locate the right mount point for: "+inode+", mount point: "+stringimplode(mountSysPoint,";"));
- return std::string();
-}
-
-QByteArray DriveManagement::getDriveType(const std::string &drive) const
-{
- int index=vectorindexOf(mountSysPoint,drive);
- if(index!=-1)
- return driveType.at(index);
- return QByteArray();
-}
-
-bool DriveManagement::isSameDrive(const std::string &file1,const std::string &file2) const
-{
- if(mountSysPoint.size()==0)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"no mount point found");
- return false;
- }
- const std::string &drive1=getDrive(file1);
- if(drive1.empty())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"drive for the file1 not found: "+file1);
- return false;
- }
- const std::string &drive2=getDrive(file2);
- if(drive2.empty())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"drive for the file2 not found: "+file2);
- return false;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,drive1+" is egal to "+drive2);
- if(drive1==drive2)
- return true;
- else
- return false;
-}
-
-void DriveManagement::tryUpdate()
-{
- mountSysPoint.clear();
- driveType.clear();
- const QList<QStorageInfo> mountedVolumesList=QStorageInfo::mountedVolumes();
- int index=0;
- while(index<mountedVolumesList.size())
- {
- mountSysPoint.push_back(QDir::toNativeSeparators(mountedVolumesList.at(index).rootPath()).toStdString());
- #ifdef Q_OS_WIN32
- if(mountSysPoint.back()!="A:\\" && mountSysPoint.back()!="A:/" && mountSysPoint.back()!="A:" && mountSysPoint.back()!="A" &&
- mountSysPoint.back()!="a:\\" && mountSysPoint.back()!="a:/" && mountSysPoint.back()!="a:" && mountSysPoint.back()!="a")
- driveType.push_back(mountedVolumesList.at(index).fileSystemType());
- else
- driveType.push_back(QByteArray());
- #else
- driveType.push_back(mountedVolumesList.at(index).fileSystemType());
- #endif
- index++;
- }
-}
diff --git a/plugins/CopyEngine/Ultracopier/Languages/ja/translation.ts b/plugins/CopyEngine/Ultracopier/Languages/ja/translation.ts
deleted file mode 100644
index 19bfabd..0000000
--- a/plugins/CopyEngine/Ultracopier/Languages/ja/translation.ts
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1">
-<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngine</name>
- <message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
- <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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
- <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="508"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="508"/>
- <source>Use the actual destination &quot;%1&quot;?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="732"/>
- <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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngineFactory</name>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options engine is not loaded, can&apos;t access to the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DiskSpace</name>
- <message>
- <location filename="../../DiskSpace.ui" line="14"/>
- <source>Disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="24"/>
- <source>You need more space on this drive to finish this transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="49"/>
- <source>Continue</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="56"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.cpp" line="23"/>
- <source>Drives %1 have %2 available but need %3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileErrorDialog</name>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
- <source>Error on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileExistsDialog</name>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
- <source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileIsSameDialog</name>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FilterRules</name>
- <message>
- <location filename="../../FilterRules.ui" line="17"/>
- <source>Filters dialog</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="33"/>
- <source>Search:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="43"/>
- <source>Search type:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="51"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="56"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="61"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="69"/>
- <source>Apply on:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="77"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="82"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="87"/>
- <source>File and folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="95"/>
- <source>Whole string must match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="125"/>
- <source>The test string matches with the regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="102"/>
- <source>Checking</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="108"/>
- <source>The regex is valid</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="115"/>
- <source>Test string:</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Filters</name>
- <message>
- <location filename="../../Filters.ui" line="14"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="30"/>
- <source>Exclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="93"/>
- <source>Inclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="105"/>
- <source>None = Include all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
- <source>Only on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
- <source>Only on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
- <source>Full match</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FolderExistsDialog</name>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
- <source>Folder already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ListThread</name>
- <message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
- <source>Unable do to move or copy item into wrong forced mode: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
- <source>Unable to save the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1510"/>
- <source>Problem reading file, or file-size is 0</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1517"/>
- <source>Wrong header: &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1526"/>
- <source>The transfer list is in mixed mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1535"/>
- <source>The transfer list is in copy mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1541"/>
- <source>The transfer list is in move mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1604"/>
- <source>Some errors have been found during the line parsing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1612"/>
- <source>Unable to open the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MkPath</name>
- <message>
- <location filename="../../MkPath.cpp" line="142"/>
- <source>Unable to create the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="155"/>
- <source>The source folder don&apos;t exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="183"/>
- <source>Unable to temporary rename the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="206"/>
- <source>Unable to do the final real move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="233"/>
- <source>Unable to move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
- <source>Unable to remove</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ReadThread</name>
- <message>
- <location filename="../../ReadThread.cpp" line="59"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
- <source>File truncated during the read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RenamingRules</name>
- <message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="35"/>
- <source>First renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="41"/>
- <source>%name% - copy%suffix%</source>
- <extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="57"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="67"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="51"/>
- <source>Second renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ScanFileOrFolder</name>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TransferThread</name>
- <message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>WriteThread</name>
- <message>
- <location filename="../../WriteThread.cpp" line="83"/>
- <source>Path resolution error (Empty path)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>copyEngineOptions</name>
- <message>
- <location filename="../../copyEngineOptions.ui" line="44"/>
- <source>Transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
- <source>Move the whole folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
- <source>Error and collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
- <source>When folder error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
- <source>When file error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
- <source>When file collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
- <source>Performance</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
- <source>Misc</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
- <source>Check the disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
- <source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
- <source>Browse</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileErrorDialog</name>
- <message>
- <location filename="../../fileErrorDialog.ui" line="14"/>
- <source>Error with file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="20"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="59"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="76"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="93"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="110"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="127"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="173"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="193"/>
- <source>Try in with elevated privileges</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="200"/>
- <source>Put to bottom</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="207"/>
- <source>Retry</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="214"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="221"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileExistsDialog</name>
- <message>
- <location filename="../../fileExistsDialog.ui" line="14"/>
- <source>The file exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="82"/>
- <location filename="../../fileExistsDialog.ui" line="170"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="99"/>
- <location filename="../../fileExistsDialog.ui" line="187"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="116"/>
- <location filename="../../fileExistsDialog.ui" line="204"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="133"/>
- <location filename="../../fileExistsDialog.ui" line="221"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="277"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="288"/>
- <source>&amp;Always perform this action</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="308"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="315"/>
- <source>&amp;Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="325"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="332"/>
- <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>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="40"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="110"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="70"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="14"/>
- <source>The source and destination are same</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="90"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="159"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="170"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="190"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="197"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="204"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>folderExistsDialog</name>
- <message>
- <location filename="../../folderExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="14"/>
- <source>The source and destination is identical</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="82"/>
- <location filename="../../folderExistsDialog.ui" line="150"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="99"/>
- <location filename="../../folderExistsDialog.ui" line="160"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="116"/>
- <location filename="../../folderExistsDialog.ui" line="184"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="227"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="238"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="245"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="252"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="259"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="266"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/plugins/CopyEngine/Ultracopier/Languages/nl/translation.ts b/plugins/CopyEngine/Ultracopier/Languages/nl/translation.ts
deleted file mode 100644
index e17b3f2..0000000
--- a/plugins/CopyEngine/Ultracopier/Languages/nl/translation.ts
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1">
-<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngine</name>
- <message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
- <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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
- <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="508"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="508"/>
- <source>Use the actual destination &quot;%1&quot;?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="732"/>
- <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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngineFactory</name>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options engine is not loaded, can&apos;t access to the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DiskSpace</name>
- <message>
- <location filename="../../DiskSpace.ui" line="14"/>
- <source>Disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="24"/>
- <source>You need more space on this drive to finish this transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="49"/>
- <source>Continue</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="56"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.cpp" line="23"/>
- <source>Drives %1 have %2 available but need %3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileErrorDialog</name>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
- <source>Error on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileExistsDialog</name>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
- <source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileIsSameDialog</name>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FilterRules</name>
- <message>
- <location filename="../../FilterRules.ui" line="33"/>
- <source>Search:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="43"/>
- <source>Search type:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="51"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="56"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="61"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="69"/>
- <source>Apply on:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="77"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="82"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="87"/>
- <source>File and folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="125"/>
- <source>The test string matches with the regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="102"/>
- <source>Checking</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="115"/>
- <source>Test string:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="17"/>
- <source>Filters dialog</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="95"/>
- <source>Whole string must match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="108"/>
- <source>The regex is valid</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Filters</name>
- <message>
- <location filename="../../Filters.ui" line="14"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="30"/>
- <source>Exclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="93"/>
- <source>Inclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="105"/>
- <source>None = Include all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
- <source>Only on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
- <source>Only on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
- <source>Full match</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FolderExistsDialog</name>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
- <source>Folder already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ListThread</name>
- <message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
- <source>Unable do to move or copy item into wrong forced mode: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
- <source>Unable to save the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1510"/>
- <source>Problem reading file, or file-size is 0</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1517"/>
- <source>Wrong header: &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1526"/>
- <source>The transfer list is in mixed mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1535"/>
- <source>The transfer list is in copy mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1541"/>
- <source>The transfer list is in move mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1604"/>
- <source>Some errors have been found during the line parsing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1612"/>
- <source>Unable to open the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MkPath</name>
- <message>
- <location filename="../../MkPath.cpp" line="142"/>
- <source>Unable to create the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="155"/>
- <source>The source folder don&apos;t exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="183"/>
- <source>Unable to temporary rename the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="206"/>
- <source>Unable to do the final real move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="233"/>
- <source>Unable to move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
- <source>Unable to remove</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ReadThread</name>
- <message>
- <location filename="../../ReadThread.cpp" line="59"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
- <source>File truncated during the read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RenamingRules</name>
- <message>
- <location filename="../../RenamingRules.ui" line="35"/>
- <source>First renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="41"/>
- <source>%name% - copy%suffix%</source>
- <extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="57"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="67"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="51"/>
- <source>Second renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ScanFileOrFolder</name>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TransferThread</name>
- <message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>WriteThread</name>
- <message>
- <location filename="../../WriteThread.cpp" line="83"/>
- <source>Path resolution error (Empty path)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>copyEngineOptions</name>
- <message>
- <location filename="../../copyEngineOptions.ui" line="44"/>
- <source>Transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
- <source>Move the whole folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
- <source>Error and collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
- <source>When folder error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
- <source>When file error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
- <source>When file collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
- <source>Performance</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
- <source>Misc</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
- <source>Check the disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
- <source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
- <source>Browse</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileErrorDialog</name>
- <message>
- <location filename="../../fileErrorDialog.ui" line="14"/>
- <source>Error with file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="20"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="59"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="76"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="93"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="110"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="127"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="173"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="193"/>
- <source>Try in with elevated privileges</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="200"/>
- <source>Put to bottom</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="207"/>
- <source>Retry</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="214"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="221"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileExistsDialog</name>
- <message>
- <location filename="../../fileExistsDialog.ui" line="14"/>
- <source>The file exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="82"/>
- <location filename="../../fileExistsDialog.ui" line="170"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="99"/>
- <location filename="../../fileExistsDialog.ui" line="187"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="116"/>
- <location filename="../../fileExistsDialog.ui" line="204"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="133"/>
- <location filename="../../fileExistsDialog.ui" line="221"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="277"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="288"/>
- <source>&amp;Always perform this action</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="308"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="315"/>
- <source>&amp;Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="325"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="332"/>
- <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>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="40"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="110"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="70"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="14"/>
- <source>The source and destination are same</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="90"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="159"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="170"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="190"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="197"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="204"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>folderExistsDialog</name>
- <message>
- <location filename="../../folderExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="14"/>
- <source>The source and destination is identical</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="82"/>
- <location filename="../../folderExistsDialog.ui" line="150"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="99"/>
- <location filename="../../folderExistsDialog.ui" line="160"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="116"/>
- <location filename="../../folderExistsDialog.ui" line="184"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="227"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="238"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="245"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="252"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="259"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="266"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/plugins/CopyEngine/Ultracopier/Languages/no/translation.ts b/plugins/CopyEngine/Ultracopier/Languages/no/translation.ts
deleted file mode 100644
index e17b3f2..0000000
--- a/plugins/CopyEngine/Ultracopier/Languages/no/translation.ts
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1">
-<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngine</name>
- <message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
- <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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
- <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="508"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="508"/>
- <source>Use the actual destination &quot;%1&quot;?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="732"/>
- <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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngineFactory</name>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options engine is not loaded, can&apos;t access to the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DiskSpace</name>
- <message>
- <location filename="../../DiskSpace.ui" line="14"/>
- <source>Disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="24"/>
- <source>You need more space on this drive to finish this transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="49"/>
- <source>Continue</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="56"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.cpp" line="23"/>
- <source>Drives %1 have %2 available but need %3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileErrorDialog</name>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
- <source>Error on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileExistsDialog</name>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
- <source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileIsSameDialog</name>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FilterRules</name>
- <message>
- <location filename="../../FilterRules.ui" line="33"/>
- <source>Search:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="43"/>
- <source>Search type:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="51"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="56"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="61"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="69"/>
- <source>Apply on:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="77"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="82"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="87"/>
- <source>File and folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="125"/>
- <source>The test string matches with the regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="102"/>
- <source>Checking</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="115"/>
- <source>Test string:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="17"/>
- <source>Filters dialog</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="95"/>
- <source>Whole string must match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="108"/>
- <source>The regex is valid</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Filters</name>
- <message>
- <location filename="../../Filters.ui" line="14"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="30"/>
- <source>Exclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="93"/>
- <source>Inclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="105"/>
- <source>None = Include all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
- <source>Only on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
- <source>Only on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
- <source>Full match</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FolderExistsDialog</name>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
- <source>Folder already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ListThread</name>
- <message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
- <source>Unable do to move or copy item into wrong forced mode: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
- <source>Unable to save the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1510"/>
- <source>Problem reading file, or file-size is 0</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1517"/>
- <source>Wrong header: &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1526"/>
- <source>The transfer list is in mixed mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1535"/>
- <source>The transfer list is in copy mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1541"/>
- <source>The transfer list is in move mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1604"/>
- <source>Some errors have been found during the line parsing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1612"/>
- <source>Unable to open the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MkPath</name>
- <message>
- <location filename="../../MkPath.cpp" line="142"/>
- <source>Unable to create the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="155"/>
- <source>The source folder don&apos;t exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="183"/>
- <source>Unable to temporary rename the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="206"/>
- <source>Unable to do the final real move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="233"/>
- <source>Unable to move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
- <source>Unable to remove</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ReadThread</name>
- <message>
- <location filename="../../ReadThread.cpp" line="59"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
- <source>File truncated during the read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RenamingRules</name>
- <message>
- <location filename="../../RenamingRules.ui" line="35"/>
- <source>First renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="41"/>
- <source>%name% - copy%suffix%</source>
- <extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="57"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="67"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="51"/>
- <source>Second renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ScanFileOrFolder</name>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TransferThread</name>
- <message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>WriteThread</name>
- <message>
- <location filename="../../WriteThread.cpp" line="83"/>
- <source>Path resolution error (Empty path)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>copyEngineOptions</name>
- <message>
- <location filename="../../copyEngineOptions.ui" line="44"/>
- <source>Transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
- <source>Move the whole folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
- <source>Error and collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
- <source>When folder error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
- <source>When file error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
- <source>When file collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
- <source>Performance</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
- <source>Misc</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
- <source>Check the disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
- <source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
- <source>Browse</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileErrorDialog</name>
- <message>
- <location filename="../../fileErrorDialog.ui" line="14"/>
- <source>Error with file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="20"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="59"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="76"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="93"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="110"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="127"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="173"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="193"/>
- <source>Try in with elevated privileges</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="200"/>
- <source>Put to bottom</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="207"/>
- <source>Retry</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="214"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="221"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileExistsDialog</name>
- <message>
- <location filename="../../fileExistsDialog.ui" line="14"/>
- <source>The file exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="82"/>
- <location filename="../../fileExistsDialog.ui" line="170"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="99"/>
- <location filename="../../fileExistsDialog.ui" line="187"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="116"/>
- <location filename="../../fileExistsDialog.ui" line="204"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="133"/>
- <location filename="../../fileExistsDialog.ui" line="221"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="277"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="288"/>
- <source>&amp;Always perform this action</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="308"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="315"/>
- <source>&amp;Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="325"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="332"/>
- <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>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="40"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="110"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="70"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="14"/>
- <source>The source and destination are same</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="90"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="159"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="170"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="190"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="197"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="204"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>folderExistsDialog</name>
- <message>
- <location filename="../../folderExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="14"/>
- <source>The source and destination is identical</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="82"/>
- <location filename="../../folderExistsDialog.ui" line="150"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="99"/>
- <location filename="../../folderExistsDialog.ui" line="160"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="116"/>
- <location filename="../../folderExistsDialog.ui" line="184"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="227"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="238"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="245"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="252"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="259"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="266"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/plugins/CopyEngine/Ultracopier/Languages/pl/translation.ts b/plugins/CopyEngine/Ultracopier/Languages/pl/translation.ts
deleted file mode 100644
index e17b3f2..0000000
--- a/plugins/CopyEngine/Ultracopier/Languages/pl/translation.ts
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1">
-<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngine</name>
- <message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
- <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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
- <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="508"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="508"/>
- <source>Use the actual destination &quot;%1&quot;?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="732"/>
- <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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngineFactory</name>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options engine is not loaded, can&apos;t access to the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DiskSpace</name>
- <message>
- <location filename="../../DiskSpace.ui" line="14"/>
- <source>Disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="24"/>
- <source>You need more space on this drive to finish this transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="49"/>
- <source>Continue</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="56"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.cpp" line="23"/>
- <source>Drives %1 have %2 available but need %3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileErrorDialog</name>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
- <source>Error on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileExistsDialog</name>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
- <source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileIsSameDialog</name>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FilterRules</name>
- <message>
- <location filename="../../FilterRules.ui" line="33"/>
- <source>Search:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="43"/>
- <source>Search type:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="51"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="56"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="61"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="69"/>
- <source>Apply on:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="77"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="82"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="87"/>
- <source>File and folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="125"/>
- <source>The test string matches with the regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="102"/>
- <source>Checking</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="115"/>
- <source>Test string:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="17"/>
- <source>Filters dialog</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="95"/>
- <source>Whole string must match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="108"/>
- <source>The regex is valid</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Filters</name>
- <message>
- <location filename="../../Filters.ui" line="14"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="30"/>
- <source>Exclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="93"/>
- <source>Inclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="105"/>
- <source>None = Include all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
- <source>Only on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
- <source>Only on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
- <source>Full match</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FolderExistsDialog</name>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
- <source>Folder already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ListThread</name>
- <message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
- <source>Unable do to move or copy item into wrong forced mode: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
- <source>Unable to save the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1510"/>
- <source>Problem reading file, or file-size is 0</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1517"/>
- <source>Wrong header: &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1526"/>
- <source>The transfer list is in mixed mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1535"/>
- <source>The transfer list is in copy mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1541"/>
- <source>The transfer list is in move mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1604"/>
- <source>Some errors have been found during the line parsing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1612"/>
- <source>Unable to open the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MkPath</name>
- <message>
- <location filename="../../MkPath.cpp" line="142"/>
- <source>Unable to create the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="155"/>
- <source>The source folder don&apos;t exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="183"/>
- <source>Unable to temporary rename the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="206"/>
- <source>Unable to do the final real move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="233"/>
- <source>Unable to move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
- <source>Unable to remove</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ReadThread</name>
- <message>
- <location filename="../../ReadThread.cpp" line="59"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
- <source>File truncated during the read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RenamingRules</name>
- <message>
- <location filename="../../RenamingRules.ui" line="35"/>
- <source>First renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="41"/>
- <source>%name% - copy%suffix%</source>
- <extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="57"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="67"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="51"/>
- <source>Second renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ScanFileOrFolder</name>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TransferThread</name>
- <message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>WriteThread</name>
- <message>
- <location filename="../../WriteThread.cpp" line="83"/>
- <source>Path resolution error (Empty path)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>copyEngineOptions</name>
- <message>
- <location filename="../../copyEngineOptions.ui" line="44"/>
- <source>Transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
- <source>Move the whole folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
- <source>Error and collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
- <source>When folder error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
- <source>When file error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
- <source>When file collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
- <source>Performance</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
- <source>Misc</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
- <source>Check the disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
- <source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
- <source>Browse</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileErrorDialog</name>
- <message>
- <location filename="../../fileErrorDialog.ui" line="14"/>
- <source>Error with file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="20"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="59"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="76"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="93"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="110"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="127"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="173"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="193"/>
- <source>Try in with elevated privileges</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="200"/>
- <source>Put to bottom</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="207"/>
- <source>Retry</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="214"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="221"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileExistsDialog</name>
- <message>
- <location filename="../../fileExistsDialog.ui" line="14"/>
- <source>The file exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="82"/>
- <location filename="../../fileExistsDialog.ui" line="170"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="99"/>
- <location filename="../../fileExistsDialog.ui" line="187"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="116"/>
- <location filename="../../fileExistsDialog.ui" line="204"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="133"/>
- <location filename="../../fileExistsDialog.ui" line="221"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="277"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="288"/>
- <source>&amp;Always perform this action</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="308"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="315"/>
- <source>&amp;Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="325"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="332"/>
- <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>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="40"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="110"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="70"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="14"/>
- <source>The source and destination are same</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="90"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="159"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="170"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="190"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="197"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="204"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>folderExistsDialog</name>
- <message>
- <location filename="../../folderExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="14"/>
- <source>The source and destination is identical</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="82"/>
- <location filename="../../folderExistsDialog.ui" line="150"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="99"/>
- <location filename="../../folderExistsDialog.ui" line="160"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="116"/>
- <location filename="../../folderExistsDialog.ui" line="184"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="227"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="238"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="245"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="252"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="259"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="266"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/plugins/CopyEngine/Ultracopier/Languages/pt/translation.ts b/plugins/CopyEngine/Ultracopier/Languages/pt/translation.ts
deleted file mode 100644
index e17b3f2..0000000
--- a/plugins/CopyEngine/Ultracopier/Languages/pt/translation.ts
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1">
-<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngine</name>
- <message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
- <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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
- <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="508"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="508"/>
- <source>Use the actual destination &quot;%1&quot;?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="732"/>
- <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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngineFactory</name>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options engine is not loaded, can&apos;t access to the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DiskSpace</name>
- <message>
- <location filename="../../DiskSpace.ui" line="14"/>
- <source>Disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="24"/>
- <source>You need more space on this drive to finish this transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="49"/>
- <source>Continue</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="56"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.cpp" line="23"/>
- <source>Drives %1 have %2 available but need %3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileErrorDialog</name>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
- <source>Error on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileExistsDialog</name>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
- <source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileIsSameDialog</name>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FilterRules</name>
- <message>
- <location filename="../../FilterRules.ui" line="33"/>
- <source>Search:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="43"/>
- <source>Search type:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="51"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="56"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="61"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="69"/>
- <source>Apply on:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="77"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="82"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="87"/>
- <source>File and folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="125"/>
- <source>The test string matches with the regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="102"/>
- <source>Checking</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="115"/>
- <source>Test string:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="17"/>
- <source>Filters dialog</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="95"/>
- <source>Whole string must match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="108"/>
- <source>The regex is valid</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Filters</name>
- <message>
- <location filename="../../Filters.ui" line="14"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="30"/>
- <source>Exclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="93"/>
- <source>Inclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="105"/>
- <source>None = Include all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
- <source>Only on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
- <source>Only on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
- <source>Full match</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FolderExistsDialog</name>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
- <source>Folder already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ListThread</name>
- <message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
- <source>Unable do to move or copy item into wrong forced mode: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
- <source>Unable to save the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1510"/>
- <source>Problem reading file, or file-size is 0</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1517"/>
- <source>Wrong header: &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1526"/>
- <source>The transfer list is in mixed mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1535"/>
- <source>The transfer list is in copy mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1541"/>
- <source>The transfer list is in move mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1604"/>
- <source>Some errors have been found during the line parsing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1612"/>
- <source>Unable to open the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MkPath</name>
- <message>
- <location filename="../../MkPath.cpp" line="142"/>
- <source>Unable to create the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="155"/>
- <source>The source folder don&apos;t exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="183"/>
- <source>Unable to temporary rename the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="206"/>
- <source>Unable to do the final real move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="233"/>
- <source>Unable to move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
- <source>Unable to remove</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ReadThread</name>
- <message>
- <location filename="../../ReadThread.cpp" line="59"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
- <source>File truncated during the read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RenamingRules</name>
- <message>
- <location filename="../../RenamingRules.ui" line="35"/>
- <source>First renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="41"/>
- <source>%name% - copy%suffix%</source>
- <extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="57"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="67"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="51"/>
- <source>Second renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ScanFileOrFolder</name>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TransferThread</name>
- <message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>WriteThread</name>
- <message>
- <location filename="../../WriteThread.cpp" line="83"/>
- <source>Path resolution error (Empty path)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>copyEngineOptions</name>
- <message>
- <location filename="../../copyEngineOptions.ui" line="44"/>
- <source>Transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
- <source>Move the whole folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
- <source>Error and collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
- <source>When folder error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
- <source>When file error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
- <source>When file collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
- <source>Performance</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
- <source>Misc</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
- <source>Check the disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
- <source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
- <source>Browse</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileErrorDialog</name>
- <message>
- <location filename="../../fileErrorDialog.ui" line="14"/>
- <source>Error with file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="20"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="59"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="76"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="93"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="110"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="127"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="173"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="193"/>
- <source>Try in with elevated privileges</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="200"/>
- <source>Put to bottom</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="207"/>
- <source>Retry</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="214"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="221"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileExistsDialog</name>
- <message>
- <location filename="../../fileExistsDialog.ui" line="14"/>
- <source>The file exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="82"/>
- <location filename="../../fileExistsDialog.ui" line="170"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="99"/>
- <location filename="../../fileExistsDialog.ui" line="187"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="116"/>
- <location filename="../../fileExistsDialog.ui" line="204"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="133"/>
- <location filename="../../fileExistsDialog.ui" line="221"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="277"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="288"/>
- <source>&amp;Always perform this action</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="308"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="315"/>
- <source>&amp;Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="325"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="332"/>
- <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>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="40"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="110"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="70"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="14"/>
- <source>The source and destination are same</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="90"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="159"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="170"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="190"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="197"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="204"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>folderExistsDialog</name>
- <message>
- <location filename="../../folderExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="14"/>
- <source>The source and destination is identical</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="82"/>
- <location filename="../../folderExistsDialog.ui" line="150"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="99"/>
- <location filename="../../folderExistsDialog.ui" line="160"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="116"/>
- <location filename="../../folderExistsDialog.ui" line="184"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="227"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="238"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="245"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="252"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="259"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="266"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/plugins/CopyEngine/Ultracopier/Languages/th/translation.ts b/plugins/CopyEngine/Ultracopier/Languages/th/translation.ts
deleted file mode 100644
index e17b3f2..0000000
--- a/plugins/CopyEngine/Ultracopier/Languages/th/translation.ts
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1">
-<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngine</name>
- <message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
- <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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
- <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="508"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="508"/>
- <source>Use the actual destination &quot;%1&quot;?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="732"/>
- <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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngineFactory</name>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options engine is not loaded, can&apos;t access to the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DiskSpace</name>
- <message>
- <location filename="../../DiskSpace.ui" line="14"/>
- <source>Disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="24"/>
- <source>You need more space on this drive to finish this transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="49"/>
- <source>Continue</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="56"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.cpp" line="23"/>
- <source>Drives %1 have %2 available but need %3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileErrorDialog</name>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
- <source>Error on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileExistsDialog</name>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
- <source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileIsSameDialog</name>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FilterRules</name>
- <message>
- <location filename="../../FilterRules.ui" line="33"/>
- <source>Search:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="43"/>
- <source>Search type:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="51"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="56"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="61"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="69"/>
- <source>Apply on:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="77"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="82"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="87"/>
- <source>File and folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="125"/>
- <source>The test string matches with the regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="102"/>
- <source>Checking</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="115"/>
- <source>Test string:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="17"/>
- <source>Filters dialog</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="95"/>
- <source>Whole string must match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="108"/>
- <source>The regex is valid</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Filters</name>
- <message>
- <location filename="../../Filters.ui" line="14"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="30"/>
- <source>Exclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="93"/>
- <source>Inclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="105"/>
- <source>None = Include all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
- <source>Only on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
- <source>Only on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
- <source>Full match</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FolderExistsDialog</name>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
- <source>Folder already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ListThread</name>
- <message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
- <source>Unable do to move or copy item into wrong forced mode: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
- <source>Unable to save the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1510"/>
- <source>Problem reading file, or file-size is 0</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1517"/>
- <source>Wrong header: &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1526"/>
- <source>The transfer list is in mixed mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1535"/>
- <source>The transfer list is in copy mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1541"/>
- <source>The transfer list is in move mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1604"/>
- <source>Some errors have been found during the line parsing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1612"/>
- <source>Unable to open the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MkPath</name>
- <message>
- <location filename="../../MkPath.cpp" line="142"/>
- <source>Unable to create the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="155"/>
- <source>The source folder don&apos;t exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="183"/>
- <source>Unable to temporary rename the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="206"/>
- <source>Unable to do the final real move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="233"/>
- <source>Unable to move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
- <source>Unable to remove</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ReadThread</name>
- <message>
- <location filename="../../ReadThread.cpp" line="59"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
- <source>File truncated during the read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RenamingRules</name>
- <message>
- <location filename="../../RenamingRules.ui" line="35"/>
- <source>First renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="41"/>
- <source>%name% - copy%suffix%</source>
- <extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="57"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="67"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="51"/>
- <source>Second renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ScanFileOrFolder</name>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TransferThread</name>
- <message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>WriteThread</name>
- <message>
- <location filename="../../WriteThread.cpp" line="83"/>
- <source>Path resolution error (Empty path)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>copyEngineOptions</name>
- <message>
- <location filename="../../copyEngineOptions.ui" line="44"/>
- <source>Transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
- <source>Move the whole folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
- <source>Error and collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
- <source>When folder error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
- <source>When file error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
- <source>When file collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
- <source>Performance</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
- <source>Misc</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
- <source>Check the disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
- <source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
- <source>Browse</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileErrorDialog</name>
- <message>
- <location filename="../../fileErrorDialog.ui" line="14"/>
- <source>Error with file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="20"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="59"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="76"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="93"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="110"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="127"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="173"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="193"/>
- <source>Try in with elevated privileges</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="200"/>
- <source>Put to bottom</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="207"/>
- <source>Retry</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="214"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="221"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileExistsDialog</name>
- <message>
- <location filename="../../fileExistsDialog.ui" line="14"/>
- <source>The file exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="82"/>
- <location filename="../../fileExistsDialog.ui" line="170"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="99"/>
- <location filename="../../fileExistsDialog.ui" line="187"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="116"/>
- <location filename="../../fileExistsDialog.ui" line="204"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="133"/>
- <location filename="../../fileExistsDialog.ui" line="221"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="277"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="288"/>
- <source>&amp;Always perform this action</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="308"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="315"/>
- <source>&amp;Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="325"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="332"/>
- <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>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="40"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="110"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="70"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="14"/>
- <source>The source and destination are same</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="90"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="159"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="170"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="190"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="197"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="204"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>folderExistsDialog</name>
- <message>
- <location filename="../../folderExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="14"/>
- <source>The source and destination is identical</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="82"/>
- <location filename="../../folderExistsDialog.ui" line="150"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="99"/>
- <location filename="../../folderExistsDialog.ui" line="160"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="116"/>
- <location filename="../../folderExistsDialog.ui" line="184"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="227"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="238"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="245"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="252"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="259"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="266"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/plugins/CopyEngine/Ultracopier/Languages/tr/translation.ts b/plugins/CopyEngine/Ultracopier/Languages/tr/translation.ts
deleted file mode 100644
index e17b3f2..0000000
--- a/plugins/CopyEngine/Ultracopier/Languages/tr/translation.ts
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1">
-<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngine</name>
- <message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
- <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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
- <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="508"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="508"/>
- <source>Use the actual destination &quot;%1&quot;?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="732"/>
- <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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngineFactory</name>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options engine is not loaded, can&apos;t access to the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DiskSpace</name>
- <message>
- <location filename="../../DiskSpace.ui" line="14"/>
- <source>Disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="24"/>
- <source>You need more space on this drive to finish this transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="49"/>
- <source>Continue</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="56"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.cpp" line="23"/>
- <source>Drives %1 have %2 available but need %3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileErrorDialog</name>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
- <source>Error on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileExistsDialog</name>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
- <source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileIsSameDialog</name>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FilterRules</name>
- <message>
- <location filename="../../FilterRules.ui" line="33"/>
- <source>Search:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="43"/>
- <source>Search type:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="51"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="56"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="61"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="69"/>
- <source>Apply on:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="77"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="82"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="87"/>
- <source>File and folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="125"/>
- <source>The test string matches with the regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="102"/>
- <source>Checking</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="115"/>
- <source>Test string:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="17"/>
- <source>Filters dialog</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="95"/>
- <source>Whole string must match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="108"/>
- <source>The regex is valid</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Filters</name>
- <message>
- <location filename="../../Filters.ui" line="14"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="30"/>
- <source>Exclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="93"/>
- <source>Inclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="105"/>
- <source>None = Include all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
- <source>Only on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
- <source>Only on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
- <source>Full match</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FolderExistsDialog</name>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
- <source>Folder already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ListThread</name>
- <message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
- <source>Unable do to move or copy item into wrong forced mode: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
- <source>Unable to save the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1510"/>
- <source>Problem reading file, or file-size is 0</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1517"/>
- <source>Wrong header: &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1526"/>
- <source>The transfer list is in mixed mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1535"/>
- <source>The transfer list is in copy mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1541"/>
- <source>The transfer list is in move mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1604"/>
- <source>Some errors have been found during the line parsing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1612"/>
- <source>Unable to open the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MkPath</name>
- <message>
- <location filename="../../MkPath.cpp" line="142"/>
- <source>Unable to create the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="155"/>
- <source>The source folder don&apos;t exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="183"/>
- <source>Unable to temporary rename the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="206"/>
- <source>Unable to do the final real move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="233"/>
- <source>Unable to move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
- <source>Unable to remove</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ReadThread</name>
- <message>
- <location filename="../../ReadThread.cpp" line="59"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
- <source>File truncated during the read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RenamingRules</name>
- <message>
- <location filename="../../RenamingRules.ui" line="35"/>
- <source>First renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="41"/>
- <source>%name% - copy%suffix%</source>
- <extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="57"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="67"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="51"/>
- <source>Second renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ScanFileOrFolder</name>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TransferThread</name>
- <message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>WriteThread</name>
- <message>
- <location filename="../../WriteThread.cpp" line="83"/>
- <source>Path resolution error (Empty path)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>copyEngineOptions</name>
- <message>
- <location filename="../../copyEngineOptions.ui" line="44"/>
- <source>Transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
- <source>Move the whole folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
- <source>Error and collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
- <source>When folder error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
- <source>When file error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
- <source>When file collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
- <source>Performance</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
- <source>Misc</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
- <source>Check the disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
- <source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
- <source>Browse</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileErrorDialog</name>
- <message>
- <location filename="../../fileErrorDialog.ui" line="14"/>
- <source>Error with file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="20"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="59"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="76"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="93"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="110"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="127"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="173"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="193"/>
- <source>Try in with elevated privileges</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="200"/>
- <source>Put to bottom</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="207"/>
- <source>Retry</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="214"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="221"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileExistsDialog</name>
- <message>
- <location filename="../../fileExistsDialog.ui" line="14"/>
- <source>The file exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="82"/>
- <location filename="../../fileExistsDialog.ui" line="170"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="99"/>
- <location filename="../../fileExistsDialog.ui" line="187"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="116"/>
- <location filename="../../fileExistsDialog.ui" line="204"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="133"/>
- <location filename="../../fileExistsDialog.ui" line="221"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="277"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="288"/>
- <source>&amp;Always perform this action</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="308"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="315"/>
- <source>&amp;Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="325"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="332"/>
- <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>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="40"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="110"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="70"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="14"/>
- <source>The source and destination are same</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="90"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="159"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="170"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="190"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="197"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="204"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>folderExistsDialog</name>
- <message>
- <location filename="../../folderExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="14"/>
- <source>The source and destination is identical</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="82"/>
- <location filename="../../folderExistsDialog.ui" line="150"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="99"/>
- <location filename="../../folderExistsDialog.ui" line="160"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="116"/>
- <location filename="../../folderExistsDialog.ui" line="184"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="227"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="238"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="245"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="252"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="259"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="266"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/plugins/CopyEngine/Ultracopier/Languages/zh/translation.ts b/plugins/CopyEngine/Ultracopier/Languages/zh/translation.ts
deleted file mode 100644
index 19bfabd..0000000
--- a/plugins/CopyEngine/Ultracopier/Languages/zh/translation.ts
+++ /dev/null
@@ -1,1291 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1">
-<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../AvancedQFile.cpp" line="26"/>
- <location filename="../../AvancedQFile.cpp" line="57"/>
- <location filename="../../AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngine</name>
- <message>
- <location filename="../../CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine.cpp" line="451"/>
- <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="462"/>
- <location filename="../../CopyEngine.cpp" line="484"/>
- <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="508"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="508"/>
- <source>Use the actual destination &quot;%1&quot;?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="732"/>
- <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="1062"/>
- <location filename="../../CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine.cpp" line="1074"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine.cpp" line="1075"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1066"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine.cpp" line="1080"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1072"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1076"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1077"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1078"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1079"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine.cpp" line="1185"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>CopyEngineFactory</name>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngineFactory.cpp" line="439"/>
- <source>Ask</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngineFactory.cpp" line="440"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="431"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngineFactory.cpp" line="445"/>
- <source>Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="437"/>
- <source>Put at the end</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="441"/>
- <source>Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="442"/>
- <source>Overwrite if different</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="443"/>
- <source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="444"/>
- <source>Overwrite if older</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="500"/>
- <source>Options engine is not loaded. Unable to access the filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngineFactory.cpp" line="539"/>
- <source>Options engine is not loaded, can&apos;t access to the filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DiskSpace</name>
- <message>
- <location filename="../../DiskSpace.ui" line="14"/>
- <source>Disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="24"/>
- <source>You need more space on this drive to finish this transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="49"/>
- <source>Continue</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.ui" line="56"/>
- <source>Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../DiskSpace.cpp" line="23"/>
- <source>Drives %1 have %2 available but need %3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileErrorDialog</name>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="54"/>
- <source>Error on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileErrorDialog.cpp" line="57"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileExistsDialog</name>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="137"/>
- <source>%name% - copy%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="144"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileExistsDialog.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FileIsSameDialog</name>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FileIsSameDialog.cpp" line="184"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FilterRules</name>
- <message>
- <location filename="../../FilterRules.ui" line="17"/>
- <source>Filters dialog</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="33"/>
- <source>Search:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="43"/>
- <source>Search type:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="51"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="56"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="61"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="69"/>
- <source>Apply on:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="77"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="82"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="87"/>
- <source>File and folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="95"/>
- <source>Whole string must match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="125"/>
- <source>The test string matches with the regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="102"/>
- <source>Checking</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="108"/>
- <source>The regex is valid</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FilterRules.ui" line="115"/>
- <source>Test string:</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Filters</name>
- <message>
- <location filename="../../Filters.ui" line="14"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="30"/>
- <source>Exclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="93"/>
- <source>Inclusion filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.ui" line="105"/>
- <source>None = Include all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="93"/>
- <location filename="../../Filters.cpp" line="131"/>
- <source>Raw text</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="96"/>
- <location filename="../../Filters.cpp" line="134"/>
- <source>Simplified regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="99"/>
- <location filename="../../Filters.cpp" line="137"/>
- <source>Perl&apos;s regex</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="107"/>
- <location filename="../../Filters.cpp" line="145"/>
- <source>Only on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="110"/>
- <location filename="../../Filters.cpp" line="148"/>
- <source>Only on folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Filters.cpp" line="116"/>
- <location filename="../../Filters.cpp" line="154"/>
- <location filename="../../Filters.cpp" line="216"/>
- <location filename="../../Filters.cpp" line="255"/>
- <source>Full match</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FolderExistsDialog</name>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="57"/>
- <source>Folder already exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../FolderExistsDialog.cpp" line="190"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ListThread</name>
- <message>
- <location filename="../../ListThread.cpp" line="1487"/>
- <location filename="../../ListThread.cpp" line="2419"/>
- <source>Unable do to move or copy item into wrong forced mode: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1494"/>
- <location filename="../../ListThread.cpp" line="2426"/>
- <source>Unable to save the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1510"/>
- <source>Problem reading file, or file-size is 0</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1517"/>
- <source>Wrong header: &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1526"/>
- <source>The transfer list is in mixed mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1535"/>
- <source>The transfer list is in copy mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1541"/>
- <source>The transfer list is in move mode, but this instance is not in this mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1604"/>
- <source>Some errors have been found during the line parsing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ListThread.cpp" line="1612"/>
- <source>Unable to open the transfer list: %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MkPath</name>
- <message>
- <location filename="../../MkPath.cpp" line="142"/>
- <source>Unable to create the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="155"/>
- <source>The source folder don&apos;t exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="183"/>
- <source>Unable to temporary rename the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="206"/>
- <source>Unable to do the final real move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="233"/>
- <source>Unable to move the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../MkPath.cpp" line="93"/>
- <location filename="../../MkPath.cpp" line="276"/>
- <source>Unable to remove</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ReadThread</name>
- <message>
- <location filename="../../ReadThread.cpp" line="59"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="196"/>
- <location filename="../../ReadThread.cpp" line="420"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ReadThread.cpp" line="237"/>
- <location filename="../../ReadThread.cpp" line="468"/>
- <source>File truncated during the read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>RenamingRules</name>
- <message>
- <location filename="../../RenamingRules.ui" line="14"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="35"/>
- <source>First renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="41"/>
- <source>%name% - copy%suffix%</source>
- <extracomment>%name% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="57"/>
- <source>%name% - copy (%number%)%suffix%</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="67"/>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <extracomment>%name%, %number% should not be translated</extracomment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.ui" line="51"/>
- <source>Second renaming</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="39"/>
- <location filename="../../RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../RenamingRules.cpp" line="43"/>
- <location filename="../../RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>ScanFileOrFolder</name>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="338"/>
- <source>%1 - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="345"/>
- <source>%1 - copy (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="401"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="408"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TransferThread</name>
- <message>
- <location filename="../../TransferThread.cpp" line="244"/>
- <location filename="../../TransferThread.cpp" line="673"/>
- <location filename="../../TransferThread.cpp" line="745"/>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="346"/>
- <location filename="../../TransferThread.cpp" line="363"/>
- <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="../../TransferThread.cpp" line="421"/>
- <location filename="../../TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="711"/>
- <location filename="../../TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="751"/>
- <location filename="../../TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="1315"/>
- <location filename="../../TransferThread.cpp" line="1333"/>
- <location filename="../../TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../TransferThread.cpp" line="228"/>
- <source>Try rename with using special characters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>WriteThread</name>
- <message>
- <location filename="../../WriteThread.cpp" line="83"/>
- <source>Path resolution error (Empty path)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>copyEngineOptions</name>
- <message>
- <location filename="../../copyEngineOptions.ui" line="44"/>
- <source>Transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="53"/>
- <source>Move the whole folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="90"/>
- <location filename="../../copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="139"/>
- <source>Error and collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="145"/>
- <source>When folder error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="155"/>
- <source>When file error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="181"/>
- <source>When file collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="414"/>
- <source>Performance</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="427"/>
- <location filename="../../copyEngineOptions.ui" line="440"/>
- <location filename="../../copyEngineOptions.ui" line="453"/>
- <location filename="../../copyEngineOptions.ui" line="490"/>
- <location filename="../../copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="589"/>
- <location filename="../../copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="618"/>
- <source>Misc</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="624"/>
- <source>Check the disk space</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="634"/>
- <source>Use this folder when destination is not set</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="646"/>
- <source>Browse</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../copyEngineOptions.ui" line="668"/>
- <source>Filters</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileErrorDialog</name>
- <message>
- <location filename="../../fileErrorDialog.ui" line="14"/>
- <source>Error with file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="20"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="59"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="76"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="93"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="110"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="127"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="173"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="193"/>
- <source>Try in with elevated privileges</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="200"/>
- <source>Put to bottom</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="207"/>
- <source>Retry</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="214"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileErrorDialog.ui" line="221"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>fileExistsDialog</name>
- <message>
- <location filename="../../fileExistsDialog.ui" line="14"/>
- <source>The file exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="82"/>
- <location filename="../../fileExistsDialog.ui" line="170"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="99"/>
- <location filename="../../fileExistsDialog.ui" line="187"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="116"/>
- <location filename="../../fileExistsDialog.ui" line="204"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="133"/>
- <location filename="../../fileExistsDialog.ui" line="221"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="277"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="288"/>
- <source>&amp;Always perform this action</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="308"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="315"/>
- <source>&amp;Overwrite</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="325"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileExistsDialog.ui" line="332"/>
- <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>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="40"/>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="110"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="70"/>
- <source>File name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="14"/>
- <source>The source and destination are same</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="90"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="159"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="170"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="190"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="197"/>
- <source>&amp;Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../fileIsSameDialog.ui" line="204"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>folderExistsDialog</name>
- <message>
- <location filename="../../folderExistsDialog.ui" line="34"/>
- <source>Source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="50"/>
- <source>Destination</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="14"/>
- <source>The source and destination is identical</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="82"/>
- <location filename="../../folderExistsDialog.ui" line="150"/>
- <source>Modified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="99"/>
- <location filename="../../folderExistsDialog.ui" line="160"/>
- <source>Folder name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="116"/>
- <location filename="../../folderExistsDialog.ui" line="184"/>
- <source>Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="227"/>
- <source>Suggest new &amp;name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="238"/>
- <source>&amp;Always perform this action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="245"/>
- <source>&amp;Rename</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="252"/>
- <source>Merge</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="259"/>
- <source>Skip</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../folderExistsDialog.ui" line="266"/>
- <source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/plugins/CopyEngine/Ultracopier/ListThread.cpp b/plugins/CopyEngine/Ultracopier/ListThread.cpp
deleted file mode 100644
index bb0bce6..0000000
--- a/plugins/CopyEngine/Ultracopier/ListThread.cpp
+++ /dev/null
@@ -1,2429 +0,0 @@
-#include "ListThread.h"
-#include <QStorageInfo>
-#include <QMutexLocker>
-#include <QtGlobal>
-#include "../../../cpp11addition.h"
-
-ListThread::ListThread(FacilityInterface * facilityInterface)
-{
- moveToThread(this);
- start(HighPriority);
- this->facilityInterface = facilityInterface;
- putInPause = false;
- sourceDriveMultiple = false;
- destinationDriveMultiple = false;
- destinationFolderMultiple = false;
- stopIt = false;
- bytesToTransfer = 0;
- bytesTransfered = 0;
- idIncrementNumber = 1;
- actualRealByteTransfered = 0;
- numberOfTransferIntoToDoList = 0;
- numberOfInodeOperation = 0;
- putAtBottom = 0;
- maxSpeed = 0;
- inodeThreads = 1;
- renameTheOriginalDestination = false;
- doRightTransfer = false;
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- rsync = false;
- #endif
- keepDate = false;
- checkDiskSpace = true;
- blockSize = ULTRACOPIER_PLUGIN_DEFAULT_BLOCK_SIZE*1024;
- sequentialBuffer = ULTRACOPIER_PLUGIN_DEFAULT_SEQUENTIAL_NUMBER_OF_BLOCK;
- parallelBuffer = ULTRACOPIER_PLUGIN_DEFAULT_PARALLEL_NUMBER_OF_BLOCK;
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- blockSizeAfterSpeedLimitation = blockSize;
- #endif
- osBufferLimit = 512;
- alwaysDoThisActionForFileExists = FileExists_NotSet;
- doChecksum = false;
- checksumIgnoreIfImpossible = true;
- checksumOnlyOnError = true;
- osBuffer = false;
- osBufferLimited = false;
- forcedMode = false;
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- clockForTheCopySpeed = NULL;
- multiForBigSpeed = 0;
- #endif
-
- #ifdef ULTRACOPIER_PLUGIN_DEBUG_WINDOW
- connect(&timerUpdateDebugDialog,&QTimer::timeout,this,&ListThread::timedUpdateDebugDialog);
- timerUpdateDebugDialog.start(ULTRACOPIER_PLUGIN_DEBUG_WINDOW_TIMER);
- #endif
- connect(this, &ListThread::tryCancel, this,&ListThread::cancel, Qt::QueuedConnection);
- connect(this, &ListThread::askNewTransferThread, this,&ListThread::createTransferThread, Qt::QueuedConnection);
- connect(&mkPathQueue, &MkPath::firstFolderFinish, this,&ListThread::mkPathFirstFolderFinish, Qt::QueuedConnection);
- connect(&mkPathQueue, &MkPath::errorOnFolder, this,&ListThread::mkPathErrorOnFolder, Qt::QueuedConnection);
- connect(this, &ListThread::send_syncTransferList, this,&ListThread::syncTransferList_internal, Qt::QueuedConnection);
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- connect(&mkPathQueue, &MkPath::debugInformation, this,&ListThread::debugInformation, Qt::QueuedConnection);
- connect(&driveManagement,&DriveManagement::debugInformation, this,&ListThread::debugInformation, Qt::QueuedConnection);
- #endif // ULTRACOPIER_PLUGIN_DEBUG
-
- emit askNewTransferThread();
- mkpathTransfer.release();
-}
-
-ListThread::~ListThread()
-{
- emit tryCancel();
- waitCancel.acquire();
- quit();
- wait();
-}
-
-//transfer is finished
-void ListThread::transferInodeIsClosed()
-{
- numberOfInodeOperation--;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfInodeOperation: "+std::to_string(numberOfInodeOperation));
- #endif
- TransferThread *temp_transfer_thread=qobject_cast<TransferThread *>(QObject::sender());
- if(temp_transfer_thread==NULL)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"transfer thread not located!");
- return;
- }
- bool isFound=false;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- int countLocalParse=0;
- #endif
- if(temp_transfer_thread->getStat()!=TransferStat_Idle)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"transfer thread not idle!");
- return;
- }
- int int_for_internal_loop=0;
- const int &loop_size=actionToDoListTransfer.size();
- while(int_for_internal_loop<loop_size)
- {
- 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());
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type=Ultracopier::RemoveItem;
- newAction.userAction.moveAt=0;
- newAction.addAction=actionToDoTransferToItemOfCopyList(actionToDoListTransfer.at(int_for_internal_loop));
- newAction.userAction.position=int_for_internal_loop;
- actionDone.push_back(newAction);
- /// \todo check if item is at the right thread
- actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+int_for_internal_loop);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("actionToDoListTransfer.size(): %1, actionToDoListInode: %2, actionToDoListInode_afterTheTransfer: %3").arg(actionToDoListTransfer.size()).arg(actionToDoListInode.size()).arg(actionToDoListInode_afterTheTransfer.size()).toStdString());
- if(actionToDoListTransfer.empty() && actionToDoListInode.empty() && actionToDoListInode_afterTheTransfer.empty())
- updateTheStatus();
-
- //add the current size of file, to general size because it's finish
- copiedSize=temp_transfer_thread->copiedSize();
- if(copiedSize>(qint64)temp_transfer_thread->transferSize)
- {
- oversize=copiedSize-temp_transfer_thread->transferSize;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"add oversize of: "+std::to_string(oversize));
- bytesToTransfer+=oversize;
- bytesTransfered+=oversize;
- }
- bytesTransfered+=temp_transfer_thread->transferSize;
-
- if(temp_transfer_thread->haveStartTime)
- {
- timeToTransfer.push_back(std::pair<uint64_t,uint32_t>(temp_transfer_thread->transferSize,temp_transfer_thread->startTransferTime.elapsed()));
- temp_transfer_thread->haveStartTime=false;
- }
- temp_transfer_thread->transferId=0;
- temp_transfer_thread->transferSize=0;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- countLocalParse++;
- #endif
- isFound=true;
- if(actionToDoListTransfer.empty())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"actionToDoListTransfer==0");
- actionToDoListInode.insert(actionToDoListInode.cbegin(),actionToDoListInode_afterTheTransfer.cbegin(),actionToDoListInode_afterTheTransfer.cend());
- actionToDoListInode_afterTheTransfer.clear();
- doNewActions_inode_manipulation();
- }
- break;
- }
- int_for_internal_loop++;
- }
- if(isFound)
- deleteTransferThread();
- 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());
- temp_transfer_thread->transferId=0;
- temp_transfer_thread->transferSize=0;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("countLocalParse: %1, actionToDoList.size(): %2").arg(countLocalParse).arg(actionToDoListTransfer.size()).toStdString());
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- if(countLocalParse!=1)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"countLocalParse != 1");
- #endif
- doNewActions_inode_manipulation();
-}
-
-/** \brief put the current file at bottom in case of error
-\note ONLY IN CASE OF ERROR */
-void ListThread::transferPutAtBottom()
-{
- TransferThread *transfer=qobject_cast<TransferThread *>(QObject::sender());
- if(transfer==NULL)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"transfer thread not located!");
- return;
- }
- bool isFound=false;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- int countLocalParse=0;
- #endif
- unsigned int indexAction=0;
- while(indexAction<actionToDoListTransfer.size())
- {
- if(actionToDoListTransfer.at(indexAction).id==transfer->transferId)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Put at the end: "+std::to_string(transfer->transferId));
- //push for interface at the end
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type=Ultracopier::MoveItem;
- newAction.addAction.id=transfer->transferId;
- newAction.userAction.position=actionToDoListTransfer.size()-1;
- actionDone.push_back(newAction);
- //do the wait stat
- actionToDoListTransfer[indexAction].isRunning=false;
- //move at the end
- actionToDoListTransfer.push_back(actionToDoListTransfer.at(indexAction));
- actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+indexAction);
- //reset the thread list stat
- transfer->transferId=0;
- transfer->transferSize=0;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- countLocalParse++;
- #endif
- isFound=true;
- break;
- }
- indexAction++;
- }
- if(!isFound)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,QStringLiteral("unable to found item into the todo list, id: %1, index: %2").arg(transfer->transferId).toStdString());
- transfer->transferId=0;
- transfer->transferSize=0;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"countLocalParse: "+std::to_string(countLocalParse));
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- if(countLocalParse!=1)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"countLocalParse != 1");
- #endif
- transfer->skip();
-}
-
-//set the copy info and options before runing
-void ListThread::setRightTransfer(const bool doRightTransfer)
-{
- mkPathQueue.setRightTransfer(doRightTransfer);
- this->doRightTransfer=doRightTransfer;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->setRightTransfer(doRightTransfer);
- index++;
- }
-}
-
-//set keep date
-void ListThread::setKeepDate(const bool keepDate)
-{
- mkPathQueue.setKeepDate(keepDate);
- this->keepDate=keepDate;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->setKeepDate(keepDate);
- index++;
- }
-}
-
-//set block size in KB
-void ListThread::setBlockSize(const int blockSize)
-{
- this->blockSize=blockSize*1024;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->setBlockSize(this->blockSize);
- index++;
- }
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- setSpeedLimitation(maxSpeed);
- #endif
-}
-
-//set auto start
-void ListThread::setAutoStart(const bool autoStart)
-{
- this->autoStart=autoStart;
-}
-
-#ifdef ULTRACOPIER_PLUGIN_RSYNC
-/// \brief set rsync
-void ListThread::setRsync(const bool rsync)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"set rsync: "+std::to_string(rsync));
- this->rsync=rsync;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->setRsync(rsync);
- index++;
- }
- for(unsigned int i=0;i<scanFileOrFolderThreadsPool.size();i++)
- scanFileOrFolderThreadsPool.at(i)->setRsync(rsync);
-}
-#endif
-
-//set check destination folder
-void ListThread::setCheckDestinationFolderExists(const bool checkDestinationFolderExists)
-{
- this->checkDestinationFolderExists=checkDestinationFolderExists;
- for(unsigned int i=0;i<scanFileOrFolderThreadsPool.size();i++)
- scanFileOrFolderThreadsPool.at(i)->setCheckDestinationFolderExists(checkDestinationFolderExists && alwaysDoThisActionForFolderExists!=FolderExists_Merge);
-}
-
-void ListThread::fileTransfer(const QFileInfo &sourceFileInfo,const QFileInfo &destinationFileInfo,const Ultracopier::CopyMode &mode)
-{
- if(stopIt)
- return;
- addToTransfer(sourceFileInfo,destinationFileInfo,mode);
-}
-
-// -> add thread safe, by Qt::BlockingQueuedConnection
-bool ListThread::haveSameSource(const std::vector<std::string> &sources)
-{
- if(stopIt)
- return false;
- if(sourceDriveMultiple)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"sourceDriveMultiple");
- return false;
- }
- if(sourceDrive.empty())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"sourceDrive.isEmpty()");
- return true;
- }
- unsigned int index=0;
- while(index<sources.size())
- {
- if(driveManagement.getDrive(sources.at(index))!=sourceDrive)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"sources.at(index))!=sourceDrive");
- return false;
- }
- index++;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"seam have same source");
- return true;
-}
-
-// -> add thread safe, by Qt::BlockingQueuedConnection
-bool ListThread::haveSameDestination(const std::string &destination)
-{
- if(stopIt)
- return false;
- if(destinationDriveMultiple)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destinationDriveMultiple");
- return false;
- }
- if(destinationDrive.empty())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destinationDrive.isEmpty()");
- return true;
- }
- if(driveManagement.getDrive(destination)!=destinationDrive)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination!=destinationDrive");
- return false;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"seam have same destination");
- return true;
-}
-
-/// \return empty if multiple or no destination
-std::string ListThread::getUniqueDestinationFolder() const
-{
- if(stopIt)
- return std::string();
- if(destinationFolderMultiple)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destinationDriveMultiple");
- return std::string();
- }
- return destinationFolder;
-}
-
-ScanFileOrFolder * ListThread::newScanThread(Ultracopier::CopyMode mode)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start with: "+std::to_string(mode));
-
- //create new thread because is auto-detroyed
- scanFileOrFolderThreadsPool.push_back(new ScanFileOrFolder(mode));
- connect(scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::finishedTheListing, this,&ListThread::scanThreadHaveFinishSlot, Qt::QueuedConnection);
- connect(scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::fileTransfer, this,&ListThread::fileTransfer, Qt::QueuedConnection);
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- connect(scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::debugInformation, this,&ListThread::debugInformation, Qt::QueuedConnection);
- #endif
- connect(scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::newFolderListing, this,&ListThread::newFolderListing);
- connect(scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::addToMovePath, this,&ListThread::addToMovePath, Qt::QueuedConnection);
- connect(scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::addToRealMove, this,&ListThread::addToRealMove, Qt::QueuedConnection);
- connect(scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::addToMkPath, this,&ListThread::addToMkPath, Qt::QueuedConnection);
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- connect(scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::addToRmForRsync, this,&ListThread::addToRmForRsync, Qt::QueuedConnection);
- #endif
-
- connect(scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::errorOnFolder, this,&ListThread::errorOnFolder, Qt::QueuedConnection);
- connect(scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::folderAlreadyExists, this,&ListThread::folderAlreadyExists, Qt::QueuedConnection);
-
- connect(this,&ListThread::send_updateMount, scanFileOrFolderThreadsPool.back(),&ScanFileOrFolder::set_updateMount, Qt::QueuedConnection);
-
- scanFileOrFolderThreadsPool.back()->setFilters(include,exclude);
- scanFileOrFolderThreadsPool.back()->setCheckDestinationFolderExists(checkDestinationFolderExists && alwaysDoThisActionForFolderExists!=FolderExists_Merge);
- scanFileOrFolderThreadsPool.back()->setMoveTheWholeFolder(moveTheWholeFolder);
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- scanFileOrFolderThreadsPool.back()->setRsync(rsync);
- #endif
- if(scanFileOrFolderThreadsPool.size()==1)
- updateTheStatus();
- scanFileOrFolderThreadsPool.back()->setRenamingRules(firstRenamingRule,otherRenamingRule);
- return scanFileOrFolderThreadsPool.back();
-}
-
-void ListThread::scanThreadHaveFinishSlot()
-{
- scanThreadHaveFinish();
-}
-
-void ListThread::scanThreadHaveFinish(bool skipFirstRemove)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"listing thread have finish, skipFirstRemove: "+std::to_string(skipFirstRemove));
- if(!skipFirstRemove)
- {
- ScanFileOrFolder * senderThread = qobject_cast<ScanFileOrFolder *>(QObject::sender());
- if(senderThread==NULL)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"sender pointer null (plugin copy engine)");
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start the next thread, scanFileOrFolderThreadsPool.size(): "+std::to_string(scanFileOrFolderThreadsPool.size()));
- delete senderThread;
- vectorremoveOne(scanFileOrFolderThreadsPool,senderThread);
- if(scanFileOrFolderThreadsPool.empty())
- updateTheStatus();
- }
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start the next thread, scanFileOrFolderThreadsPool.size(): "+std::to_string(scanFileOrFolderThreadsPool.size()));
- if(scanFileOrFolderThreadsPool.size()>0)
- {
- //then start the next listing threads
- if(scanFileOrFolderThreadsPool.front()->isFinished())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Start listing thread");
- scanFileOrFolderThreadsPool.front()->start();
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"The listing thread is already running");
- }
- else
- autoStartAndCheckSpace();
-}
-
-void ListThread::autoStartAndCheckSpace()
-{
- if(needMoreSpace())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"Need more space");
- return;
- }
- autoStartIfNeeded();
-}
-
-void ListThread::autoStartIfNeeded()
-{
- if(autoStart)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"Auto start the copy");
- startGeneralTransfer();
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"Put the copy engine in pause");
- putInPause=true;
- emit isInPause(true);
- }
-}
-
-void ListThread::startGeneralTransfer()
-{
- doNewActions_inode_manipulation();
-}
-
-// -> 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);
- ScanFileOrFolder * scanFileOrFolderThread = newScanThread(Ultracopier::Copy);
- if(scanFileOrFolderThread==NULL)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to get new thread");
- return false;
- }
- std::regex base_regex("^[a-z][a-z][a-z]*:/.*");
- std::smatch base_match;
- std::vector<std::string> sourcesClean;
- 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
- else if (std::regex_match(source, base_match, base_regex))
- return false;
- if(index<99)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,sources.at(index)+" -> "+source);
- index++;
- sourcesClean.push_back(source);
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"sourcesClean: "+stringimplode(sourcesClean,";"));
- scanFileOrFolderThread->addToList(sourcesClean,destination);
- scanThreadHaveFinish(true);
- detectDrivesOfCurrentTransfer(sourcesClean,destination);
- return true;
-}
-
-// -> add thread safe, by Qt::BlockingQueuedConnection
-bool ListThread::newMove(const std::vector<std::string> &sources,const std::string &destination)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- ScanFileOrFolder * scanFileOrFolderThread = newScanThread(Ultracopier::Move);
- if(scanFileOrFolderThread==NULL)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to get new thread");
- return false;
- }
- scanFileOrFolderThread->addToList(sources,destination);
- scanThreadHaveFinish(true);
- detectDrivesOfCurrentTransfer(sources,destination);
- return true;
-}
-
-void ListThread::detectDrivesOfCurrentTransfer(const std::vector<std::string> &sources,const std::string &destination)
-{
- /* code to detect volume/mount point to group by windows */
- if(!sourceDriveMultiple)
- {
- unsigned int index=0;
- while(index<sources.size())
- {
- const std::string &tempDrive=driveManagement.getDrive(sources.at(index));
- //if have not already source, set the source
- if(sourceDrive.empty())
- sourceDrive=tempDrive;
- //if have previous source and the news source is not the same
- if(sourceDrive!=tempDrive)
- {
- sourceDriveMultiple=true;
- break;
- }
- index++;
- }
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("source informations, sourceDrive: %1, sourceDriveMultiple: %2").arg(QString::fromStdString(sourceDrive)).arg(sourceDriveMultiple).toStdString());
- if(!destinationDriveMultiple)
- {
- const std::string &tempDrive=driveManagement.getDrive(destination);
- //if have not already destination, set the destination
- if(destinationDrive.empty())
- destinationDrive=tempDrive;
- //if have previous destination and the news destination is not the same
- if(destinationDrive!=tempDrive)
- destinationDriveMultiple=true;
- }
- if(!destinationFolderMultiple)
- {
- //if have not already destination, set the destination
- if(destinationFolder.empty())
- destinationFolder=destination;
- //if have previous destination and the news destination is not the same
- if(destinationFolder!=destination)
- destinationFolderMultiple=true;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("destination informations, destinationDrive: %1, destinationDriveMultiple: %2").arg(QString::fromStdString(destinationDrive)).arg(destinationDriveMultiple).toStdString());
-}
-
-void ListThread::setCollisionAction(const FileExistsAction &alwaysDoThisActionForFileExists)
-{
- this->alwaysDoThisActionForFileExists=alwaysDoThisActionForFileExists;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->setAlwaysFileExistsAction(alwaysDoThisActionForFileExists);
- index++;
- }
-}
-
-/** \brief to sync the transfer list
- * Used when the interface is changed, useful to minimize the memory size */
-void ListThread::syncTransferList()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- emit send_syncTransferList();
-}
-
-//set the folder local collision
-void ListThread::setFolderCollision(const FolderExistsAction &alwaysDoThisActionForFolderExists)
-{
- this->alwaysDoThisActionForFolderExists=alwaysDoThisActionForFolderExists;
-}
-
-bool ListThread::getReturnBoolToCopyEngine() const
-{
- return returnBoolToCopyEngine;
-}
-
-std::pair<quint64, quint64> ListThread::getReturnPairQuint64ToCopyEngine() const
-{
- return returnPairQuint64ToCopyEngine;
-}
-
-Ultracopier::ItemOfCopyList ListThread::getReturnItemOfCopyListToCopyEngine() const
-{
- return returnItemOfCopyListToCopyEngine;
-}
-
-void ListThread::set_doChecksum(bool doChecksum)
-{
- this->doChecksum=doChecksum;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->set_doChecksum(doChecksum);
- index++;
- }
-}
-
-void ListThread::set_checksumIgnoreIfImpossible(bool checksumIgnoreIfImpossible)
-{
- this->checksumIgnoreIfImpossible=checksumIgnoreIfImpossible;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->set_checksumIgnoreIfImpossible(checksumIgnoreIfImpossible);
- index++;
- }
-}
-
-void ListThread::set_checksumOnlyOnError(bool checksumOnlyOnError)
-{
- this->checksumOnlyOnError=checksumOnlyOnError;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->set_checksumOnlyOnError(checksumOnlyOnError);
- index++;
- }
-}
-
-void ListThread::set_osBuffer(bool osBuffer)
-{
- this->osBuffer=osBuffer;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->set_osBuffer(osBuffer);
- index++;
- }
-}
-
-void ListThread::set_osBufferLimited(bool osBufferLimited)
-{
- this->osBufferLimited=osBufferLimited;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->set_osBufferLimited(osBufferLimited);
- index++;
- }
-}
-
-void ListThread::realByteTransfered()
-{
- quint64 totalRealByteTransfered=0;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- totalRealByteTransfered+=transferThreadList.at(index)->realByteTransfered();
- index++;
- }
- emit send_realBytesTransfered(totalRealByteTransfered);
-}
-
-void ListThread::pause()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- if(putInPause)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Seam already in pause!");
- return;
- }
- putInPause=true;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->pause();
- index++;
- }
- emit isInPause(true);
-}
-
-void ListThread::resume()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- if(!putInPause)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Seam already resumed!");
- return;
- }
- putInPause=false;
- startGeneralTransfer();
- doNewActions_start_transfer();
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->resume();
- index++;
- }
- emit isInPause(false);
-}
-
-void ListThread::skip(const uint64_t &id)
-{
- skipInternal(id);
-}
-
-bool ListThread::skipInternal(const uint64_t &id)
-{
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- if(transferThreadList.at(index)->transferId==id)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"skip one transfer: "+std::to_string(id));
- transferThreadList.at(index)->skip();
- return true;
- }
- index++;
- }
- int int_for_internal_loop=0;
- const int &loop_size=actionToDoListTransfer.size();
- while(int_for_internal_loop<loop_size)
- {
- if(actionToDoListTransfer.at(int_for_internal_loop).id==id)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("[%1] remove at not running, for id: %2").arg(int_for_internal_loop).arg(id).toStdString());
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type=Ultracopier::RemoveItem;
- newAction.userAction.moveAt=1;
- newAction.addAction=actionToDoTransferToItemOfCopyList(actionToDoListTransfer.at(int_for_internal_loop));
- newAction.userAction.position=int_for_internal_loop;
- actionDone.push_back(newAction);
- actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+int_for_internal_loop);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("actionToDoListTransfer.size(): %1, actionToDoListInode: %2, actionToDoListInode_afterTheTransfer: %3").arg(actionToDoListTransfer.size()).arg(actionToDoListInode.size()).arg(actionToDoListInode_afterTheTransfer.size()).toStdString());
- if(actionToDoListTransfer.empty() && actionToDoListInode.empty() && actionToDoListInode_afterTheTransfer.empty())
- updateTheStatus();
- return true;
- }
- int_for_internal_loop++;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"skip transfer not found: "+std::to_string(id));
- return false;
-}
-
-//executed in this thread
-void ListThread::cancel()
-{
- if(stopIt)
- {
- waitCancel.release();
- return;
- }
- stopIt=true;
- int index=0;
- int loop_size=transferThreadList.size();
- while(index<loop_size)
- {
- transferThreadList.at(index)->stop();
- index++;
- }
- index=0;
- loop_size=scanFileOrFolderThreadsPool.size();
- while(index<loop_size)
- {
- scanFileOrFolderThreadsPool.at(index)->stop();
- delete scanFileOrFolderThreadsPool.at(index);//->deleteLayer();
- scanFileOrFolderThreadsPool[index]=NULL;
- index++;
- }
- scanFileOrFolderThreadsPool.clear();
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- if(clockForTheCopySpeed!=NULL)
- {
- clockForTheCopySpeed->stop();
- delete clockForTheCopySpeed;
- clockForTheCopySpeed=NULL;
- }
- #endif
- checkIfReadyToCancel();
-}
-
-void ListThread::checkIfReadyToCancel()
-{
- if(!stopIt)
- return;
- int index=0;
- int loop_size=transferThreadList.size();
- while(index<loop_size)
- {
- if(transferThreadList.at(index)!=NULL)
- {
- if(transferThreadList.at(index)->transferId!=0)
- return;
- delete transferThreadList.at(index);//->deleteLayer();
- transferThreadList[index]=NULL;
- transferThreadList.erase(transferThreadList.cbegin()+index);
- loop_size=transferThreadList.size();
- index--;
- }
- index++;
- }
- actionToDoListTransfer.clear();
- actionToDoListInode.clear();
- actionToDoListInode_afterTheTransfer.clear();
- actionDone.clear();
- progressionList.clear();
- returnListItemOfCopyListToCopyEngine.clear();
- quit();
- waitCancel.release();
- emit canBeDeleted();
-}
-
-//speedLimitation in KB/s
-bool ListThread::setSpeedLimitation(const int64_t &speedLimitation)
-{
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"maxSpeed in KB/s: "+std::to_string(speedLimitation));
-
- if(speedLimitation>1024*1024)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"speedLimitation out of range");
- return false;
- }
- maxSpeed=speedLimitation;
-
- multiForBigSpeed=0;
- if(maxSpeed>0)
- {
- blockSizeAfterSpeedLimitation=blockSize;
-
- //try resolv the interval
- int newInterval;//in ms
- do
- {
- multiForBigSpeed++;
- //at max speed, is out of range for int, it's why quint64 is used
- newInterval=(((quint64)blockSize*(quint64)multiForBigSpeed*1000/* *1000 because interval is into ms, not s*/)/((quint64)maxSpeed*(quint64)1024));
- if(newInterval<0)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"calculated newInterval wrong");
- return false;
- }
- }
- while(newInterval<ULTRACOPIER_PLUGIN_MINTIMERINTERVAL);
-
- if(newInterval<=0)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"calculated newInterval wrong");
- return false;
- }
- //wait time too big, then shrink the block size and set interval to max size
- if(newInterval>ULTRACOPIER_PLUGIN_MAXTIMERINTERVAL)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"wait time too big, then shrink the block size and set interval to max size");
- newInterval=ULTRACOPIER_PLUGIN_MAXTIMERINTERVAL;
- multiForBigSpeed=1;
- blockSizeAfterSpeedLimitation=(this->maxSpeed*1024*newInterval)/1000;
-
- if(blockSizeAfterSpeedLimitation<10)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"calculated block size wrong");
- return false;
- }
-
- //set the new block size into the thread
- const int &loop_size=transferThreadList.size();
- int int_for_loop=0;
- while(int_for_loop<loop_size)
- {
- if(!transferThreadList.at(int_for_loop)->setBlockSize(blockSizeAfterSpeedLimitation))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to set the block size");
- int_for_loop++;
- }
- }
-
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("fixed speed with new block size and new interval in BlockSize: %1, multiForBigSpeed: %2, newInterval: %3, maxSpeed: %4")
- .arg(blockSizeAfterSpeedLimitation)
- .arg(multiForBigSpeed)
- .arg(newInterval)
- .arg(maxSpeed)
- .toStdString()
- );
-
- clockForTheCopySpeed->setInterval(newInterval);
- if(clockForTheCopySpeed!=NULL)
- clockForTheCopySpeed->start();
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"clockForTheCopySpeed == NULL at this point");
- }
- else
- {
- if(clockForTheCopySpeed!=NULL)
- clockForTheCopySpeed->stop();
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"clockForTheCopySpeed == NULL at this point");
- int int_for_loop=0;
- const int &loop_size=transferThreadList.size();
- while(int_for_loop<loop_size)
- {
- transferThreadList.at(int_for_loop)->setBlockSize(blockSize);
- int_for_loop++;
- }
- }
- int int_for_loop=0;
- const int &loop_size=transferThreadList.size();
- while(int_for_loop<loop_size)
- {
- transferThreadList.at(int_for_loop)->setMultiForBigSpeed(multiForBigSpeed);
- int_for_loop++;
- }
-
- return true;
- #else
- Q_UNUSED(speedLimitation);
- return false;
- #endif
-}
-
-void ListThread::updateTheStatus()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- sendActionDone();
- bool updateTheStatus_listing=scanFileOrFolderThreadsPool.size()>0;
- bool updateTheStatus_copying=actionToDoListTransfer.size()>0 || actionToDoListInode.size()>0 || actionToDoListInode_afterTheTransfer.size()>0;
- Ultracopier::EngineActionInProgress updateTheStatus_action_in_progress;
- if(updateTheStatus_copying && updateTheStatus_listing)
- updateTheStatus_action_in_progress=Ultracopier::CopyingAndListing;
- else if(updateTheStatus_listing)
- updateTheStatus_action_in_progress=Ultracopier::Listing;
- else if(updateTheStatus_copying)
- updateTheStatus_action_in_progress=Ultracopier::Copying;
- else
- updateTheStatus_action_in_progress=Ultracopier::Idle;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit actionInProgess("+std::to_string(updateTheStatus_action_in_progress)+")");
- emit actionInProgess(updateTheStatus_action_in_progress);
-}
-
-//set data local to the thread
-void ListThread::setAlwaysFileExistsAction(const FileExistsAction &alwaysDoThisActionForFileExists)
-{
- this->alwaysDoThisActionForFileExists=alwaysDoThisActionForFileExists;
- int int_for_loop=0;
- const int &loop_size=transferThreadList.size();
- while(int_for_loop<loop_size)
- {
- transferThreadList.at(int_for_loop)->setAlwaysFileExistsAction(alwaysDoThisActionForFileExists);
- int_for_loop++;
- }
-}
-
-//mk path to do
-uint64_t ListThread::addToMkPath(const QFileInfo& source,const QFileInfo& destination, const int& inode)
-{
- if(stopIt)
- return 0;
- if(inode!=0 && (!keepDate && !doRightTransfer))
- return 0;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("source: %1, destination: %2").arg(source.absoluteFilePath()).arg(destination.absoluteFilePath()).toStdString());
- ActionToDoInode temp;
- temp.type = ActionType_MkPath;
- temp.id = generateIdNumber();
- temp.source = source;
- temp.destination= destination;
- temp.isRunning = false;
- actionToDoListInode.push_back(temp);
- return temp.id;
-}
-
-//add rm path to do
-void ListThread::addToMovePath(const QFileInfo& source, const QFileInfo &destination, const int& inodeToRemove)
-{
- if(stopIt)
- return;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("source: %1, destination: %2, inodeToRemove: %3").arg(source.absoluteFilePath()).arg(destination.absoluteFilePath()).arg(inodeToRemove).toStdString());
- ActionToDoInode temp;
- temp.type = ActionType_MovePath;
- temp.id = generateIdNumber();
- temp.size = inodeToRemove;
- temp.source = source;
- temp.destination= destination;
- temp.isRunning = false;
- actionToDoListInode.push_back(temp);
-}
-
-void ListThread::addToRealMove(const QFileInfo& source,const QFileInfo& destination)
-{
- if(stopIt)
- return;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("source: %1, destination: %2").arg(source.absoluteFilePath()).arg(destination.absoluteFilePath()).toStdString());
- ActionToDoInode temp;
- temp.type = ActionType_RealMove;
- temp.id = generateIdNumber();
- temp.size = 0;
- temp.source = source;
- temp.destination= destination;
- temp.isRunning = false;
- actionToDoListInode.push_back(temp);
-}
-
-#ifdef ULTRACOPIER_PLUGIN_RSYNC
-//rsync rm
-void ListThread::addToRmForRsync(const QFileInfo& destination)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"inode: "+destination.absoluteFilePath().toStdString());
- ActionToDoInode temp;
- temp.type = ActionType_RmSync;
- temp.id = generateIdNumber();
- temp.destination= destination;
- temp.isRunning = false;
- actionToDoListInode.push_back(temp);
-}
-#endif
-
-//send action done
-void ListThread::sendActionDone()
-{
- if(!actionDone.empty())
- {
- emit newActionOnList(actionDone);
- actionDone.clear();
- }
- if(!timeToTransfer.empty())
- {
- emit doneTime(timeToTransfer);
- timeToTransfer.clear();
- }
-}
-
-//send progression
-void ListThread::sendProgression()
-{
- if(actionToDoListTransfer.empty())
- return;
- oversize=0;
- currentProgression=0;
- int int_for_loop=0;
- const int &loop_size=transferThreadList.size();
- while(int_for_loop<loop_size)
- {
- TransferThread * temp_transfer_thread=transferThreadList.at(int_for_loop);
- switch(temp_transfer_thread->getStat())
- {
- case TransferStat_Transfer:
- case TransferStat_PostTransfer:
- case TransferStat_Checksum:
- case TransferStat_PostOperation:
- {
- copiedSize=temp_transfer_thread->copiedSize();
-
- //for the general progression
- currentProgression+=copiedSize;
-
- //the oversize (when the file is bigger after/during the copy then what was during the listing)
- if(copiedSize>(qint64)temp_transfer_thread->transferSize)
- localOverSize=copiedSize-temp_transfer_thread->transferSize;
- else
- localOverSize=0;
-
- //the current size copied
- totalSize=temp_transfer_thread->transferSize+localOverSize;
- std::pair<uint64_t,uint64_t> progression=temp_transfer_thread->progression();
- tempItem.currentRead=progression.first;
- tempItem.currentWrite=progression.second;
- tempItem.id=temp_transfer_thread->transferId;
- tempItem.total=totalSize;
- progressionList.push_back(tempItem);
-
- //add the oversize to the general progression
- oversize+=localOverSize;
- }
- break;
- default:
- break;
- }
- int_for_loop++;
- }
- emit pushFileProgression(progressionList);
- progressionList.clear();
- emit pushGeneralProgression(bytesTransfered+currentProgression,bytesToTransfer+oversize);
- realByteTransfered();
-}
-
-//send the progression, after full reset of the interface (then all is empty)
-void ListThread::syncTransferList_internal()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- emit syncReady();
- actionDone.clear();
- //do list operation
- TransferThread *transferThread;
- const int &loop_size=actionToDoListTransfer.size();
- int loop_sub_size=transferThreadList.size();
- //this loop to have at max inodeThreads*inodeThreads, not inodeThreads*transferThreadList.size()
- int int_for_internal_loop;
- for(int int_for_loop=0; int_for_loop<loop_size; ++int_for_loop) {
- const ActionToDoTransfer &item=actionToDoListTransfer.at(int_for_loop);
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type = Ultracopier::PreOperation;
- newAction.addAction.id = item.id;
- newAction.addAction.sourceFullPath = item.source.absoluteFilePath().toStdString();
- newAction.addAction.sourceFileName = item.source.fileName().toStdString();
- newAction.addAction.destinationFullPath = item.destination.absoluteFilePath().toStdString();
- newAction.addAction.destinationFileName = item.destination.fileName().toStdString();
- newAction.addAction.size = item.size;
- newAction.addAction.mode = item.mode;
- actionDone.push_back(newAction);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, size: %2, name: %3, size2: %4").arg(item.id).arg(item.size).arg(item.source.absoluteFilePath()).arg(newAction.addAction.size).toStdString());
- if(item.isRunning)
- {
- for(int_for_internal_loop=0; int_for_internal_loop<loop_sub_size; ++int_for_internal_loop) {
- transferThread=transferThreadList.at(int_for_internal_loop);
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type = Ultracopier::PreOperation;
- newAction.addAction.id = item.id;
- newAction.addAction.sourceFullPath = item.source.absoluteFilePath().toStdString();
- newAction.addAction.sourceFileName = item.source.fileName().toStdString();
- newAction.addAction.destinationFullPath = item.destination.absoluteFilePath().toStdString();
- newAction.addAction.destinationFileName = item.destination.fileName().toStdString();
- newAction.addAction.size = item.size;
- newAction.addAction.mode = item.mode;
- actionDone.push_back(newAction);
- if(transferThread->getStat()!=TransferStat_PreOperation)
- {
- Ultracopier::ReturnActionOnCopyList newAction;
- switch(transferThread->getStat())
- {
- case TransferStat_Transfer:
- newAction.type=Ultracopier::Transfer;
- break;
- /*case TransferStat_PostTransfer:
- newAction.type=Ultracopier::PostOperation;
- break;*/
- case TransferStat_PostOperation:
- newAction.type=Ultracopier::PostOperation;
- break;
- default:
- break;
- }
- newAction.addAction.id = item.id;
- actionDone.push_back(newAction);
- }
- }
- }
- }
-}
-
-//add file transfer to do
-uint64_t ListThread::addToTransfer(const QFileInfo& source,const QFileInfo& destination,const Ultracopier::CopyMode& mode)
-{
- if(stopIt)
- return 0;
- //add to transfer list
- numberOfTransferIntoToDoList++;
- quint64 size=0;
- if(!source.isSymLink())
- size=source.size();
- const std::string &drive=driveManagement.getDrive(destination.absoluteFilePath().toStdString());
- if(!drive.empty())//can be a network drive
- if(mode!=Ultracopier::Move || drive!=driveManagement.getDrive(source.absoluteFilePath().toStdString()))
- {
- if(requiredSpace.find(drive)!=requiredSpace.cend())
- {
- requiredSpace[drive]+=size;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("space needed add: %1, space needed: %2, on: %3").arg(size).arg(requiredSpace.at(drive)).arg(QString::fromStdString(drive)).toStdString());
- }
- else
- {
- requiredSpace[drive]=size;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("set space %1 needed, on: %2").arg(size).arg(QString::fromStdString(drive)).toStdString());
- }
- }
- bytesToTransfer+= size;
- ActionToDoTransfer temp;
- temp.id = generateIdNumber();
- temp.size = size;
- temp.source = source;
- temp.destination= destination;
- temp.mode = mode;
- temp.isRunning = false;
- actionToDoListTransfer.push_back(temp);
- //push the new transfer to interface
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type = Ultracopier::AddingItem;
- newAction.addAction=actionToDoTransferToItemOfCopyList(temp);
- actionDone.push_back(newAction);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("source: %1, destination: %2, add entry: %3, size: %4, size2: %5, isSymLink: %6").arg(source.absoluteFilePath()).arg(destination.absoluteFilePath()).arg(temp.id).arg(temp.size).arg(size).arg(source.isSymLink()).toStdString());
- return temp.id;
-}
-
-Ultracopier::ItemOfCopyList ListThread::actionToDoTransferToItemOfCopyList(const ListThread::ActionToDoTransfer &actionToDoTransfer)
-{
- Ultracopier::ItemOfCopyList itemOfCopyList;
- itemOfCopyList.id = actionToDoTransfer.id;
- itemOfCopyList.sourceFullPath = actionToDoTransfer.source.absoluteFilePath().toStdString();
- itemOfCopyList.sourceFileName = actionToDoTransfer.source.fileName().toStdString();
- itemOfCopyList.destinationFullPath = actionToDoTransfer.destination.absoluteFilePath().toStdString();
- itemOfCopyList.destinationFileName = actionToDoTransfer.destination.fileName().toStdString();
- itemOfCopyList.size = actionToDoTransfer.size;
- itemOfCopyList.mode = actionToDoTransfer.mode;
- return itemOfCopyList;
-}
-
-//generate id number
-uint64_t ListThread::generateIdNumber()
-{
- idIncrementNumber++;
- if(idIncrementNumber>(((quint64)1024*1024)*1024*1024*2))
- idIncrementNumber=0;
- return idIncrementNumber;
-}
-
-//warning the first entry is accessible will copy
-void ListThread::removeItems(const std::vector<uint64_t> &ids)
-{
- for(unsigned int i=0;i<ids.size();i++)
- skipInternal(ids.at(i));
-}
-
-//put on top
-void ListThread::moveItemsOnTop(std::vector<uint64_t> ids)
-{
- if(actionToDoListTransfer.size()<=1)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"list size is empty");
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- //do list operation
- int indexToMove=0;
- for (unsigned int i=0; i<actionToDoListTransfer.size(); ++i) {
- if(vectorcontainsAtLeastOne(ids,actionToDoListTransfer.at(i).id))
- {
- vectorremoveOne(ids,actionToDoListTransfer.at(i).id);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"move item "+std::to_string(i)+" to "+std::to_string(indexToMove));
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type=Ultracopier::MoveItem;
- newAction.addAction.id=actionToDoListTransfer.at(i).id;
- newAction.userAction.moveAt=indexToMove;
- newAction.userAction.position=i;
- actionDone.push_back(newAction);
- ActionToDoTransfer temp=actionToDoListTransfer.at(i);
- actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+i);
- actionToDoListTransfer.insert(actionToDoListTransfer.cbegin()+indexToMove,temp);
- indexToMove++;
- if(ids.empty())
- return;
- }
- }
- sendActionDone();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop");
-}
-
-//move up
-void ListThread::moveItemsUp(std::vector<uint64_t> ids)
-{
- if(actionToDoListTransfer.size()<=1)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"list size is empty");
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- //do list operation
- int lastGoodPositionReal=0;
- bool haveGoodPosition=false;
- for (unsigned int i=0; i<actionToDoListTransfer.size(); ++i) {
- if(vectorcontainsAtLeastOne(ids,actionToDoListTransfer.at(i).id))
- {
- if(haveGoodPosition)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"move item "+std::to_string(i)+" to "+std::to_string(i-1));
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type=Ultracopier::MoveItem;
- newAction.addAction.id=actionToDoListTransfer.at(i).id;
- newAction.userAction.moveAt=lastGoodPositionReal;
- newAction.userAction.position=i;
- actionDone.push_back(newAction);
- ActionToDoTransfer temp1=actionToDoListTransfer.at(i);
- ActionToDoTransfer temp2=actionToDoListTransfer.at(lastGoodPositionReal);
- actionToDoListTransfer[i]=temp2;
- actionToDoListTransfer[lastGoodPositionReal]=temp1;
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Try move up false, item "+std::to_string(i));
- vectorremoveOne(ids,actionToDoListTransfer.at(i).id);
- if(ids.empty())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop with return");
- return;
- }
- }
- else
- {
- lastGoodPositionReal=i;
- haveGoodPosition=true;
- }
- }
- sendActionDone();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop");
-}
-
-//move down
-void ListThread::moveItemsDown(std::vector<uint64_t> ids)
-{
- if(actionToDoListTransfer.size()<=1)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"list size is empty");
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- //do list operation
- int lastGoodPositionReal=0;
- bool haveGoodPosition=false;
- for (int i=actionToDoListTransfer.size()-1; i>=0; --i) {
- if(vectorcontainsAtLeastOne(ids,actionToDoListTransfer.at(i).id))
- {
- if(haveGoodPosition)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"move item "+std::to_string(i)+" to "+std::to_string(i+1));
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type=Ultracopier::MoveItem;
- newAction.addAction.id=actionToDoListTransfer.at(i).id;
- newAction.userAction.moveAt=lastGoodPositionReal;
- newAction.userAction.position=i;
- actionDone.push_back(newAction);
- ActionToDoTransfer temp1=actionToDoListTransfer.at(i);
- ActionToDoTransfer temp2=actionToDoListTransfer.at(lastGoodPositionReal);
- actionToDoListTransfer[i]=temp2;
- actionToDoListTransfer[lastGoodPositionReal]=temp1;
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Try move up false, item "+std::to_string(i));
- }
- vectorremoveOne(ids,actionToDoListTransfer.at(i).id);
- if(ids.empty())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop with return");
- return;
- }
- }
- else
- {
- lastGoodPositionReal=i;
- haveGoodPosition=true;
- }
- }
- sendActionDone();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop");
-}
-
-//put on bottom
-void ListThread::moveItemsOnBottom(std::vector<uint64_t> ids)
-{
- if(actionToDoListTransfer.size()<=1)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"list size is empty");
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- //do list operation
- int lastGoodPositionReal=actionToDoListTransfer.size()-1;
- for (int i=lastGoodPositionReal; i>=0; --i) {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Check action on item "+std::to_string(i));
- if(vectorcontainsAtLeastOne(ids,actionToDoListTransfer.at(i).id))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"move item "+std::to_string(i)+" to "+std::to_string(lastGoodPositionReal));
- vectorremoveOne(ids,actionToDoListTransfer.at(i).id);
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type=Ultracopier::MoveItem;
- newAction.addAction.id=actionToDoListTransfer.at(i).id;
- newAction.userAction.moveAt=lastGoodPositionReal;
- newAction.userAction.position=i;
- actionDone.push_back(newAction);
- ActionToDoTransfer temp=actionToDoListTransfer.at(i);
- actionToDoListTransfer.erase(actionToDoListTransfer.cbegin()+i);
- actionToDoListTransfer.insert(actionToDoListTransfer.cbegin()+lastGoodPositionReal,temp);
- lastGoodPositionReal--;
- if(ids.empty())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop with return");
- return;
- }
- }
- }
- sendActionDone();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"stop");
-}
-
-/** \brief give the forced mode, to export/import transfer list */
-void ListThread::forceMode(const Ultracopier::CopyMode &mode)
-{
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- if(mode==Ultracopier::Move)
- setRsync(false);
- #endif
- if(mode==Ultracopier::Copy)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Force mode to copy");
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Force mode to move");
- this->mode=mode;
- forcedMode=true;
-}
-
-void ListThread::exportTransferList(const std::string &fileName)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- QFile transferFile(QString::fromStdString(fileName));
- if(transferFile.open(QIODevice::WriteOnly|QIODevice::Truncate))
- {
- transferFile.write(QStringLiteral("Ultracopier;Transfer-list;").toUtf8());
- if(!forcedMode)
- transferFile.write(QStringLiteral("Transfer;").toUtf8());
- else
- {
- if(mode==Ultracopier::Copy)
- transferFile.write(QStringLiteral("Copy;").toUtf8());
- else
- transferFile.write(QStringLiteral("Move;").toUtf8());
- }
- transferFile.write(QStringLiteral("Ultracopier\n").toUtf8());
- bool haveError=false;
- int size=actionToDoListTransfer.size();
- for (int index=0;index<size;++index) {
- if(actionToDoListTransfer.at(index).mode==Ultracopier::Copy)
- {
- if(!forcedMode || mode==Ultracopier::Copy)
- {
- if(forcedMode)
- transferFile.write(QStringLiteral("%1;%2\n").arg(actionToDoListTransfer.at(index).source.absoluteFilePath()).arg(actionToDoListTransfer.at(index).destination.absoluteFilePath()).toUtf8());
- else
- transferFile.write(QStringLiteral("Copy;%1;%2\n").arg(actionToDoListTransfer.at(index).source.absoluteFilePath()).arg(actionToDoListTransfer.at(index).destination.absoluteFilePath()).toUtf8());
- }
- else
- haveError=true;
- }
- else if(actionToDoListTransfer.at(index).mode==Ultracopier::Move)
- {
- if(!forcedMode || mode==Ultracopier::Move)
- {
- if(forcedMode)
- transferFile.write(QStringLiteral("%1;%2\n").arg(actionToDoListTransfer.at(index).source.absoluteFilePath()).arg(actionToDoListTransfer.at(index).destination.absoluteFilePath()).toUtf8());
- else
- transferFile.write(QStringLiteral("Move;%1;%2\n").arg(actionToDoListTransfer.at(index).source.absoluteFilePath()).arg(actionToDoListTransfer.at(index).destination.absoluteFilePath()).toUtf8());
- }
- else
- haveError=true;
- }
- }
- if(haveError)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Unable do to move or copy item into wrong forced mode: %1").arg(transferFile.errorString()).toStdString());
- emit errorTransferList(tr("Unable do to move or copy item into wrong forced mode: %1").arg(transferFile.errorString()).toStdString());
- }
- transferFile.close();
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Unable to save the transfer list: %1").arg(transferFile.errorString()).toStdString());
- emit errorTransferList(tr("Unable to save the transfer list: %1").arg(transferFile.errorString()).toStdString());
- return;
- }
-}
-
-void ListThread::importTransferList(const std::string &fileName)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- QFile transferFile(QString::fromStdString(fileName));
- if(transferFile.open(QIODevice::ReadOnly))
- {
- std::string content;
- QByteArray data=transferFile.readLine(64);
- if(data.size()<=0)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Problem reading file, or file-size is 0");
- emit errorTransferList(tr("Problem reading file, or file-size is 0").toStdString());
- return;
- }
- content=QString::fromUtf8(data).toStdString();
- if(content!="Ultracopier;Transfer-list;Transfer;Ultracopier\n" && content!="Ultracopier;Transfer-list;Copy;Ultracopier\n" && content!="Ultracopier;Transfer-list;Move;Ultracopier\n")
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Wrong header: "+content);
- emit errorTransferList(tr("Wrong header: \"%1\"").arg(QString::fromStdString(content)).toStdString());
- return;
- }
- bool transferListMixedMode=false;
- if(content=="Ultracopier;Transfer-list;Transfer;Ultracopier\n")
- {
- if(forcedMode)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"The transfer list is in mixed mode, but this instance is not");
- emit errorTransferList(tr("The transfer list is in mixed mode, but this instance is not in this mode").toStdString());
- return;
- }
- else
- transferListMixedMode=true;
- }
- if(content=="Ultracopier;Transfer-list;Copy;Ultracopier\n" && (forcedMode && mode==Ultracopier::Move))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("The transfer list is in copy mode, but this instance is not: forcedMode: %1, mode: %2").arg(forcedMode).arg(mode).toStdString());
- emit errorTransferList(tr("The transfer list is in copy mode, but this instance is not in this mode").toStdString());
- return;
- }
- if(content=="Ultracopier;Transfer-list;Move;Ultracopier\n" && (forcedMode && mode==Ultracopier::Copy))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("The transfer list is in move mode, but this instance is not: forcedMode: %1, mode: %2").arg(forcedMode).arg(mode).toStdString());
- emit errorTransferList(tr("The transfer list is in move mode, but this instance is not in this mode").toStdString());
- return;
- }
-
- bool updateTheStatus_copying=actionToDoListTransfer.size()>0 || actionToDoListInode.size()>0 || actionToDoListInode_afterTheTransfer.size()>0;
- Ultracopier::EngineActionInProgress updateTheStatus_action_in_progress;
- if(updateTheStatus_copying)
- updateTheStatus_action_in_progress=Ultracopier::CopyingAndListing;
- else
- updateTheStatus_action_in_progress=Ultracopier::Listing;
- emit actionInProgess(updateTheStatus_action_in_progress);
-
- bool errorFound=false;
- std::regex correctLine;
- if(transferListMixedMode)
- correctLine=std::regex("^(Copy|Move);[^;]+;[^;]+[\n\r]*$");
- else
- correctLine=std::regex("^[^;]+;[^;]+[\n\r]*$");
- std::vector<std::string> args;
- Ultracopier::CopyMode tempMode;
- do
- {
- data=transferFile.readLine(65535*2);
- if(data.size()>0)
- {
- content=std::string(data.constData(),data.size());
- //do the import here
- if(std::regex_match(content,correctLine))
- {
- stringreplaceAll(content,"\n","");
- args=stringsplit(content,';');
- if(forcedMode)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("New data to import in forced mode: %2,%3")
- .arg(QString::fromStdString(args.at(0)))
- .arg(QString::fromStdString(args.at(1)))
- .toStdString());
- addToTransfer(QFileInfo(QString::fromStdString(args.at(0))),QFileInfo(QString::fromStdString(args.at(1))),mode);
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("New data to import: %1,%2,%3")
- .arg(QString::fromStdString(args.at(0)))
- .arg(QString::fromStdString(args.at(1)))
- .arg(QString::fromStdString(args.at(2)))
- .toStdString());
- if(args.at(0)=="Copy")
- tempMode=Ultracopier::Copy;
- else
- tempMode=Ultracopier::Move;
- addToTransfer(QFileInfo(QString::fromStdString(args.at(1))),QFileInfo(QString::fromStdString(args.at(2))),tempMode);
- }
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Wrong line syntax: "+content);
- errorFound=true;
- }
- }
- }
- while(data.size()>0);
- transferFile.close();
- if(errorFound)
- emit warningTransferList(tr("Some errors have been found during the line parsing").toStdString());
-
- updateTheStatus();//->sendActionDone(); into this
- autoStartAndCheckSpace();
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Unable to open the transfer list: %1").arg(transferFile.errorString()).toStdString());
- emit errorTransferList(tr("Unable to open the transfer list: %1").arg(transferFile.errorString()).toStdString());
- return;
- }
-}
-
-int ListThread::getNumberOfTranferRuning() const
-{
- int numberOfTranferRuning=0;
- const int &loop_size=transferThreadList.size();
- //lunch the transfer in WaitForTheTransfer
- int int_for_loop=0;
- while(int_for_loop<loop_size)
- {
- if(transferThreadList.at(int_for_loop)->getStat()==TransferStat_Transfer && transferThreadList.at(int_for_loop)->transferId!=0 && transferThreadList.at(int_for_loop)->transferSize>=parallelizeIfSmallerThan)
- numberOfTranferRuning++;
- int_for_loop++;
- }
- return numberOfTranferRuning;
-}
-
-//return
-bool ListThread::needMoreSpace() const
-{
- if(!checkDiskSpace)
- return false;
- std::vector<Diskspace> diskspace_list;
- for( auto& spaceDrive : requiredSpace ) {
- const QString &drive=QString::fromStdString(spaceDrive.first);
- #ifdef Q_OS_WIN32
- if(spaceDrive.first!="A:\\" && spaceDrive.first!="A:/" && spaceDrive.first!="A:" && spaceDrive.first!="A" && spaceDrive.first!="a:\\" && spaceDrive.first!="a:/" && spaceDrive.first!="a:" && spaceDrive.first!="a")
- {
- #endif
- QStorageInfo storageInfo(drive);
- storageInfo.refresh();
- const qint64 &availableSpace=storageInfo.bytesAvailable();
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- const qint64 &bytesFree=storageInfo.bytesFree();
- #endif
-
- if(availableSpace<0 ||
- //workaround for all 0 value in case of bug from Qt
- (availableSpace==0 && storageInfo.bytesTotal()==0)
- )
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("availableSpace: %1, space needed: %2, on: %3, bytesFree: %4").arg(availableSpace).arg(spaceDrive.second).arg(drive).arg(bytesFree).toStdString());
- }
- else if(spaceDrive.second>(quint64)availableSpace)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("availableSpace: %1, space needed: %2, on: %3, bytesFree: %4").arg(availableSpace).arg(spaceDrive.second).arg(drive).arg(bytesFree).toStdString());
- #ifdef Q_OS_WIN32
- //if(drive.contains(QRegularExpression("^[a-zA-Z]:[\\\\/]")))
- if(drive.contains(QRegularExpression("^[a-zA-Z]:")))
- #endif
- {
- Diskspace diskspace;
- diskspace.drive=spaceDrive.first;
- diskspace.freeSpace=availableSpace;
- diskspace.requiredSpace=spaceDrive.second;
- diskspace_list.push_back(diskspace);
- }
- #ifdef Q_OS_WIN32
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"not local drive");
- #endif
- }
- #ifdef Q_OS_WIN32
- }
- #endif
- }
- if(!diskspace_list.empty())
- emit missingDiskSpace(diskspace_list);
- return ! diskspace_list.empty();
-}
-
-//do new actions
-void ListThread::doNewActions_start_transfer()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("actionToDoListTransfer.size(): %1, numberOfTranferRuning: %2").arg(actionToDoListTransfer.size()).arg(getNumberOfTranferRuning()).toStdString());
- if(stopIt || putInPause)
- return;
- int numberOfTranferRuning=getNumberOfTranferRuning();
- const int &loop_size=transferThreadList.size();
- //lunch the transfer in WaitForTheTransfer
- int int_for_loop=0;
- while(int_for_loop<loop_size)
- {
- if(transferThreadList.at(int_for_loop)->getStat()==TransferStat_WaitForTheTransfer)
- {
- if(transferThreadList.at(int_for_loop)->transferSize>=parallelizeIfSmallerThan)
- {
- if(numberOfTranferRuning<ULTRACOPIER_PLUGIN_MAXPARALLELTRANFER)
- {
- transferThreadList.at(int_for_loop)->startTheTransfer();
- numberOfTranferRuning++;
- }
- }
- else
- transferThreadList.at(int_for_loop)->startTheTransfer();
- }
- int_for_loop++;
- }
- int_for_loop=0;
- while(int_for_loop<loop_size)
- {
- if(transferThreadList.at(int_for_loop)->getStat()==TransferStat_PreOperation)
- {
- if(transferThreadList.at(int_for_loop)->transferSize>=parallelizeIfSmallerThan)
- {
- if(numberOfTranferRuning<ULTRACOPIER_PLUGIN_MAXPARALLELTRANFER)
- {
- transferThreadList.at(int_for_loop)->startTheTransfer();
- numberOfTranferRuning++;
- }
- }
- else
- transferThreadList.at(int_for_loop)->startTheTransfer();
- }
- int_for_loop++;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfTranferRuning: "+std::to_string(numberOfTranferRuning));
-}
-
-/** \brief lunch the pre-op or inode op
- 1) locate the next next item to do into the both list
- 1a) optimisation posible on the mkpath/rmpath
- 2) determine what need be lunched
- 3) lunch it, rerun the 2)
- */
-void ListThread::doNewActions_inode_manipulation()
-{
- #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"actionToDoList.size(): "+std::to_string(actionToDoListTransfer.size()));
- #endif
- if(stopIt)
- checkIfReadyToCancel();
- if(stopIt || putInPause)
- return;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- #endif
- //lunch the pre-op or inode op
- TransferThread *currentTransferThread;
- int int_for_loop=0;
- int int_for_internal_loop=0;
- int int_for_transfer_thread_search=0;
- actionToDoListTransfer_count=actionToDoListTransfer.size();
- actionToDoListInode_count=actionToDoListInode.size();
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- //search the next transfer action to do
- while(int_for_loop<actionToDoListTransfer_count)
- {
- if(!actionToDoListTransfer.at(int_for_loop).isRunning)
- {
- //search the next inode action to do
- while(int_for_internal_loop<actionToDoListInode_count)
- {
- if(!actionToDoListInode.at(int_for_internal_loop).isRunning)
- {
- if(actionToDoListTransfer.at(int_for_loop).id<actionToDoListInode.at(int_for_internal_loop).id)
- {
- //do the tranfer action in the next code
- break;
- }
- else
- {
- //do the inode action
- #include "ListThread_InodeAction.cpp"
- }
- }
- int_for_internal_loop++;
- }
- ActionToDoTransfer& currentActionToDoTransfer=actionToDoListTransfer[int_for_loop];
- //do the tranfer action
- while(int_for_transfer_thread_search<loop_sub_size_transfer_thread_search)
- {
- /**
- transferThreadList.at(int_for_transfer_thread_search)->transferId==0) /!\ important!
- Because the other thread can have call doNewAction before than this thread have the finish event parsed!
- I this case it lose all data
- */
- currentTransferThread=transferThreadList.at(int_for_transfer_thread_search);
- if(currentTransferThread->getStat()==TransferStat_Idle && currentTransferThread->transferId==0) // /!\ important!
- {
- std::string drive=driveManagement.getDrive(actionToDoListTransfer.at(int_for_internal_loop).destination.absoluteFilePath().toStdString());
- if(requiredSpace.find(drive)!=requiredSpace.cend() && (actionToDoListTransfer.at(int_for_internal_loop).mode!=Ultracopier::Move || drive!=driveManagement.getDrive(actionToDoListTransfer.at(int_for_internal_loop).source.absoluteFilePath().toStdString())))
- {
- requiredSpace[drive]-=actionToDoListTransfer.at(int_for_internal_loop).size;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("space needed removed: %1, space needed: %2, on: %3").arg(actionToDoListTransfer.at(int_for_internal_loop).size).arg(requiredSpace.at(drive)).arg(QString::fromStdString(drive)).toStdString());
- }
- currentTransferThread->transferId=currentActionToDoTransfer.id;
- currentTransferThread->transferSize=currentActionToDoTransfer.size;
- if(!currentTransferThread->setFiles(
- currentActionToDoTransfer.source,
- currentActionToDoTransfer.size,
- currentActionToDoTransfer.destination,
- currentActionToDoTransfer.mode
- ))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("[%1] id: %2 is idle, but seam busy at set name: %3").arg(int_for_loop).arg(currentTransferThread->transferId).arg(currentActionToDoTransfer.destination.absoluteFilePath()).toStdString());
- break;
- }
- currentActionToDoTransfer.isRunning=true;
-
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("[%1] id: %2 is idle, use it for %3").arg(int_for_loop).arg(currentTransferThread->transferId).arg(currentActionToDoTransfer.destination.absoluteFilePath()).toStdString());
-
- /// \note wrong position? Else write why it's here
- Ultracopier::ReturnActionOnCopyList newAction;
- newAction.type = Ultracopier::PreOperation;
- newAction.addAction.id = currentActionToDoTransfer.id;
- newAction.addAction.sourceFullPath = currentActionToDoTransfer.source.absoluteFilePath().toStdString();
- newAction.addAction.sourceFileName = currentActionToDoTransfer.source.fileName().toStdString();
- newAction.addAction.destinationFullPath = currentActionToDoTransfer.destination.absoluteFilePath().toStdString();
- newAction.addAction.destinationFileName = currentActionToDoTransfer.destination.fileName().toStdString();
- newAction.addAction.size = currentActionToDoTransfer.size;
- newAction.addAction.mode = currentActionToDoTransfer.mode;
- actionDone.push_back(newAction);
- int_for_transfer_thread_search++;
- numberOfInodeOperation++;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfInodeOperation: "+std::to_string(numberOfInodeOperation));
- #endif
- break;
- }
- int_for_transfer_thread_search++;
- }
- if(int_for_internal_loop==loop_sub_size_transfer_thread_search)
- {
- /// \note Can be normal when all thread is not initialized
- #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"unable to found free thread to do the transfer");
- #endif
- break;
- }
- #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfInodeOperation: "+std::to_string(numberOfInodeOperation));
- #endif
- if(numberOfInodeOperation>=inodeThreads)
- break;
- if(followTheStrictOrder)
- break;
- }
- int_for_loop++;
- }
- //search the next inode action to do
- int_for_internal_loop=0;
- while(int_for_internal_loop<actionToDoListInode_count)
- {
- if(!actionToDoListInode.at(int_for_internal_loop).isRunning)
- {
- //do the inode action
- #include "ListThread_InodeAction.cpp"
- }
- int_for_internal_loop++;
- }
- //error checking
- if(actionToDoListInode_count>inodeThreads)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("The index have been detected as out of max range: %1>%2").arg(actionToDoListInode_count).arg(inodeThreads).toStdString());
- return;
- }
-}
-
-//restart transfer if it can
-void ListThread::restartTransferIfItCan()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- TransferThread *transfer=qobject_cast<TransferThread *>(QObject::sender());
- if(transfer==NULL)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"transfer thread not located!");
- return;
- }
- int numberOfTranferRuning=getNumberOfTranferRuning();
- if(numberOfTranferRuning<ULTRACOPIER_PLUGIN_MAXPARALLELTRANFER && transfer->getStat()==TransferStat_WaitForTheTransfer)
- transfer->startTheTransfer();
- doNewActions_start_transfer();
-}
-
-/// \brief update the transfer stat
-void ListThread::newTransferStat(const TransferStat &stat,const quint64 &id)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"TransferStat: "+std::to_string(stat));
- Ultracopier::ReturnActionOnCopyList newAction;
- switch(stat)
- {
- case TransferStat_Idle:
- return;
- break;
- case TransferStat_PreOperation:
- return;
- break;
- case TransferStat_WaitForTheTransfer:
- return;
- break;
- case TransferStat_Transfer:
- newAction.type=Ultracopier::Transfer;
- break;
- case TransferStat_PostTransfer:
- case TransferStat_PostOperation:
- newAction.type=Ultracopier::PostOperation;
- break;
- case TransferStat_Checksum:
- newAction.type=Ultracopier::CustomOperation;
- break;
- default:
- return;
- break;
- }
- newAction.addAction.id = id;
- actionDone.push_back(newAction);
-}
-
-void ListThread::set_osBufferLimit(const unsigned int &osBufferLimit)
-{
- this->osBufferLimit=osBufferLimit;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->set_osBufferLimit(osBufferLimit);
- index++;
- }
-}
-
-void ListThread::set_setFilters(const std::vector<Filters_rules> &include,const std::vector<Filters_rules> &exclude)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("include.size(): %1, exclude.size(): %2").arg(include.size()).arg(exclude.size()).toStdString());
- this->include=include;
- this->exclude=exclude;
- unsigned int index=0;
- while(index<scanFileOrFolderThreadsPool.size())
- {
- scanFileOrFolderThreadsPool.at(index)->setFilters(include,exclude);
- index++;
- }
-}
-
-void ListThread::set_sendNewRenamingRules(const std::string &firstRenamingRule,const std::string &otherRenamingRule)
-{
- this->firstRenamingRule=firstRenamingRule;
- this->otherRenamingRule=otherRenamingRule;
- emit send_sendNewRenamingRules(firstRenamingRule,otherRenamingRule);
-}
-
-void ListThread::set_updateMount()
-{
- driveManagement.tryUpdate();
- emit send_updateMount();
-}
-
-void ListThread::mkPathFirstFolderFinish()
-{
- int int_for_loop=0;
- const int &loop_size=actionToDoListInode.size();
- while(int_for_loop<loop_size)
- {
- if(actionToDoListInode.at(int_for_loop).isRunning)
- {
- if(actionToDoListInode.at(int_for_loop).type==ActionType_MkPath)
- {
- //to send to the log
- emit mkPath(actionToDoListInode.at(int_for_loop).destination.absoluteFilePath().toStdString());
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("stop mkpath: %1").arg(actionToDoListInode.at(int_for_loop).destination.absoluteFilePath()).toStdString());
- actionToDoListInode.erase(actionToDoListInode.cbegin()+int_for_loop);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("actionToDoListTransfer.size(): %1, actionToDoListInode: %2, actionToDoListInode_afterTheTransfer: %3").arg(actionToDoListTransfer.size()).arg(actionToDoListInode.size()).arg(actionToDoListInode_afterTheTransfer.size()).toStdString());
- if(actionToDoListTransfer.empty() && actionToDoListInode.empty() && actionToDoListInode_afterTheTransfer.empty())
- updateTheStatus();
- numberOfInodeOperation--;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfInodeOperation: "+std::to_string(numberOfInodeOperation));
- #endif
- doNewActions_inode_manipulation();
- return;
- }
- if(actionToDoListInode.at(int_for_loop).type==ActionType_MovePath || actionToDoListInode.at(int_for_loop).type==ActionType_RealMove
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- || actionToDoListInode.at(int_for_loop).type==ActionType_RmSync
- #endif
- )
- {
- //to send to the log
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- if(actionToDoListInode.at(int_for_loop).type!=ActionType_RmSync)
- emit mkPath(actionToDoListInode.at(int_for_loop).destination.absoluteFilePath().toStdString());
- #else
- emit mkPath(actionToDoListInode.at(int_for_loop).destination.absoluteFilePath().toStdString());
- #endif
- emit rmPath(actionToDoListInode.at(int_for_loop).source.absoluteFilePath().toStdString());
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("stop mkpath: %1").arg(actionToDoListInode.at(int_for_loop).destination.absoluteFilePath()).toStdString());
- actionToDoListInode.erase(actionToDoListInode.cbegin()+int_for_loop);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("actionToDoListTransfer.size(): %1, actionToDoListInode: %2, actionToDoListInode_afterTheTransfer: %3").arg(actionToDoListTransfer.size()).arg(actionToDoListInode.size()).arg(actionToDoListInode_afterTheTransfer.size()).toStdString());
- if(actionToDoListTransfer.empty() && actionToDoListInode.empty() && actionToDoListInode_afterTheTransfer.empty())
- updateTheStatus();
- numberOfInodeOperation--;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG_SCHEDULER
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"numberOfInodeOperation: "+std::to_string(numberOfInodeOperation));
- #endif
- doNewActions_inode_manipulation();
- return;
- }
-
- }
- int_for_loop++;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to found item into the todo list");
-}
-
-#ifdef ULTRACOPIER_PLUGIN_DEBUG_WINDOW
-
-void ListThread::timedUpdateDebugDialog()
-{
- std::vector<std::string> newList;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- QString stat;
- switch(transferThreadList.at(index)->getStat())
- {
- case TransferStat_Idle:
- stat="Idle";
- break;
- case TransferStat_PreOperation:
- stat="PreOperation";
- break;
- case TransferStat_WaitForTheTransfer:
- stat="WaitForTheTransfer";
- break;
- case TransferStat_Transfer:
- stat="Transfer";
- break;
- case TransferStat_PostOperation:
- stat="PostOperation";
- break;
- case TransferStat_PostTransfer:
- stat="PostTransfer";
- break;
- case TransferStat_Checksum:
- stat="Checksum";
- break;
- default:
- stat=QStringLiteral("??? (%1)").arg(transferThreadList.at(index)->getStat());
- break;
- }
- newList.push_back(QStringLiteral("%1) (%3,%4) %2")
- .arg(index)
- .arg(stat)
- .arg(transferThreadList.at(index)->readingLetter())
- .arg(transferThreadList.at(index)->writingLetter())
- .toStdString()
- );
- index++;
- }
- std::vector<std::string> newList2;
- index=0;
- const int &loop_size=actionToDoListTransfer.size();
- while(index<loop_size)
- {
- newList2.push_back(QStringLiteral("%1 %2 %3")
- .arg(actionToDoListTransfer.at(index).source.absoluteFilePath())
- .arg(actionToDoListTransfer.at(index).size)
- .arg(actionToDoListTransfer.at(index).destination.absoluteFilePath())
- .toStdString()
- );
- if(index>((inodeThreads+ULTRACOPIER_PLUGIN_MAXPARALLELTRANFER)*2+1))
- {
- newList2.push_back("...");
- break;
- }
- index++;
- }
- emit updateTheDebugInfo(newList,newList2,numberOfInodeOperation);
-}
-
-#endif
-
-/// \note Can be call without queue because all call will be serialized
-void ListThread::fileAlreadyExists(const QFileInfo &source,const QFileInfo &destination,const bool &isSame)
-{
- emit send_fileAlreadyExists(source,destination,isSame,qobject_cast<TransferThread *>(sender()));
-}
-
-/// \note Can be call without queue because all call will be serialized
-void ListThread::errorOnFile(const QFileInfo &fileInfo, const std::string &errorString, const ErrorType &errorType)
-{
- TransferThread * transferThread=qobject_cast<TransferThread *>(sender());
- if(transferThread==NULL)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Thread locating error");
- return;
- }
- ErrorLogEntry errorLogEntry;
- errorLogEntry.source=transferThread->getSourceInode();
- errorLogEntry.destination=transferThread->getDestinationInode();
- errorLogEntry.mode=transferThread->getMode();
- errorLogEntry.error=errorString;
- errorLog.push_back(errorLogEntry);
- emit errorToRetry(transferThread->getSourcePath(),transferThread->getDestinationPath(),errorString);
- emit send_errorOnFile(fileInfo,errorString,transferThread,errorType);
-}
-
-/// \note Can be call without queue because all call will be serialized
-void ListThread::folderAlreadyExists(const QFileInfo &source,const QFileInfo &destination,const bool &isSame)
-{
- emit send_folderAlreadyExists(source,destination,isSame,qobject_cast<ScanFileOrFolder *>(sender()));
-}
-
-/// \note Can be call without queue because all call will be serialized
-/// \todo all this part
-void ListThread::errorOnFolder(const QFileInfo &fileInfo,const std::string &errorString,const ErrorType &errorType)
-{
- emit send_errorOnFolder(fileInfo,errorString,qobject_cast<ScanFileOrFolder *>(sender()),errorType);
-}
-
-//to run the thread
-void ListThread::run()
-{
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- clockForTheCopySpeed=new QTimer();
- #endif
-
- exec();
-}
-
-void ListThread::getNeedPutAtBottom(const QFileInfo &fileInfo, const std::string &errorString, TransferThread *thread, const ErrorType &errorType)
-{
- if(actionToDoListTransfer.empty())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"can't try put at bottom if empty");
- this->alwaysDoThisActionForFileExists=FileExists_NotSet;
- putAtBottom=0;
- emit haveNeedPutAtBottom(false,fileInfo,errorString,thread,errorType);
- return;
- }
- bool needPutAtBottom=(putAtBottom<(quint32)actionToDoListTransfer.size());
- if(!needPutAtBottom)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Reset put at bottom");
- this->alwaysDoThisActionForFileExists=FileExists_NotSet;
- putAtBottom=0;
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"Put at bottom for later try");
- thread->putAtBottom();
- putAtBottom++;
- return;
- }
- emit haveNeedPutAtBottom(needPutAtBottom,fileInfo,errorString,thread,errorType);
-}
-
-/// \to create transfer thread
-void ListThread::createTransferThread()
-{
- if(stopIt)
- return;
- if(transferThreadList.size()>=(unsigned int)inodeThreads)
- return;
- transferThreadList.push_back(new TransferThread());
- TransferThread * last=transferThreadList.back();
- last->transferId=0;
- last->transferSize=0;
- last->setRightTransfer(doRightTransfer);
- last->setKeepDate(keepDate);
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- if(!last->setBlockSize(blockSizeAfterSpeedLimitation))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to set the block size: "+std::to_string(blockSizeAfterSpeedLimitation));
- #else
- if(!last->setBlockSize(blockSize))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to set the block size: "+std::to_string(blockSize));
- #endif
- if(!last->setSequentialBuffer(sequentialBuffer))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to set the sequentialBuffer: "+std::to_string(sequentialBuffer));
- if(!last->setBlockSize(parallelBuffer))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to set the parallelBuffer: "+std::to_string(parallelBuffer));
- last->setAlwaysFileExistsAction(alwaysDoThisActionForFileExists);
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- last->setMultiForBigSpeed(multiForBigSpeed);
- #endif
- last->set_doChecksum(doChecksum);
- last->set_checksumIgnoreIfImpossible(checksumIgnoreIfImpossible);
- last->set_checksumOnlyOnError(checksumOnlyOnError);
- last->set_osBuffer(osBuffer);
- last->set_osBufferLimited(osBufferLimited);
- last->set_osBufferLimit(osBufferLimit);
- last->setDeletePartiallyTransferredFiles(deletePartiallyTransferredFiles);
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- last->setRsync(rsync);
- #endif
-
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- connect(last,&TransferThread::debugInformation, this,&ListThread::debugInformation, Qt::QueuedConnection);
- #endif // ULTRACOPIER_PLUGIN_DEBUG
- connect(last,&TransferThread::errorOnFile, this,&ListThread::errorOnFile, Qt::QueuedConnection);
- connect(last,&TransferThread::fileAlreadyExists, this,&ListThread::fileAlreadyExists, Qt::QueuedConnection);
- connect(last,&TransferThread::tryPutAtBottom, this,&ListThread::transferPutAtBottom, Qt::QueuedConnection);
- connect(last,&TransferThread::readStopped, this,&ListThread::doNewActions_start_transfer, Qt::QueuedConnection);
- connect(last,&TransferThread::preOperationStopped, this,&ListThread::doNewActions_start_transfer, Qt::QueuedConnection);
- connect(last,&TransferThread::postOperationStopped, this,&ListThread::transferInodeIsClosed, Qt::QueuedConnection);
- connect(last,&TransferThread::checkIfItCanBeResumed, this,&ListThread::restartTransferIfItCan, Qt::QueuedConnection);
- connect(last,&TransferThread::pushStat, this,&ListThread::newTransferStat, Qt::QueuedConnection);
-
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- //speed limitation
- connect(clockForTheCopySpeed, &QTimer::timeout, last, &TransferThread::timeOfTheBlockCopyFinished, Qt::QueuedConnection);
- #endif
-
- connect(this,&ListThread::send_sendNewRenamingRules, last,&TransferThread::setRenamingRules, Qt::QueuedConnection);
-
- connect(this,&ListThread::send_setTransferAlgorithm, last,&TransferThread::setTransferAlgorithm, Qt::QueuedConnection);
- connect(this,&ListThread::send_parallelBuffer, last,&TransferThread::setParallelBuffer, Qt::QueuedConnection);
- connect(this,&ListThread::send_sequentialBuffer, last,&TransferThread::setSequentialBuffer, Qt::QueuedConnection);
- connect(this,&ListThread::send_updateMount, last,&TransferThread::set_updateMount, Qt::QueuedConnection);
-
- last->start();
- last->setObjectName(QStringLiteral("transfer %1").arg(transferThreadList.size()-1));
- last->setMkpathTransfer(&mkpathTransfer);
- last->setRenamingRules(firstRenamingRule,otherRenamingRule);
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- last->setId(transferThreadList.size()-1);
- #endif
- if(transferThreadList.size()>=(unsigned int)inodeThreads)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"create the last of the "+std::to_string(inodeThreads)+" transferThread");
- return;
- }
- if(stopIt)
- return;
- doNewActions_inode_manipulation();
- emit askNewTransferThread();
-}
-
-void ListThread::deleteTransferThread()
-{
- int loop_size=transferThreadList.size();
- if(loop_size>inodeThreads)
- {
- int index=0;
- while(index<loop_size && loop_size>inodeThreads)
- {
- if(transferThreadList.at(index)->getStat()==TransferStat_Idle && transferThreadList.at(index)->transferId==0)
- {
- transferThreadList.at(index)->stop();
- delete transferThreadList.at(index);//->deleteLayer();
- transferThreadList[index]=NULL;
- transferThreadList.erase(transferThreadList.cbegin()+index);
- loop_size--;
- }
- else
- index++;
- }
- if(loop_size==inodeThreads)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"inodeThreads is lowered to the right value: "+std::to_string(inodeThreads));
- }
-}
-
-void ListThread::setTransferAlgorithm(const TransferAlgorithm &transferAlgorithm)
-{
- if(transferAlgorithm==TransferAlgorithm_Sequential)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"transferAlgorithm==TransferAlgorithm_Sequential");
- else if(transferAlgorithm==TransferAlgorithm_Automatic)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"transferAlgorithm==TransferAlgorithm_Automatic");
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"transferAlgorithm==TransferAlgorithm_Parallel");
- emit send_setTransferAlgorithm(transferAlgorithm);
-}
-
-void ListThread::setParallelBuffer(int parallelBuffer)
-{
- if(parallelBuffer<1 || parallelBuffer>ULTRACOPIER_PLUGIN_MAX_PARALLEL_NUMBER_OF_BLOCK)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"wrong number of block: "+std::to_string(parallelBuffer));
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"in number of block: "+std::to_string(parallelBuffer));
- this->parallelBuffer=parallelBuffer;
- emit send_parallelBuffer(parallelBuffer);
-}
-
-void ListThread::setSequentialBuffer(int sequentialBuffer)
-{
- if(sequentialBuffer<1 || sequentialBuffer>ULTRACOPIER_PLUGIN_MAX_SEQUENTIAL_NUMBER_OF_BLOCK)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"wrong number of block: "+std::to_string(sequentialBuffer));
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"in number of block: "+std::to_string(sequentialBuffer));
- this->sequentialBuffer=sequentialBuffer;
- emit send_sequentialBuffer(sequentialBuffer);
-}
-
-void ListThread::setParallelizeIfSmallerThan(const unsigned int &parallelizeIfSmallerThan)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"parallelizeIfSmallerThan in Bytes: "+std::to_string(parallelizeIfSmallerThan));
- this->parallelizeIfSmallerThan=parallelizeIfSmallerThan;
-}
-
-void ListThread::setMoveTheWholeFolder(const bool &moveTheWholeFolder)
-{
- for(unsigned int i=0;i<scanFileOrFolderThreadsPool.size();i++)
- scanFileOrFolderThreadsPool.at(i)->setMoveTheWholeFolder(moveTheWholeFolder);
- this->moveTheWholeFolder=moveTheWholeFolder;
-}
-
-void ListThread::setFollowTheStrictOrder(const bool &followTheStrictOrder)
-{
- this->followTheStrictOrder=followTheStrictOrder;
-}
-
-void ListThread::setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles)
-{
- this->deletePartiallyTransferredFiles=deletePartiallyTransferredFiles;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->setDeletePartiallyTransferredFiles(deletePartiallyTransferredFiles);
- index++;
- }
-}
-
-void ListThread::setInodeThreads(const int &inodeThreads)
-{
- if(inodeThreads<1 || inodeThreads>32)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"inodeThreads is out of ranges: "+std::to_string(inodeThreads));
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"inodeThreads: "+std::to_string(inodeThreads));
- this->inodeThreads=inodeThreads;
- createTransferThread();
- deleteTransferThread();
-}
-
-void ListThread::setRenameTheOriginalDestination(const bool &renameTheOriginalDestination)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"renameTheOriginalDestination: "+std::to_string(renameTheOriginalDestination));
- this->renameTheOriginalDestination=renameTheOriginalDestination;
- int index=0;
- int loop_sub_size_transfer_thread_search=transferThreadList.size();
- while(index<loop_sub_size_transfer_thread_search)
- {
- transferThreadList.at(index)->setRenameTheOriginalDestination(renameTheOriginalDestination);
- index++;
- }
-}
-
-void ListThread::setCheckDiskSpace(const bool &checkDiskSpace)
-{
- this->checkDiskSpace=checkDiskSpace;
-}
-
-void ListThread::setCopyListOrder(const bool &order)
-{
- this->copyListOrder=order;
- for(unsigned int i=0;i<scanFileOrFolderThreadsPool.size();i++)
- scanFileOrFolderThreadsPool.at(i)->setCopyListOrder(this->copyListOrder);
-}
-
-void ListThread::exportErrorIntoTransferList(const std::string &fileName)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- QFile transferFile(QString::fromStdString(fileName));
- if(transferFile.open(QIODevice::WriteOnly|QIODevice::Truncate))
- {
- transferFile.write(QStringLiteral("Ultracopier;Transfer-list;").toUtf8());
- if(!forcedMode)
- transferFile.write(QStringLiteral("Transfer;").toUtf8());
- else
- {
- if(mode==Ultracopier::Copy)
- transferFile.write(QStringLiteral("Copy;").toUtf8());
- else
- transferFile.write(QStringLiteral("Move;").toUtf8());
- }
- transferFile.write(QStringLiteral("Ultracopier\n").toUtf8());
- bool haveError=false;
- int size=errorLog.size();
- for (int index=0;index<size;++index) {
- if(errorLog.at(index).mode==Ultracopier::Copy)
- {
- if(!forcedMode || mode==Ultracopier::Copy)
- {
- if(forcedMode)
- transferFile.write(QStringLiteral("%1;%2\n").arg(errorLog.at(index).source.absoluteFilePath()).arg(errorLog.at(index).destination.absoluteFilePath()).toUtf8());
- else
- transferFile.write(QStringLiteral("Copy;%1;%2\n").arg(errorLog.at(index).source.absoluteFilePath()).arg(errorLog.at(index).destination.absoluteFilePath()).toUtf8());
- }
- else
- haveError=true;
- }
- else if(errorLog.at(index).mode==Ultracopier::Move)
- {
- if(!forcedMode || mode==Ultracopier::Move)
- {
- if(forcedMode)
- transferFile.write(QStringLiteral("%1;%2\n").arg(errorLog.at(index).source.absoluteFilePath()).arg(errorLog.at(index).destination.absoluteFilePath()).toUtf8());
- else
- transferFile.write(QStringLiteral("Move;%1;%2\n").arg(errorLog.at(index).source.absoluteFilePath()).arg(errorLog.at(index).destination.absoluteFilePath()).toUtf8());
- }
- else
- haveError=true;
- }
- }
- if(haveError)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable do to move or copy item into wrong forced mode: "+transferFile.errorString().toStdString());
- emit errorTransferList(tr("Unable do to move or copy item into wrong forced mode: %1").arg(transferFile.errorString()).toStdString());
- }
- transferFile.close();
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to save the transfer list: "+transferFile.errorString().toStdString());
- emit errorTransferList(tr("Unable to save the transfer list: %1").arg(transferFile.errorString()).toStdString());
- return;
- }
-}
diff --git a/plugins/CopyEngine/Ultracopier/ListThread_InodeAction.cpp b/plugins/CopyEngine/Ultracopier/ListThread_InodeAction.cpp
deleted file mode 100644
index 12421f2..0000000
--- a/plugins/CopyEngine/Ultracopier/ListThread_InodeAction.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/** \file ListThread_InodeAction.cpp
-\brief To be included into ListThread.cpp, to optimize and prevent code duplication
-\see ListThread.cpp */
-
-#ifdef LISTTHREAD_H
-
-//do the inode action
-ActionToDoInode& currentActionToDoInode=actionToDoListInode[int_for_internal_loop];
-switch(currentActionToDoInode.type)
-{
- case ActionType_RealMove:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("launch real move, source: %1, destination: %2").arg(currentActionToDoInode.source.absoluteFilePath()).arg(currentActionToDoInode.destination.absoluteFilePath()).toStdString());
- mkPathQueue.addPath(currentActionToDoInode.source.absoluteFilePath(),currentActionToDoInode.destination.absoluteFilePath(),currentActionToDoInode.type);
- currentActionToDoInode.isRunning=true;
- numberOfInodeOperation++;
- if(numberOfInodeOperation>=inodeThreads)
- return;
- break;
- case ActionType_MkPath:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("launch mkpath, source: %1, destination: %2").arg(currentActionToDoInode.source.absoluteFilePath()).arg(currentActionToDoInode.destination.absoluteFilePath()).toStdString());
- mkPathQueue.addPath(currentActionToDoInode.source.absoluteFilePath(),currentActionToDoInode.destination.absoluteFilePath(),currentActionToDoInode.type);
- currentActionToDoInode.isRunning=true;
- numberOfInodeOperation++;
- if(numberOfInodeOperation>=inodeThreads)
- return;
- break;
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- case ActionType_RmSync:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("launch rmsync, destination: %1").arg(currentActionToDoInode.destination.absoluteFilePath()).toStdString());
- mkPathQueue.addPath(currentActionToDoInode.destination.absoluteFilePath(),currentActionToDoInode.destination.absoluteFilePath(),currentActionToDoInode.type);
- currentActionToDoInode.isRunning=true;
- numberOfInodeOperation++;
- if(numberOfInodeOperation>=inodeThreads)
- return;
- break;
- #endif
- case ActionType_MovePath:
- //then empty (no file), can try remove it
- if(currentActionToDoInode.size==0 || actionToDoListTransfer.empty())//don't put afterTheTransfer because actionToDoListInode_afterTheTransfer -> already afterTheTransfer
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("launch rmpath: %1").arg(currentActionToDoInode.source.absoluteFilePath()).toStdString());
- mkPathQueue.addPath(currentActionToDoInode.source.absoluteFilePath(),currentActionToDoInode.destination.absoluteFilePath(),currentActionToDoInode.type);
- currentActionToDoInode.isRunning=true;
- numberOfInodeOperation++;
- if(numberOfInodeOperation>=inodeThreads)
- return;
- }
- else //have do the destination, put the remove to after
- {
- currentActionToDoInode.size=0;
- actionToDoListInode_afterTheTransfer.push_back(currentActionToDoInode);
- actionToDoListInode.erase(actionToDoListInode.cbegin()+int_for_internal_loop);
- int_for_internal_loop--;
- actionToDoListInode_count--;
- if(numberOfInodeOperation>=inodeThreads)
- return;
- }
- break;
- default:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Wrong type at inode action");
- return;
-}
-
-#endif
diff --git a/plugins/CopyEngine/Ultracopier/MkPath.cpp b/plugins/CopyEngine/Ultracopier/MkPath.cpp
deleted file mode 100644
index e4ac9cf..0000000
--- a/plugins/CopyEngine/Ultracopier/MkPath.cpp
+++ /dev/null
@@ -1,517 +0,0 @@
-#include "MkPath.h"
-
-#ifdef Q_OS_WIN32
- #ifndef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- #ifndef NOMINMAX
- #define NOMINMAX
- #endif
- #include <windows.h>
- #endif
-#endif
-
-std::string MkPath::text_slash="/";
-
-MkPath::MkPath()
-{
- stopIt=false;
- waitAction=false;
- doRightTransfer=false;
- maxTime=QDateTime(QDate(ULTRACOPIER_PLUGIN_MINIMALYEAR,1,1));
- setObjectName("MkPath");
- moveToThread(this);
- start();
- #ifdef Q_OS_WIN32
- #ifndef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- regRead=std::regex("^[a-zA-Z]:");
- #endif
- #endif
-}
-
-MkPath::~MkPath()
-{
- stopIt=true;
- quit();
- wait();
-}
-
-void MkPath::addPath(const QFileInfo& source, const QFileInfo& destination, const ActionType &actionType)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("source: %1, destination: %2").arg(source.absoluteFilePath()).arg(destination.absoluteFilePath()).toStdString());
- if(stopIt)
- return;
- emit internalStartAddPath(source,destination,actionType);
-}
-
-void MkPath::skip()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- emit internalStartSkip();
-}
-
-void MkPath::retry()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- emit internalStartRetry();
-}
-
-void MkPath::run()
-{
- connect(this,&MkPath::internalStartAddPath, this,&MkPath::internalAddPath,Qt::QueuedConnection);
- connect(this,&MkPath::internalStartDoThisPath, this,&MkPath::internalDoThisPath,Qt::QueuedConnection);
- connect(this,&MkPath::internalStartSkip, this,&MkPath::internalSkip,Qt::QueuedConnection);
- connect(this,&MkPath::internalStartRetry, this,&MkPath::internalRetry,Qt::QueuedConnection);
- exec();
-}
-
-void MkPath::internalDoThisPath()
-{
- if(waitAction || pathList.isEmpty())
- return;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("source: %1, destination: %2, move: %3").arg(pathList.first().source.absoluteFilePath()).arg(pathList.first().destination.absoluteFilePath()).arg(pathList.first().actionType).toStdString());
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- if(pathList.first().actionType==ActionType_RmSync)
- {
- if(pathList.first().destination.isFile())
- {
- QFile removedFile(pathList.first().destination.absoluteFilePath());
- if(!removedFile.remove())
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to remove the inode: "+pathList.first().destination.absoluteFilePath().toStdString()+", error: "+removedFile.errorString().toStdString());
- emit errorOnFolder(pathList.first().destination,removedFile.errorString().toStdString());
- return;
- }
- }
- else if(!rmpath(pathList.first().destination.absoluteFilePath()))
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to remove the inode: "+pathList.first().destination.absoluteFilePath().toStdString());
- emit errorOnFolder(pathList.first().destination,tr("Unable to remove").toStdString());
- return;
- }
- pathList.removeFirst();
- emit firstFolderFinish();
- checkIfCanDoTheNext();
- return;
- }
- #endif
- doTheDateTransfer=false;
- if(keepDate)
- {
- if(!pathList.first().source.exists())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"the sources not exists: "+pathList.first().source.absoluteFilePath().toStdString());
- doTheDateTransfer=false;
- }
- else if(maxTime>=pathList.first().source.lastModified())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"the sources is older to copy the time: "+pathList.first().source.absoluteFilePath().toStdString()+": "+maxTime.toString("dd.MM.yyyy hh:mm:ss.zzz").toStdString()+">="+pathList.first().source.lastModified().toString("dd.MM.yyyy hh:mm:ss.zzz").toStdString());
- doTheDateTransfer=false;
- }
- else
- {
- doTheDateTransfer=readFileDateTime(pathList.first().source);
- /*if(!doTheDateTransfer)
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to get source folder time: "+pathList.first().source.absoluteFilePath());
- emit errorOnFolder(pathList.first().source,tr("Unable to get time"));
- return;
- }*/
- }
- }
- if(dir.exists(pathList.first().destination.absoluteFilePath()) && pathList.first().actionType==ActionType_RealMove)
- pathList.first().actionType=ActionType_MovePath;
- if(pathList.first().actionType!=ActionType_RealMove)
- {
- if(!dir.exists(pathList.first().destination.absoluteFilePath()))
- if(!dir.mkpath(pathList.first().destination.absoluteFilePath()))
- {
- if(!dir.exists(pathList.first().destination.absoluteFilePath()))
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: "+pathList.first().destination.absoluteFilePath().toStdString());
- emit errorOnFolder(pathList.first().destination,tr("Unable to create the folder").toStdString());
- return;
- }
- }
- }
- else
- {
- if(!pathList.first().source.exists())
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"The source folder don't exists: "+pathList.first().source.absoluteFilePath().toStdString());
- emit errorOnFolder(pathList.first().destination,tr("The source folder don't exists").toStdString());
- return;
- }
- if(!pathList.first().source.isDir())//it's really an error?
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"The source is not a folder: "+pathList.first().source.absoluteFilePath().toStdString());
- /*if(stopIt)
- return;
- waitAction=true;
- emit errorOnFolder(pathList.first().destination,tr("The source is not a folder"));
- return;*/
- }
- if(pathList.first().destination.absoluteFilePath().startsWith(pathList.first().source.absoluteFilePath()+QString::fromStdString(text_slash)))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"move into it self: "+pathList.first().destination.absoluteFilePath().toStdString());
- int random=rand();
- QFileInfo tempFolder=pathList.first().source.absolutePath()+QString::fromStdString(text_slash)+QString::number(random);
- while(tempFolder.exists())
- {
- random=rand();
- tempFolder=pathList.first().source.absolutePath()+QString::fromStdString(text_slash)+QString::number(random);
- }
- if(!dir.rename(pathList.first().source.absoluteFilePath(),tempFolder.absoluteFilePath()))
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to temporary rename the folder: "+pathList.first().destination.absoluteFilePath().toStdString());
- emit errorOnFolder(pathList.first().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(pathList.first().destination.absolutePath()))
- {
- if(!dir.exists(pathList.first().destination.absolutePath()))
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: "+pathList.first().destination.absoluteFilePath());
- emit errorOnFolder(pathList.first().destination,tr("Unable to create the folder"));
- return;
- }
- }*/
- if(!dir.rename(tempFolder.absoluteFilePath(),pathList.first().destination.absoluteFilePath()))
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to do the final real move the folder: "+pathList.first().destination.absoluteFilePath().toStdString());
- emit errorOnFolder(pathList.first().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(pathList.first().destination.absolutePath()))
- {
- if(!dir.exists(pathList.first().destination.absolutePath()))
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: "+pathList.first().destination.absoluteFilePath());
- emit errorOnFolder(pathList.first().destination,tr("Unable to create the folder"));
- return;
- }
- }*/
- if(!dir.rename(pathList.first().source.absoluteFilePath(),pathList.first().destination.absoluteFilePath()))
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to make the folder: from: "+pathList.first().source.absoluteFilePath().toStdString()+", soruce exists: "+std::to_string(QDir(pathList.first().source.absoluteFilePath()).exists())+", to: "+pathList.first().destination.absoluteFilePath().toStdString()
- +", destination exist: "+std::to_string(QDir(pathList.first().destination.absoluteFilePath()).exists()));
- emit errorOnFolder(pathList.first().destination,tr("Unable to move the folder").toStdString());
- return;
- }
- }
- }
- if(doTheDateTransfer)
- if(!writeFileDateTime(pathList.first().destination))
- {
- if(!pathList.first().destination.exists())
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to set destination folder time (not exists): "+pathList.first().destination.absoluteFilePath().toStdString());
- else if(!pathList.first().destination.isDir())
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to set destination folder time (not a dir): "+pathList.first().destination.absoluteFilePath().toStdString());
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to set destination folder time: "+pathList.first().destination.absoluteFilePath().toStdString());
- /*if(stopIt)
- return;
- waitAction=true;
-
- emit errorOnFolder(pathList.first().source,tr("Unable to set time"));
- return;*/
- }
- if(doRightTransfer && pathList.first().actionType!=ActionType_RealMove)
- {
- QFile source(pathList.first().source.absoluteFilePath());
- QFile destination(pathList.first().destination.absoluteFilePath());
- if(!destination.setPermissions(source.permissions()))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to set the right: "+pathList.first().destination.absoluteFilePath().toStdString());
- /*if(stopIt)
- return;
- waitAction=true;
- emit errorOnFolder(pathList.first().source,tr("Unable to set the access-right"));
- return;*/
- }
- }
- if(pathList.first().actionType==ActionType_MovePath)
- {
- if(!rmpath(pathList.first().source.absoluteFilePath()))
- {
- if(stopIt)
- return;
- waitAction=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to remove the source folder: "+pathList.first().destination.absoluteFilePath().toStdString());
- emit errorOnFolder(pathList.first().source,tr("Unable to remove").toStdString());
- return;
- }
- }
- pathList.removeFirst();
- emit firstFolderFinish();
- checkIfCanDoTheNext();
-}
-
-void MkPath::internalAddPath(const QFileInfo& source, const QFileInfo& destination, const ActionType &actionType)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("source: %1, destination: %2").arg(source.absoluteFilePath()).arg(destination.absoluteFilePath()).toStdString());
- Item tempPath;
- tempPath.source=source;
- tempPath.destination=destination;
- tempPath.actionType=actionType;
- pathList << tempPath;
- if(!waitAction)
- checkIfCanDoTheNext();
-}
-
-void MkPath::checkIfCanDoTheNext()
-{
- if(!waitAction && !stopIt && pathList.size()>0)
- emit internalStartDoThisPath();
-}
-
-void MkPath::internalSkip()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- waitAction=false;
- pathList.removeFirst();
- emit firstFolderFinish();
- checkIfCanDoTheNext();
-}
-
-void MkPath::internalRetry()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- waitAction=false;
- checkIfCanDoTheNext();
-}
-
-void MkPath::setRightTransfer(const bool doRightTransfer)
-{
- this->doRightTransfer=doRightTransfer;
-}
-
-void MkPath::setKeepDate(const bool keepDate)
-{
- this->keepDate=keepDate;
-}
-
-bool MkPath::rmpath(const QDir &dir
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- ,const bool &toSync
- #endif
- )
-{
- if(!dir.exists())
- return true;
- bool allHaveWork=true;
- QFileInfoList list = dir.entryInfoList(QDir::AllEntries|QDir::NoDotAndDotDot|QDir::Hidden|QDir::System,QDir::DirsFirst);
- for (int i = 0; i < list.size(); ++i)
- {
- QFileInfo fileInfo(list.at(i));
- if(!fileInfo.isDir())
- {
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- if(toSync)
- {
- QFile file(fileInfo.absoluteFilePath());
- if(!file.remove())
- {
- if(toSync)
- {
- QFile file(fileInfo.absoluteFilePath());
- if(!file.remove())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to remove a file: "+fileInfo.absoluteFilePath().toStdString()+", due to: "+file.errorString().toStdString());
- allHaveWork=false;
- }
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"found a file: "+fileInfo.fileName().toStdString());
- allHaveWork=false;
- }
- }
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"found a file: "+fileInfo.fileName().toStdString());
- allHaveWork=false;
- }
- #else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"found a file: "+fileInfo.fileName().toStdString());
- allHaveWork=false;
- #endif
- }
- else
- {
- //return the fonction for scan the new folder
- if(!rmpath(dir.absolutePath()+'/'+fileInfo.fileName()+'/'))
- allHaveWork=false;
- }
- }
- if(!allHaveWork)
- return false;
- allHaveWork=dir.rmdir(dir.absolutePath());
- if(!allHaveWork)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to remove the folder: "+dir.absolutePath().toStdString());
- return allHaveWork;
-}
-
-//fonction to edit the file date time
-bool MkPath::readFileDateTime(const QFileInfo &source)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"readFileDateTime("+source.absoluteFilePath().toStdString()+")");
- /** Why not do it with Qt? Because it not support setModificationTime(), and get the time with Qt, that's mean use local time where in C is UTC time */
- #ifdef Q_OS_UNIX
- #ifdef Q_OS_LINUX
- struct stat info;
- if(stat(source.absoluteFilePath().toLatin1().data(),&info)!=0)
- return false;
- time_t ctime=info.st_ctim.tv_sec;
- time_t actime=info.st_atim.tv_sec;
- time_t modtime=info.st_mtim.tv_sec;
- //this function avalaible on unix and mingw
- butime.actime=actime;
- butime.modtime=modtime;
- Q_UNUSED(ctime);
- return true;
- #else //mainly for mac
- QFileInfo fileInfo(source);
- time_t ctime=fileInfo.created().toTime_t();
- time_t actime=fileInfo.lastRead().toTime_t();
- time_t modtime=fileInfo.lastModified().toTime_t();
- //this function avalaible on unix and mingw
- utimbuf butime;
- butime.actime=actime;
- butime.modtime=modtime;
- Q_UNUSED(ctime);
- return true;
- #endif
- #else
- #ifdef Q_OS_WIN32
- #ifdef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- struct stat info;
- if(stat(source.toLatin1().data(),&info)!=0)
- return false;
- time_t ctime=info.st_ctim.tv_sec;
- time_t actime=info.st_atim.tv_sec;
- time_t modtime=info.st_mtim.tv_sec;
- //this function avalaible on unix and mingw
- butime.actime=actime;
- butime.modtime=modtime;
- Q_UNUSED(ctime);
- return true;
- #else
- wchar_t filePath[65535];
- if(std::regex_match(source.absoluteFilePath().toStdString(),regRead))
- filePath[QDir::toNativeSeparators(QStringLiteral("\\\\?\\")+source.absoluteFilePath()).toWCharArray(filePath)]=L'\0';
- else
- filePath[QDir::toNativeSeparators(source.absoluteFilePath()).toWCharArray(filePath)]=L'\0';
- HANDLE hFileSouce = CreateFileW(filePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY | FILE_FLAG_BACKUP_SEMANTICS, NULL);
- if(hFileSouce == INVALID_HANDLE_VALUE)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"open failed to read: "+QString::fromWCharArray(filePath).toStdString()+", error: "+std::to_string(GetLastError()));
- return false;
- }
- FILETIME ftCreate, ftAccess, ftWrite;
- if(!GetFileTime(hFileSouce, &ftCreate, &ftAccess, &ftWrite))
- {
- CloseHandle(hFileSouce);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to get the file time");
- return false;
- }
- this->ftCreateL=ftCreate.dwLowDateTime;
- this->ftCreateH=ftCreate.dwHighDateTime;
- this->ftAccessL=ftAccess.dwLowDateTime;
- this->ftAccessH=ftAccess.dwHighDateTime;
- this->ftWriteL=ftWrite.dwLowDateTime;
- this->ftWriteH=ftWrite.dwHighDateTime;
- CloseHandle(hFileSouce);
- return true;
- #endif
- #else
- return false;
- #endif
- #endif
- return false;
-}
-
-bool MkPath::writeFileDateTime(const QFileInfo &destination)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"writeFileDateTime("+destination.absoluteFilePath().toStdString()+")");
- /** Why not do it with Qt? Because it not support setModificationTime(), and get the time with Qt, that's mean use local time where in C is UTC time */
- #ifdef Q_OS_UNIX
- #ifdef Q_OS_LINUX
- return utime(destination.absoluteFilePath().toLatin1().data(),&butime)==0;
- #else //mainly for mac
- return utime(destination.absoluteFilePath().toLatin1().data(),&butime)==0;
- #endif
- #else
- #ifdef Q_OS_WIN32
- #ifdef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- return utime(destination.toLatin1().data(),&butime)==0;
- #else
- wchar_t filePath[65535];
- if(std::regex_match(destination.absoluteFilePath().toStdString(),regRead))
- filePath[QDir::toNativeSeparators(QStringLiteral("\\\\?\\")+destination.absoluteFilePath()).toWCharArray(filePath)]=L'\0';
- else
- filePath[QDir::toNativeSeparators(destination.absoluteFilePath()).toWCharArray(filePath)]=L'\0';
- HANDLE hFileDestination = CreateFileW(filePath, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
- if(hFileDestination == INVALID_HANDLE_VALUE)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"open failed to write: "+QString::fromWCharArray(filePath).toStdString()+", error: "+std::to_string(GetLastError()));
- return false;
- }
- FILETIME ftCreate, ftAccess, ftWrite;
- ftCreate.dwLowDateTime=this->ftCreateL;
- ftCreate.dwHighDateTime=this->ftCreateH;
- ftAccess.dwLowDateTime=this->ftAccessL;
- ftAccess.dwHighDateTime=this->ftAccessH;
- ftWrite.dwLowDateTime=this->ftWriteL;
- ftWrite.dwHighDateTime=this->ftWriteH;
- if(!SetFileTime(hFileDestination, &ftCreate, &ftAccess, &ftWrite))
- {
- CloseHandle(hFileDestination);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"unable to set the file time");
- return false;
- }
- CloseHandle(hFileDestination);
- return true;
- #endif
- #else
- return false;
- #endif
- #endif
- return false;
-}
diff --git a/plugins/CopyEngine/Ultracopier/ScanFileOrFolder.cpp b/plugins/CopyEngine/Ultracopier/ScanFileOrFolder.cpp
deleted file mode 100644
index 9dd48f3..0000000
--- a/plugins/CopyEngine/Ultracopier/ScanFileOrFolder.cpp
+++ /dev/null
@@ -1,680 +0,0 @@
-#include "ScanFileOrFolder.h"
-#include "TransferThread.h"
-#include <QtGlobal>
-#include <QDateTime>
-#include <regex>
-#include "../../../cpp11addition.h"
-
-#ifdef Q_OS_WIN32
- #ifndef NOMINMAX
- #define NOMINMAX
- #endif
- #include <windows.h>
-#endif
-
-std::string ScanFileOrFolder::text_slash="/";
-std::string ScanFileOrFolder::text_antislash="\\";
-std::string ScanFileOrFolder::text_dot=".";
-
-ScanFileOrFolder::ScanFileOrFolder(const Ultracopier::CopyMode &mode)
-{
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- rsync = false;
- #endif
- moveTheWholeFolder = true;
- stopped = true;
- stopIt = false;
- this->mode = mode;
- folder_isolation = std::regex("^(.*/)?([^/]+)/$");
- setObjectName(QStringLiteral("ScanFileOrFolder"));
- #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)).absoluteFilePath().toStdString());
- }
- delete userNameW;
- #endif
-}
-
-ScanFileOrFolder::~ScanFileOrFolder()
-{
- stop();
- quit();
- wait();
-}
-
-bool ScanFileOrFolder::isFinished() const
-{
- return stopped;
-}
-
-void ScanFileOrFolder::addToList(const std::vector<std::string>& sources,const std::string& destination)
-{
- stopIt=false;
- this->sources=parseWildcardSources(sources);
- this->destination=destination;
- QFileInfo destinationInfo(QString::fromStdString(this->destination));
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"check symblink: "+destinationInfo.absoluteFilePath().toStdString());
- while(destinationInfo.isSymLink())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"resolv destination to: "+destinationInfo.symLinkTarget().toStdString());
- if(QFileInfo(destinationInfo.symLinkTarget()).isAbsolute())
- this->destination=destinationInfo.symLinkTarget().toStdString();
- else
- this->destination=destinationInfo.absolutePath().toStdString()+text_slash+destinationInfo.symLinkTarget().toStdString();
- destinationInfo.setFile(QString::fromStdString(this->destination));
- }
- if(sources.size()>1 || QFileInfo(QString::fromStdString(destination)).isDir())
- /* Disabled because the separator transformation product bug
- * if(!destination.endsWith(QDir::separator()))
- this->destination+=QDir::separator();*/
- if(!stringEndsWith(destination,'/') && !stringEndsWith(destination,'\\'))
- this->destination+=text_slash;//put unix separator because it's transformed into that's under windows too
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"addToList("+stringimplode(sources,";")+","+this->destination+")");
-}
-
-
-std::vector<std::string> ScanFileOrFolder::parseWildcardSources(const std::vector<std::string> &sources) const
-{
- std::regex splitFolder("[/\\\\]");
- std::vector<std::string> returnList;
- unsigned int index=0;
- while(index<(unsigned int)sources.size())
- {
- if(sources.at(index).find("*") != std::string::npos)
- {
- std::vector<std::string> toParse=stringregexsplit(sources.at(index),splitFolder);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"before wildcard parse: "+sources.at(index)+", toParse: "+stringimplode(toParse,", "));
- std::vector<std::vector<std::string> > recomposedSource;
- {
- std::vector<std::string> t;
- t.push_back("");
- recomposedSource.push_back(t);
- }
- while(toParse.size()>0)
- {
- if(toParse.front().find("*") != std::string::npos)
- {
- std::string toParseFirst=toParse.front();
- if(toParseFirst.empty())
- toParseFirst=text_slash;
- std::vector<std::vector<std::string> > newRecomposedSource;
- stringreplaceAll(toParseFirst,"*","[^/\\\\]*");
- std::regex toResolv=std::regex(toParseFirst);
- unsigned int index_recomposedSource=0;
- while(index_recomposedSource<recomposedSource.size())//parse each url part
- {
- QFileInfo info(QString::fromStdString(stringimplode(recomposedSource.at(index_recomposedSource),text_slash)));
- if(info.isDir() && !info.isSymLink())
- {
- QDir folder(info.absoluteFilePath());
- QFileInfoList fileFile=folder.entryInfoList(QDir::AllEntries|QDir::NoDotAndDotDot|QDir::Hidden|QDir::System);//QStringList() << toResolv
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"list the folder: "+info.absoluteFilePath().toStdString()+", with the wildcard: "+toParseFirst);
- int index_fileList=0;
- while(index_fileList<fileFile.size())
- {
- const std::string &fileName=fileFile.at(index_fileList).fileName().toStdString();
- if(std::regex_match(fileName,toResolv))
- {
- std::vector<std::string> tempList=recomposedSource.at(index_recomposedSource);
- tempList.push_back(fileName);
- newRecomposedSource.push_back(tempList);
- }
- index_fileList++;
- }
- }
- index_recomposedSource++;
- }
- recomposedSource=newRecomposedSource;
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"add toParse: "+stringimplode(toParse,text_slash));
- unsigned int index_recomposedSource=0;
- while(index_recomposedSource<recomposedSource.size())
- {
- recomposedSource[index_recomposedSource].push_back(toParse.front());
- if(!QFileInfo(QString::fromStdString(stringimplode(recomposedSource.at(index_recomposedSource),text_slash))).exists())
- recomposedSource.erase(recomposedSource.cbegin()+index_recomposedSource);
- else
- index_recomposedSource++;
- }
- }
- toParse.erase(toParse.cbegin());
- }
- unsigned int index_recomposedSource=0;
- while(index_recomposedSource<recomposedSource.size())
- {
- returnList.push_back(stringimplode(recomposedSource.at(index_recomposedSource),text_slash));
- index_recomposedSource++;
- }
- }
- else
- returnList.push_back(sources.at(index));
- index++;
- }
- return returnList;
-}
-
-void ScanFileOrFolder::setFilters(const std::vector<Filters_rules> &include, const std::vector<Filters_rules> &exclude)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
- QMutexLocker lock(&filtersMutex);
- this->include_send=include;
- this->exclude_send=exclude;
- reloadTheNewFilters=true;
- haveFilters=include_send.size()>0 || exclude_send.size()>0;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"haveFilters: "+std::to_string(haveFilters)+", include_send.size(): "+std::to_string(include_send.size())+", exclude_send.size(): "+std::to_string(exclude_send.size()));
-}
-
-//set action if Folder are same or exists
-void ScanFileOrFolder::setFolderExistsAction(const FolderExistsAction &action, const std::string &newName)
-{
- this->newName=newName;
- folderExistsAction=action;
- waitOneAction.release();
-}
-
-//set action if error
-void ScanFileOrFolder::setFolderErrorAction(const FileErrorAction &action)
-{
- fileErrorAction=action;
- waitOneAction.release();
-}
-
-void ScanFileOrFolder::stop()
-{
- stopIt=true;
- waitOneAction.release();
-}
-
-void ScanFileOrFolder::run()
-{
- stopped=false;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start the listing with destination: "+destination+", mode: "+std::to_string(mode));
- destination=resolvDestination(QString::fromStdString(destination)).absoluteFilePath().toStdString();
- if(stopIt)
- {
- stopped=true;
- return;
- }
- if(fileErrorAction==FileError_Skip)
- {
- stopped=true;
- return;
- }
- unsigned int sourceIndex=0;
- while(sourceIndex<sources.size())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"size source to list: "+std::to_string(sourceIndex)+text_slash+std::to_string(sources.size()));
- if(stopIt)
- {
- stopped=true;
- return;
- }
- QFileInfo source=QString::fromStdString(sources.at(sourceIndex));
- if(source.isDir() && !source.isSymLink())
- {
- /* Bad way; when you copy c:\source\folder into d:\destination, you wait it create the folder d:\destination\folder
- //listFolder(source.absoluteFilePath()+QDir::separator(),destination);
- listFolder(source.absoluteFilePath()+text_slash,destination);//put unix separator because it's transformed into that's under windows too
- */
- //put unix separator because it's transformed into that's under windows too
- std::string tempString=QFileInfo(QString::fromStdString(destination)).absoluteFilePath().toStdString();
- if(!stringEndsWith(tempString,text_slash) && !stringEndsWith(tempString,text_antislash))
- tempString+=text_slash;
- tempString+=TransferThread::resolvedName(source);
- if(moveTheWholeFolder && mode==Ultracopier::Move && !QFileInfo(QString::fromStdString(tempString)).exists() &&
- driveManagement.isSameDrive(source.absoluteFilePath().toStdString(),tempString))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"tempString: move and not exists: "+tempString);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"do real move: "+source.absoluteFilePath().toStdString()+" to "+tempString);
- emit addToRealMove(source.absoluteFilePath(),QString::fromStdString(tempString));
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"tempString: "+tempString+" normal listing, blacklist size: "+std::to_string(blackList.size()));
- listFolder(source.absoluteFilePath(),QString::fromStdString(tempString));
- }
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+source.absoluteFilePath().toStdString()+" is file or symblink");
- emit fileTransfer(source,QString::fromStdString(destination+text_slash)+source.fileName(),mode);
- }
- sourceIndex++;
- }
- stopped=true;
- if(stopIt)
- return;
- emit finishedTheListing();
-}
-
-QFileInfo ScanFileOrFolder::resolvDestination(const QFileInfo &destination)
-{
- QFileInfo newDestination=destination;
- while(newDestination.isSymLink())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"resolv destination to: "+newDestination.symLinkTarget().toStdString());
- if(QFileInfo(newDestination.symLinkTarget()).isAbsolute())
- newDestination.setFile(newDestination.symLinkTarget());
- else
- newDestination.setFile(newDestination.absolutePath()+QString::fromStdString(text_slash)+newDestination.symLinkTarget());
- }
- do
- {
- fileErrorAction=FileError_NotSet;
- if(isBlackListed(destination))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"isBlackListed: "+destination.absoluteFilePath().toStdString());
- 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;
-}
-
-bool ScanFileOrFolder::isBlackListed(const QFileInfo &destination)
-{
- int index=0;
- int size=blackList.size();
- while(index<size)
- {
- if(stringStartWith(destination.absoluteFilePath().toStdString(),blackList.at(index)))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,destination.absoluteFilePath().toStdString()+" start with: "+blackList.at(index));
- return true;
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,destination.absoluteFilePath().toStdString()+" not start with: "+blackList.at(index));
- index++;
- }
- return false;
-}
-
-void ScanFileOrFolder::listFolder(QFileInfo source,QFileInfo destination)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+source.absoluteFilePath().toStdString()+
- " ("+std::to_string(source.isSymLink())+"), destination: "+destination.absoluteFilePath().toStdString()+
- " ("+std::to_string(destination.isSymLink())+")");
- if(stopIt)
- return;
- destination=resolvDestination(destination);
- if(stopIt)
- return;
- if(fileErrorAction==FileError_Skip)
- return;
- //if is same
- if(source.absoluteFilePath()==destination.absoluteFilePath())
- {
- emit folderAlreadyExists(source,destination,true);
- waitOneAction.acquire();
- std::string destinationSuffixPath;
- switch(folderExistsAction)
- {
- case FolderExists_Merge:
- break;
- case FolderExists_Skip:
- return;
- break;
- case FolderExists_Rename:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination before rename: "+destination.absoluteFilePath().toStdString());
- if(newName.empty())
- {
- //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"pattern: "+folder_isolation.str());
- //resolv the new name
- destinationSuffixPath=destination.baseName().toStdString();
- int num=1;
- do
- {
- if(num==1)
- {
- if(firstRenamingRule.empty())
- destinationSuffixPath=tr("%1 - copy").arg(destination.baseName()).toStdString();
- else
- destinationSuffixPath=firstRenamingRule;
- }
- else
- {
- if(otherRenamingRule.empty())
- destinationSuffixPath=tr("%1 - copy (%2)").arg(destination.baseName()).arg(num).toStdString();
- else
- {
- destinationSuffixPath=otherRenamingRule;
- stringreplaceAll(destinationSuffixPath,"%number%",std::to_string(num));
- }
- }
- stringreplaceAll(destinationSuffixPath,"%name%",destination.baseName().toStdString());
- num++;
- if(destination.completeSuffix().isEmpty())
- destination.setFile(destination.absolutePath()+QString::fromStdString(text_slash)+QString::fromStdString(destinationSuffixPath));
- else
- destination.setFile(destination.absolutePath()+QString::fromStdString(text_slash)+QString::fromStdString(destinationSuffixPath)+QString::fromStdString(text_dot)+destination.completeSuffix());
- }
- while(destination.exists());
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"use new name: "+newName);
- destinationSuffixPath = newName;
- }
- destination.setFile(destination.absolutePath()+QString::fromStdString(text_slash+destinationSuffixPath));
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination after rename: "+destination.absoluteFilePath().toStdString());
- break;
- default:
- return;
- break;
- }
- }
- //check if destination exists
- if(checkDestinationExists)
- {
- if(destination.exists())
- {
- emit folderAlreadyExists(source,destination,false);
- waitOneAction.acquire();
- std::string destinationSuffixPath;
- switch(folderExistsAction)
- {
- case FolderExists_Merge:
- break;
- case FolderExists_Skip:
- return;
- break;
- case FolderExists_Rename:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination before rename: "+destination.absoluteFilePath().toStdString());
- if(newName.empty())
- {
- //resolv the new name
- QFileInfo destinationInfo;
- int num=1;
- do
- {
- if(num==1)
- {
- if(firstRenamingRule.empty())
- destinationSuffixPath=tr("%name% - copy").toStdString();
- else
- destinationSuffixPath=firstRenamingRule;
- }
- else
- {
- if(otherRenamingRule.empty())
- destinationSuffixPath=tr("%name% - copy (%number%)").toStdString();
- else
- destinationSuffixPath=otherRenamingRule;
- stringreplaceAll(destinationSuffixPath,"%number%",std::to_string(num));
- }
- stringreplaceAll(destinationSuffixPath,"%name%",destination.baseName().toStdString());
- destinationInfo.setFile(destinationInfo.absolutePath()+QString::fromStdString(text_slash)+QString::fromStdString(destinationSuffixPath));
- num++;
- }
- while(destinationInfo.exists());
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"use new name: "+newName);
- destinationSuffixPath = newName;
- }
- if(destination.completeSuffix().isEmpty())
- destination.setFile(destination.absolutePath()+QString::fromStdString(text_slash)+QString::fromStdString(destinationSuffixPath));
- else
- destination.setFile(destination.absolutePath()+QString::fromStdString(text_slash)+QString::fromStdString(destinationSuffixPath)+QStringLiteral(".")+destination.completeSuffix());
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"destination after rename: "+destination.absoluteFilePath().toStdString());
- break;
- default:
- return;
- break;
- }
- }
- }
- //do source check
- //check of source is readable
- do
- {
- fileErrorAction=FileError_NotSet;
- if(!source.isReadable() || !source.isExecutable() || !source.exists() || !source.isDir())
- {
- if(!source.isDir())
- emit errorOnFolder(source,tr("This is not a folder").toStdString());
- else if(!source.exists())
- emit errorOnFolder(source,tr("The folder does exists").toStdString());
- else
- emit errorOnFolder(source,tr("The folder is not readable").toStdString());
- waitOneAction.acquire();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"actionNum: "+std::to_string(fileErrorAction));
- }
- } while(fileErrorAction==FileError_Retry);
- do
- {
- QDir tempDir(source.absoluteFilePath());
- fileErrorAction=FileError_NotSet;
- if(!tempDir.isReadable() || !tempDir.exists())
- {
- emit errorOnFolder(source,tr("Problem with name encoding").toStdString());
- waitOneAction.acquire();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"actionNum: "+std::to_string(fileErrorAction));
- }
- } while(fileErrorAction==FileError_Retry);
- if(stopIt)
- return;
- /// \todo check here if the folder is not readable or not exists
- QFileInfoList entryList;
- if(copyListOrder)
- entryList=QDir(source.absoluteFilePath()).entryInfoList(QDir::AllEntries|QDir::NoDotAndDotDot|QDir::Hidden|QDir::System,QDir::DirsFirst|QDir::Name|QDir::IgnoreCase);//possible wait time here
- else
- entryList=QDir(source.absoluteFilePath()).entryInfoList(QDir::AllEntries|QDir::NoDotAndDotDot|QDir::Hidden|QDir::System);//possible wait time here
- if(stopIt)
- return;
- int sizeEntryList=entryList.size();
- emit newFolderListing(source.absoluteFilePath().toStdString());
- if(mode!=Ultracopier::Move)
- emit addToMkPath(source,destination,sizeEntryList);
- for (int index=0;index<sizeEntryList;++index)
- {
- QFileInfo fileInfo=entryList.at(index);
- if(stopIt)
- return;
- if(haveFilters)
- {
- if(reloadTheNewFilters)
- {
- QMutexLocker lock(&filtersMutex);
- QCoreApplication::processEvents(QEventLoop::AllEvents);
- reloadTheNewFilters=false;
- this->include=this->include_send;
- this->exclude=this->exclude_send;
- }
- std::string fileName=fileInfo.fileName().toStdString();
- if(fileInfo.isDir() && !fileInfo.isSymLink())
- {
- bool excluded=false,included=(include.size()==0);
- unsigned int filters_index=0;
- while(filters_index<exclude.size())
- {
- if(exclude.at(filters_index).apply_on==ApplyOn_folder || exclude.at(filters_index).apply_on==ApplyOn_fileAndFolder)
- {
- if(std::regex_match(fileName,exclude.at(filters_index).regex))
- {
- excluded=true;
- break;
- }
- }
- filters_index++;
- }
- if(excluded)
- {}
- else
- {
- filters_index=0;
- while(filters_index<include.size())
- {
- if(include.at(filters_index).apply_on==ApplyOn_folder || include.at(filters_index).apply_on==ApplyOn_fileAndFolder)
- {
- if(std::regex_match(fileName,include.at(filters_index).regex))
- {
- included=true;
- break;
- }
- }
- filters_index++;
- }
- if(!included)
- {}
- else
- listFolder(fileInfo,destination.absoluteFilePath()+QString::fromStdString(text_slash)+fileInfo.fileName());
- }
- }
- else
- {
- bool excluded=false,included=(include.size()==0);
- unsigned int filters_index=0;
- while(filters_index<exclude.size())
- {
- if(exclude.at(filters_index).apply_on==ApplyOn_file || exclude.at(filters_index).apply_on==ApplyOn_fileAndFolder)
- {
- if(std::regex_match(fileName,exclude.at(filters_index).regex))
- {
- excluded=true;
- break;
- }
- }
- filters_index++;
- }
- if(excluded)
- {}
- else
- {
- filters_index=0;
- while(filters_index<include.size())
- {
- if(include.at(filters_index).apply_on==ApplyOn_file || include.at(filters_index).apply_on==ApplyOn_fileAndFolder)
- {
- if(std::regex_match(fileName,include.at(filters_index).regex))
- {
- included=true;
- break;
- }
- }
- filters_index++;
- }
- if(!included)
- {}
- else
- #ifndef ULTRACOPIER_PLUGIN_RSYNC
- emit fileTransfer(fileInfo,destination.absoluteFilePath()+QString::fromStdString(text_slash)+fileInfo.fileName(),mode);
- #else
- {
- bool sendToTransfer=false;
- if(!rsync)
- sendToTransfer=true;
- else if(!QFile::exists(destination.absoluteFilePath()+"/"+fileInfo.fileName()))
- sendToTransfer=true;
- else if(fileInfo.lastModified()!=QFileInfo(destination.absoluteFilePath()+"/"+fileInfo.fileName()).lastModified())
- sendToTransfer=true;
- if(sendToTransfer)
- emit fileTransfer(fileInfo.absoluteFilePath(),destination.absoluteFilePath()+"/"+fileInfo.fileName(),mode);
- }
- #endif
- }
- }
- }
- else
- {
- if(fileInfo.isDir() && !fileInfo.isSymLink())//possible wait time here
- //listFolder(source,destination,suffixPath+fileInfo.fileName()+QDir::separator());
- listFolder(fileInfo,destination.absoluteFilePath()+QString::fromStdString(text_slash)+fileInfo.fileName());//put unix separator because it's transformed into that's under windows too
- else
- #ifndef ULTRACOPIER_PLUGIN_RSYNC
- emit fileTransfer(fileInfo,destination.absoluteFilePath()+QString::fromStdString(text_slash)+fileInfo.fileName(),mode);
- #else
- {
- bool sendToTransfer=false;
- if(!rsync)
- sendToTransfer=true;
- else if(!QFile::exists(destination.absoluteFilePath()+"/"+fileInfo.fileName()))
- sendToTransfer=true;
- else if(fileInfo.lastModified()!=QFileInfo(destination.absoluteFilePath()+"/"+fileInfo.fileName()).lastModified())
- sendToTransfer=true;
- if(sendToTransfer)
- emit fileTransfer(fileInfo.absoluteFilePath(),destination.absoluteFilePath()+"/"+fileInfo.fileName(),mode);
- }
- #endif
- }
- }
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- if(rsync)
- {
- //check the reverse path here
- QFileInfoList entryListDestination;
- if(copyListOrder)
- entryListDestination=QDir(destination.absoluteFilePath()).entryInfoList(QDir::AllEntries|QDir::NoDotAndDotDot|QDir::Hidden|QDir::System,QDir::DirsFirst|QDir::Name|QDir::IgnoreCase);//possible wait time here
- else
- entryListDestination=QDir(destination.absoluteFilePath()).entryInfoList(QDir::AllEntries|QDir::NoDotAndDotDot|QDir::Hidden|QDir::System);//possible wait time here
- int sizeEntryListDestination=entryListDestination.size();
- int index=0;
- for (int indexDestination=0;indexDestination<sizeEntryListDestination;++indexDestination)
- {
- index=0;
- while(index<sizeEntryList)
- {
- if(entryListDestination.at(indexDestination).fileName()==entryList.at(index).fileName())
- break;
- index++;
- }
- if(index==sizeEntryList)
- {
- //then not found, need be remove
- emit addToRmForRsync(entryListDestination.at(indexDestination));
- }
- }
- return;
- }
- #endif
- if(mode==Ultracopier::Move)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"source: "+source.absoluteFilePath().toStdString()+", sizeEntryList: "+std::to_string(sizeEntryList));
- emit addToMovePath(source,destination,sizeEntryList);
- }
-}
-
-//set if need check if the destination exists
-void ScanFileOrFolder::setCheckDestinationFolderExists(const bool checkDestinationFolderExists)
-{
- this->checkDestinationExists=checkDestinationFolderExists;
-}
-
-void ScanFileOrFolder::setRenamingRules(const std::string &firstRenamingRule, const std::string &otherRenamingRule)
-{
- this->firstRenamingRule=firstRenamingRule;
- this->otherRenamingRule=otherRenamingRule;
-}
-
-void ScanFileOrFolder::setMoveTheWholeFolder(const bool &moveTheWholeFolder)
-{
- this->moveTheWholeFolder=moveTheWholeFolder;
-}
-
-void ScanFileOrFolder::setCopyListOrder(const bool &order)
-{
- this->copyListOrder=order;
-}
-
-#ifdef ULTRACOPIER_PLUGIN_RSYNC
-/// \brief set rsync
-void ScanFileOrFolder::setRsync(const bool rsync)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"set rsync: "+std::to_string(rsync));
- this->rsync=rsync;
-}
-#endif
-
-void ScanFileOrFolder::set_updateMount()
-{
- driveManagement.tryUpdate();
-}
diff --git a/plugins/CopyEngine/Ultracopier/TransferThread.cpp b/plugins/CopyEngine/Ultracopier/TransferThread.cpp
deleted file mode 100644
index 210c221..0000000
--- a/plugins/CopyEngine/Ultracopier/TransferThread.cpp
+++ /dev/null
@@ -1,2101 +0,0 @@
-//presume bug linked as multple paralelle inode to resume after "overwrite"
-//then do overwrite node function to not re-set the file name
-
-#include "TransferThread.h"
-#ifdef Q_OS_WIN32
-#include <windows.h>
-#endif
-
-#ifdef Q_OS_WIN32
- #ifndef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- #ifndef NOMINMAX
- #define NOMINMAX
- #endif
- #include <windows.h>
- #endif
-#endif
-
-#ifdef Q_OS_WIN32
-#define CURRENTSEPARATOR "\\"
-#else
-#define CURRENTSEPARATOR "/"
-#endif
-
-#include "../../../cpp11addition.h"
-
-TransferThread::TransferThread() :
- haveStartTime (false),
- transfer_stat (TransferStat_Idle),
- doRightTransfer (false),
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- rsync (false),
- #endif
- stopIt (false),
- fileExistsAction (FileExists_NotSet),
- alwaysDoFileExistsAction (FileExists_NotSet),
- needSkip (false),
- needRemove (false),
- deletePartiallyTransferredFiles (true),
- writeError (false),
- readError (false),
- renameTheOriginalDestination (false),
- havePermission (false)
-{
- start();
- moveToThread(this);
- readThread.setWriteThread(&writeThread);
- source.setCaching(false);
- destination.setCaching(false);
- renameRegex=std::regex("^(.*)(\\.[a-zA-Z0-9]+)$");
- #ifdef Q_OS_WIN32
- #ifndef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- regRead=std::regex("^[a-zA-Z]:");
- #endif
- #endif
-
- minTime=QDateTime(QDate(ULTRACOPIER_PLUGIN_MINIMALYEAR,1,1));
-}
-
-TransferThread::~TransferThread()
-{
- stopIt=true;
- readThread.exit();
- readThread.wait();
- writeThread.exit();
- writeThread.wait();
- exit();
- //else cash without this disconnect
- //disconnect(&readThread);
- //disconnect(&writeThread);
- wait();
-}
-
-void TransferThread::run()
-{
- //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+QStringLiteral("] start: ")+QString::number((qint64)QThread::currentThreadId())));
- transfer_stat = TransferStat_Idle;
- stopIt = false;
- fileExistsAction = FileExists_NotSet;
- alwaysDoFileExistsAction= FileExists_NotSet;
- //the error push
- connect(&readThread,&ReadThread::error, this, &TransferThread::getReadError, Qt::QueuedConnection);
- connect(&writeThread,&WriteThread::error, this, &TransferThread::getWriteError, Qt::QueuedConnection);
- //the thread change operation
- connect(this,&TransferThread::internalStartPreOperation, this, &TransferThread::preOperation, Qt::QueuedConnection);
- connect(this,&TransferThread::internalStartPostOperation, this, &TransferThread::postOperation, Qt::QueuedConnection);
- //the state change operation
- connect(&readThread,&ReadThread::opened, this, &TransferThread::readIsReady, Qt::QueuedConnection);
- connect(&writeThread,&WriteThread::opened, this, &TransferThread::writeIsReady, Qt::QueuedConnection);
- connect(&readThread,&ReadThread::readIsStopped, this, &TransferThread::readIsStopped, Qt::QueuedConnection);
- connect(&writeThread,&WriteThread::writeIsStopped, this, &TransferThread::writeIsStopped, Qt::QueuedConnection);
- connect(&readThread,&ReadThread::readIsStopped, &writeThread, &WriteThread::endIsDetected, Qt::QueuedConnection);
- connect(&readThread,&ReadThread::closed, this, &TransferThread::readIsClosed, Qt::QueuedConnection);
- connect(&writeThread,&WriteThread::closed, this, &TransferThread::writeIsClosed, Qt::QueuedConnection);
- connect(&writeThread,&WriteThread::reopened, this, &TransferThread::writeThreadIsReopened, Qt::QueuedConnection);
- connect(&readThread,&ReadThread::checksumFinish, this, &TransferThread::readChecksumFinish, Qt::QueuedConnection);
- connect(&writeThread,&WriteThread::checksumFinish, this, &TransferThread::writeChecksumFinish, Qt::QueuedConnection);
- //error management
- connect(&readThread,&ReadThread::isSeekToZeroAndWait, this, &TransferThread::readThreadIsSeekToZeroAndWait, Qt::QueuedConnection);
- connect(&readThread,&ReadThread::resumeAfterErrorByRestartAtTheLastPosition,this, &TransferThread::readThreadResumeAfterError, Qt::QueuedConnection);
- connect(&readThread,&ReadThread::resumeAfterErrorByRestartAll,&writeThread, &WriteThread::flushAndSeekToZero, Qt::QueuedConnection);
- connect(&writeThread,&WriteThread::flushedAndSeekedToZero, this, &TransferThread::readThreadResumeAfterError, Qt::QueuedConnection);
- connect(this,&TransferThread::internalTryStartTheTransfer, this, &TransferThread::internalStartTheTransfer, Qt::QueuedConnection);
-
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- connect(&readThread,&ReadThread::debugInformation, this, &TransferThread::debugInformation, Qt::QueuedConnection);
- connect(&writeThread,&WriteThread::debugInformation, this, &TransferThread::debugInformation, Qt::QueuedConnection);
- connect(&driveManagement,&DriveManagement::debugInformation,this, &TransferThread::debugInformation, Qt::QueuedConnection);
- #endif
-
- exec();
-}
-
-TransferStat TransferThread::getStat() const
-{
- return transfer_stat;
-}
-
-void TransferThread::startTheTransfer()
-{
- emit internalTryStartTheTransfer();
-}
-
-void TransferThread::internalStartTheTransfer()
-{
- if(transfer_stat==TransferStat_Idle)
- {
- if(mode!=Ultracopier::Move)
- {
- /// \bug can pass here because in case of direct move on same media, it return to idle stat directly
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't start transfert at idle"));
- }
- return;
- }
- if(transfer_stat==TransferStat_PostOperation)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't start transfert at PostOperation"));
- return;
- }
- if(transfer_stat==TransferStat_Transfer)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't start transfert at Transfer"));
- return;
- }
- if(canStartTransfer)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] canStartTransfer is already set to true"));
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] check how start the transfer"));
- canStartTransfer=true;
- if(readIsReadyVariable && writeIsReadyVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start directly the transfer"));
- ifCanStartTransfer();
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] start the transfer as delayed"));
-}
-
-bool TransferThread::setFiles(const QFileInfo& source, const int64_t &size, const QFileInfo& destination, const Ultracopier::CopyMode &mode)
-{
- if(transfer_stat!=TransferStat_Idle)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString());
- return false;
- }
- //to prevent multiple file alocation into ListThread::doNewActions_inode_manipulation()
- transfer_stat = TransferStat_PreOperation;
- //emit pushStat(stat,transferId);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start, source: "+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString());
- this->source = source;
- this->destination = destination;
- this->mode = mode;
- this->size = size;
- stopIt = false;
- fileExistsAction = FileExists_NotSet;
- canStartTransfer = false;
- sended_state_preOperationStopped= false;
- canBeMovedDirectlyVariable = false;
- canBeCopiedDirectlyVariable = false;
- fileContentError = false;
- real_doChecksum = false;
- writeError = false;
- writeError_source_seeked = false;
- writeError_destination_reopened = false;
- readError = false;
- fileContentError = false;
- resetExtraVariable();
- emit internalStartPreOperation();
- return true;
-}
-
-void TransferThread::setFileExistsAction(const FileExistsAction &action)
-{
- if(transfer_stat!=TransferStat_PreOperation)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+source.absoluteFilePath().toStdString()+(", destination: ")+destination.absoluteFilePath().toStdString());
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+("] action: ")+std::to_string(action));
- if(action!=FileExists_Rename)
- fileExistsAction = action;
- else
- {
- //always rename pass here
- fileExistsAction = action;
- alwaysDoFileExistsAction=action;
- }
- if(action==FileExists_Skip)
- {
- skip();
- return;
- }
- resetExtraVariable();
- emit internalStartPreOperation();
-}
-
-void TransferThread::setFileRename(const std::string &nameForRename)
-{
- if(transfer_stat!=TransferStat_PreOperation)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+source.absoluteFilePath().toStdString()+(", destination: ")+destination.absoluteFilePath().toStdString());
- return;
- }
- if(QString::fromStdString(nameForRename).contains(QRegularExpression(QStringLiteral("[/\\\\\\*]"))))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't use this kind of name, internal error"));
- emit errorOnFile(destination,tr("Try rename with using special characters").toStdString());
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] nameForRename: "+nameForRename);
- if(!renameTheOriginalDestination)
- destination.setFile(destination.absolutePath()+CURRENTSEPARATOR+QString::fromStdString(nameForRename));
- else
- {
- QString tempDestination=destination.absoluteFilePath();
- QFile destinationFile(tempDestination);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"["+std::to_string(id)+"] "+QStringLiteral("rename %1: to: %2").arg(destination.absoluteFilePath()).arg(destination.absolutePath()+CURRENTSEPARATOR+QString::fromStdString(nameForRename)).toStdString());
- if(!destinationFile.rename(destination.absolutePath()+CURRENTSEPARATOR+QString::fromStdString(nameForRename)))
- {
- if(!destinationFile.exists())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("source not exists %1: destination: %2, error: %3").arg(destinationFile.fileName()).arg(destinationFile.fileName()).arg(destinationFile.errorString()).toStdString());
- emit errorOnFile(destinationFile,tr("File not found").toStdString());
- return;
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("unable to do real move %1: %2, error: %3").arg(destinationFile.fileName()).arg(destinationFile.fileName()).arg(destinationFile.errorString()).toStdString());
- emit errorOnFile(destinationFile,destinationFile.errorString().toStdString());
- return;
- }
- if(source.absoluteFilePath()==destination.absoluteFilePath())
- source.setFile(destination.absolutePath()+CURRENTSEPARATOR+QString::fromStdString(nameForRename));
- destination.setFile(tempDestination);
- destination.refresh();
- }
- fileExistsAction = FileExists_NotSet;
- resetExtraVariable();
- emit internalStartPreOperation();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] destination is: "+destination.absoluteFilePath().toStdString());
-}
-
-void TransferThread::setAlwaysFileExistsAction(const FileExistsAction &action)
-{
- //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+QStringLiteral("] action to do always: ")+QString::number(action)));
- alwaysDoFileExistsAction=action;
-}
-
-void TransferThread::resetExtraVariable()
-{
- sended_state_preOperationStopped=false;
- sended_state_readStopped = false;
- sended_state_writeStopped = false;
- writeError = false;
- readError = false;
- readIsReadyVariable = false;
- writeIsReadyVariable = false;
- readIsFinishVariable = false;
- writeIsFinishVariable = false;
- readIsClosedVariable = false;
- writeIsClosedVariable = false;
- needRemove = false;
- needSkip = false;
- retry = false;
- readIsOpenVariable = false;
- writeIsOpenVariable = false;
- readIsOpeningVariable = false;
- writeIsOpeningVariable = false;
- havePermission = false;
-}
-
-void TransferThread::preOperation()
-{
- if(transfer_stat!=TransferStat_PreOperation)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] already used, source: ")+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString());
- return;
- }
- haveStartTime=true;
- startTransferTime.restart();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start: source: "+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString());
- needRemove=false;
- if(isSame())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] is same "+source.absoluteFilePath().toStdString()+" than "+destination.absoluteFilePath().toStdString());
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after is same");
- /*Why this code?
- if(readError)
- {
- readError=false;
- return;
- }*/
- 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: "+destination.absoluteFilePath().toStdString());
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after destination exists");
- /*Why this code?
- if(readError)
- {
- readError=false;
- return;
- }*/
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] before keep date");
- #ifdef Q_OS_WIN32
- doTheDateTransfer=!source.isSymLink();
- #else
- doTheDateTransfer=true;
- #endif
- if(doTheDateTransfer)
- {
- if(source.lastModified()<minTime)
- {
- if(/*true when the destination have been remove but not the symlink:*/source.isSymLink())
- doTheDateTransfer=false;
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"the sources is older to copy the time: "+source.absoluteFilePath().toStdString()+": "+minTime.toString(QStringLiteral("dd.MM.yyyy hh:mm:ss.zzz")).toStdString()+">="+source.lastModified().toString(QStringLiteral("dd.MM.yyyy hh:mm:ss.zzz")).toStdString());
- doTheDateTransfer=false;
- if(keepDate)
- {
- emit errorOnFile(source,tr("Wrong modification date or unable to get it, you can disable time transfer to do it").toStdString());
- return;
- }
- }
- }
- else
- {
- doTheDateTransfer=readFileDateTime(source);
- #ifdef Q_OS_MAC
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] read the source time: "+std::to_string(butime.modtime));
- #endif
- if(!doTheDateTransfer)
- {
- //will have the real error at source open
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] unable to read the source time: "+source.absoluteFilePath().toStdString());
- if(keepDate)
- {
- emit errorOnFile(source,tr("Wrong modification date or unable to get it, you can disable time transfer to do it").toStdString());
- return;
- }
- }
- }
- }
- if(canBeMovedDirectly())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] "+QStringLiteral("need moved directly: %1 to %2").arg(source.absoluteFilePath()).arg(destination.absoluteFilePath()).toStdString());
- canBeMovedDirectlyVariable=true;
- readThread.fakeOpen();
- writeThread.fakeOpen();
- return;
- }
- if(canBeCopiedDirectly())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] "+QStringLiteral("need copied directly: %1 to %2").arg(source.absoluteFilePath()).arg(destination.absoluteFilePath()).toStdString());
- canBeCopiedDirectlyVariable=true;
- readThread.fakeOpen();
- writeThread.fakeOpen();
- return;
- }
- tryOpen();
-}
-
-void TransferThread::tryOpen()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start source and destination: "+source.absoluteFilePath().toStdString()+" and "+destination.absoluteFilePath().toStdString());
- TransferAlgorithm transferAlgorithm=this->transferAlgorithm;
- if(transferAlgorithm==TransferAlgorithm_Automatic)
- {
- #ifdef Q_OS_LINUX
- if(driveManagement.isSameDrive(destination.absoluteFilePath().toStdString(),source.absoluteFilePath().toStdString()))
- {
- const QByteArray &type=driveManagement.getDriveType(driveManagement.getDrive(source.absoluteFilePath().toStdString()));
- if(type=="nfs" || type=="smb")
- transferAlgorithm=TransferAlgorithm_Parallel;
- else
- transferAlgorithm=TransferAlgorithm_Sequential;
- }
- else
- #endif
- transferAlgorithm=TransferAlgorithm_Parallel;
- }
- if(!readIsOpenVariable)
- {
- if(!readIsOpeningVariable)
- {
- readError=false;
- readThread.open(source.absoluteFilePath(),mode);
- readIsOpeningVariable=true;
-
- if(doRightTransfer)
- havePermission=readFilePermissions(QFile(source.absoluteFilePath()));
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] readIsOpeningVariable is true when try open");
- emit errorOnFile(source,tr("Internal error: Already opening").toStdString());
- readError=true;
- return;
- }
- }
- if(!writeIsOpenVariable)
- {
- if(!writeIsOpeningVariable)
- {
- if(transferAlgorithm==TransferAlgorithm_Sequential)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transferAlgorithm==TransferAlgorithm_Sequential");
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transferAlgorithm==TransferAlgorithm_Parallel");
- writeError=false;
- if(transferAlgorithm==TransferAlgorithm_Sequential)
- writeThread.open(destination.absoluteFilePath(),size,osBuffer && (!osBufferLimited || (osBufferLimited && size<osBufferLimit)),sequentialBuffer,true);
- else
- writeThread.open(destination.absoluteFilePath(),size,osBuffer && (!osBufferLimited || (osBufferLimited && size<osBufferLimit)),parallelBuffer,false);
- writeIsOpeningVariable=true;
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+"writeIsOpeningVariable is true when try open");
- emit errorOnFile(destination,tr("Internal error: Already opening").toStdString());
- writeError=true;
- return;
- }
- }
-}
-
-bool TransferThread::isSame()
-{
- //check if source and destination is not the same
- //source.absoluteFilePath()==destination.absoluteFilePath() not work is source don't exists
- if(source.absoluteFilePath()==destination.absoluteFilePath())
- {
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- if(!source.exists())
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start source: "+source.absoluteFilePath().toStdString()+" not exists");
- if(!source.isSymLink())
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start source: "+source.absoluteFilePath().toStdString()+" isSymLink");
- if(!destination.isSymLink())
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start source: "+destination.absoluteFilePath().toStdString()+" isSymLink");
- #endif
- if(fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_Skip)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] is same but skip");
- transfer_stat=TransferStat_Idle;
- emit postOperationStopped();
- //quit
- return true;
- }
- if(checkAlwaysRename())
- return false;
- emit fileAlreadyExists(source,destination,true);
- return true;
- }
- return false;
-}
-
-bool TransferThread::destinationExists()
-{
- //check if destination exists
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] "+QStringLiteral("overwrite: %1, alwaysDoFileExistsAction: %2, readError: %3, writeError: %4")
- .arg(fileExistsAction)
- .arg(alwaysDoFileExistsAction)
- .arg(readError)
- .arg(writeError)
- .toStdString()
- );
- if(alwaysDoFileExistsAction==FileExists_Overwrite || readError || writeError
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- || rsync
- #endif
- )
- return false;
- bool destinationExists;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] time to first FS access");
- destination.refresh();
- destinationExists=destination.exists();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] finish first FS access");
- if(destinationExists)
- {
- if(fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_Skip)
- {
- transfer_stat=TransferStat_Idle;
- emit postOperationStopped();
- //quit
- return true;
- }
- if(checkAlwaysRename())
- return false;
- if(source.exists())
- {
- if(fileExistsAction==FileExists_OverwriteIfNewer || (fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_OverwriteIfNewer))
- {
- if(destination.lastModified()<source.lastModified())
- return false;
- else
- {
- transfer_stat=TransferStat_Idle;
- emit postOperationStopped();
- return true;
- }
- }
- if(fileExistsAction==FileExists_OverwriteIfOlder || (fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_OverwriteIfOlder))
- {
- if(destination.lastModified()>source.lastModified())
- return false;
- else
- {
- transfer_stat=TransferStat_Idle;
- emit postOperationStopped();
- return true;
- }
- }
- if(fileExistsAction==FileExists_OverwriteIfNotSame || (fileExistsAction==FileExists_NotSet && alwaysDoFileExistsAction==FileExists_OverwriteIfNotSame))
- {
- if(destination.lastModified()!=source.lastModified() || destination.size()!=source.size())
- return false;
- else
- {
- transfer_stat=TransferStat_Idle;
- emit postOperationStopped();
- return true;
- }
- }
- }
- else
- {
- if(fileExistsAction!=FileExists_NotSet)
- {
- transfer_stat=TransferStat_Idle;
- emit postOperationStopped();
- return true;
- }
- }
- if(fileExistsAction==FileExists_NotSet)
- {
- emit fileAlreadyExists(source,destination,false);
- return true;
- }
- }
- return false;
-}
-
-std::string TransferThread::resolvedName(const QFileInfo &inode)
-{
- QString fileName=inode.fileName();
- if(fileName.isEmpty())
- {
- QDir absoluteDir=inode.absoluteDir();
- fileName=absoluteDir.dirName();
- if(fileName.isEmpty())
- {
- fileName=absoluteDir.cdUp();
- fileName=absoluteDir.dirName();
- }
- }
- #ifdef Q_OS_WIN32
- if(fileName.isEmpty())
- {
- fileName=inode.absolutePath();
- fileName.replace(QRegularExpression(QStringLiteral("^([a-zA-Z]+):.*$")),QStringLiteral("\\1"));
- if(inode.absolutePath().contains(QRegularExpression(QStringLiteral("^[a-zA-Z]+:[/\\\\]?$"))))
- fileName=tr("Drive %1").arg(fileName);
- else
- fileName=tr("Unknown folder");
- }
- #else
- if(fileName.isEmpty())
- fileName=tr("root");
- #endif
- return fileName.toStdString();
-}
-
-std::string TransferThread::getSourcePath() const
-{
- return source.absoluteFilePath().toStdString();
-}
-
-std::string TransferThread::getDestinationPath() const
-{
- return destination.absoluteFilePath().toStdString();
-}
-
-QFileInfo TransferThread::getSourceInode() const
-{
- return source;
-}
-
-QFileInfo TransferThread::getDestinationInode() const
-{
- return destination;
-}
-
-Ultracopier::CopyMode TransferThread::getMode() const
-{
- return mode;
-}
-
-//return true if has been renamed
-bool TransferThread::checkAlwaysRename()
-{
- if(alwaysDoFileExistsAction==FileExists_Rename)
- {
- QFileInfo newDestination=destination;
- std::string fileName=resolvedName(newDestination);
- std::string suffix;
- std::string newFileName;
- //resolv the suffix
- if(std::regex_match(fileName,renameRegex))
- {
- suffix=fileName;
- suffix=std::regex_replace(suffix,renameRegex,"$2");
- fileName=std::regex_replace(fileName,renameRegex,"$1");
- }
- //resolv the new name
- int num=1;
- do
- {
- if(num==1)
- {
- if(firstRenamingRule.empty())
- newFileName=tr("%name% - copy").toStdString();
- else
- newFileName=firstRenamingRule;
- }
- else
- {
- if(otherRenamingRule.empty())
- newFileName=tr("%name% - copy (%number%)").toStdString();
- else
- newFileName=otherRenamingRule;
- stringreplaceAll(newFileName,"%number%",std::to_string(num));
- }
- stringreplaceAll(newFileName,"%name%",fileName);
- stringreplaceAll(newFileName,"%suffix%",suffix);
- newDestination.setFile(newDestination.absolutePath()+CURRENTSEPARATOR+QString::fromStdString(newFileName));
- num++;
- }
- while(newDestination.exists());
- if(!renameTheOriginalDestination)
- destination=newDestination;
- else
- {
- QFile destinationFile(destination.absoluteFilePath());
- if(!destinationFile.rename(newDestination.absoluteFilePath()))
- {
- if(!destinationFile.exists())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("source not exists %1: destination: %2, error: %3").arg(destinationFile.fileName()).arg(destinationFile.fileName()).arg(destinationFile.errorString()).toStdString());
- emit errorOnFile(destinationFile,tr("File not found").toStdString());
- readError=true;
- return true;
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("unable to do real move %1: %2, error: %3").arg(destinationFile.fileName()).arg(destinationFile.fileName()).arg(destinationFile.errorString()).toStdString());
- readError=true;
- emit errorOnFile(destinationFile,destinationFile.errorString().toStdString());
- return true;
- }
- }
- return true;
- }
- return false;
-}
-
-void TransferThread::tryMoveDirectly()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] "+QStringLiteral("need moved directly: %1 to %2").arg(source.absoluteFilePath()).arg(destination.absoluteFilePath()).toStdString());
-
- sended_state_readStopped = false;
- sended_state_writeStopped = false;
- writeError = false;
- readError = false;
- readIsFinishVariable = false;
- writeIsFinishVariable = false;
- readIsClosedVariable = false;
- writeIsClosedVariable = false;
- //move if on same mount point
- QFile sourceFile(source.absoluteFilePath());
- QFile destinationFile(destination.absoluteFilePath());
- #ifndef Q_OS_WIN32
- if(destinationFile.exists() || destination.isSymLink())
- {
- if(!sourceFile.exists() && !source.isSymLink())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+destinationFile.fileName().toStdString()+", source not exists");
- readError=true;
- emit errorOnFile(destination,tr("The source file doesn't exist").toStdString());
- return;
- }
- else if(!destinationFile.remove())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+destinationFile.fileName().toStdString()+", error: "+destinationFile.errorString().toStdString());
- readError=true;
- emit errorOnFile(destination,destinationFile.errorString().toStdString());
- return;
- }
- }
- #endif
- QDir dir(destination.absolutePath());
- {
- mkpathTransfer->acquire();
- if(!dir.exists())
- dir.mkpath(destination.absolutePath());
- mkpathTransfer->release();
- }
- #ifdef Q_OS_WIN32
- //if(!sourceFile.copy(destinationFile.fileName()))
- if(MoveFileEx(
- reinterpret_cast<const wchar_t*>(sourceFile.fileName().utf16()),
- reinterpret_cast<const wchar_t*>(destinationFile.fileName().utf16()),
- MOVEFILE_COPY_ALLOWED|MOVEFILE_REPLACE_EXISTING
- )==0)
- #else
- if(!sourceFile.rename(destinationFile.fileName()))
- #endif
- {
- readError=true;
- if(!sourceFile.exists() && !source.isSymLink())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("source not exists %1: destination: %2, error: %3").arg(sourceFile.fileName()).arg(destinationFile.fileName()).arg(sourceFile.errorString()).toStdString());
- emit errorOnFile(sourceFile,tr("File not found").toStdString());
- return;
- }
- else if(!dir.exists())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("destination folder not exists %1: %2, error: %3").arg(sourceFile.fileName()).arg(destinationFile.fileName()).arg(sourceFile.errorString()).toStdString());
- emit errorOnFile(destination.absolutePath(),tr("Unable to do the folder").toStdString());
- return;
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("unable to do real move %1: %2, error: %3").arg(sourceFile.fileName()).arg(destinationFile.fileName()).arg(sourceFile.errorString()).toStdString());
- emit errorOnFile(sourceFile,sourceFile.errorString().toStdString());
- return;
- }
- readThread.fakeReadIsStarted();
- writeThread.fakeWriteIsStarted();
- readThread.fakeReadIsStopped();
- writeThread.fakeWriteIsStopped();
-}
-
-void TransferThread::tryCopyDirectly()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] "+QStringLiteral("need copied directly: %1 to %2").arg(source.absoluteFilePath()).arg(destination.absoluteFilePath()).toStdString());
-
- sended_state_readStopped = false;
- sended_state_writeStopped = false;
- writeError = false;
- readError = false;
- readIsFinishVariable = false;
- writeIsFinishVariable = false;
- readIsClosedVariable = false;
- writeIsClosedVariable = false;
- //move if on same mount point
- QFile sourceFile(source.absoluteFilePath());
- QFile destinationFile(destination.absoluteFilePath());
- #ifndef Q_OS_WIN32
- if(destinationFile.exists() || destination.isSymLink())
- {
- if(!sourceFile.exists() && !source.isSymLink())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+destinationFile.fileName().toStdString()+", source not exists");
- readError=true;
- emit errorOnFile(destination,tr("The source doesn't exist").toStdString());
- return;
- }
- else if(!destinationFile.remove())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+destinationFile.fileName().toStdString()+", error: "+destinationFile.errorString().toStdString());
- readError=true;
- emit errorOnFile(destination,destinationFile.errorString().toStdString());
- return;
- }
- }
- #endif
- QDir dir(destination.absolutePath());
- {
- mkpathTransfer->acquire();
- if(!dir.exists())
- dir.mkpath(destination.absolutePath());
- mkpathTransfer->release();
- }
- /** on windows, symLink is normal file, can be copied
- * on unix not, should be created **/
- #ifdef Q_OS_WIN32
- //if(!sourceFile.copy(destinationFile.fileName()))
- if(CopyFileEx(
- reinterpret_cast<const wchar_t*>(sourceFile.fileName().utf16()),
- reinterpret_cast<const wchar_t*>(destinationFile.fileName().utf16()),
- NULL,
- NULL,
- FALSE,
- 0
- )==0)
- #else
- if(!QFile::link(sourceFile.symLinkTarget(),destinationFile.fileName()))
- #endif
- {
- readError=true;
- if(!sourceFile.exists() && !source.isSymLink())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("source not exists %1 -> %4: %2, error: %3").arg(sourceFile.fileName()).arg(destinationFile.fileName()).arg(sourceFile.errorString()).arg(sourceFile.symLinkTarget()).toStdString());
- emit errorOnFile(sourceFile,tr("The source file doesn't exist").toStdString());
- return;
- }
- else if(destinationFile.exists() || destination.isSymLink())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("destination already exists %1 -> %4: %2, error: %3").arg(sourceFile.fileName()).arg(destinationFile.fileName()).arg(sourceFile.errorString()).arg(sourceFile.symLinkTarget()).toStdString());
- emit errorOnFile(sourceFile,tr("Another file exists at same place").toStdString());
- return;
- }
- else if(!dir.exists())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("destination folder not exists %1 -> %4: %2, error: %3").arg(sourceFile.fileName()).arg(destinationFile.fileName()).arg(sourceFile.errorString()).arg(sourceFile.symLinkTarget()).toStdString());
- emit errorOnFile(sourceFile,tr("Unable to do the folder").toStdString());
- return;
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("unable to do sym link copy %1 -> %4: %2, error: %3").arg(sourceFile.fileName()).arg(destinationFile.fileName()).arg(sourceFile.errorString()).arg(sourceFile.symLinkTarget()).toStdString());
- emit errorOnFile(sourceFile,sourceFile.errorString().toStdString());
- return;
- }
- readThread.fakeReadIsStarted();
- writeThread.fakeWriteIsStarted();
- readThread.fakeReadIsStopped();
- writeThread.fakeWriteIsStopped();
-}
-
-bool TransferThread::canBeMovedDirectly() const
-{
- if(mode!=Ultracopier::Move)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] mode!=Ultracopier::Move");
- return false;
- }
- return source.isSymLink() || driveManagement.isSameDrive(destination.absoluteFilePath().toStdString(),source.absoluteFilePath().toStdString());
-}
-
-bool TransferThread::canBeCopiedDirectly() const
-{
- return source.isSymLink();
-}
-
-void TransferThread::readIsReady()
-{
- if(readIsReadyVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] double event dropped");
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- readIsReadyVariable=true;
- readIsOpenVariable=true;
- readIsClosedVariable=false;
- readIsOpeningVariable=false;
- ifCanStartTransfer();
-}
-
-void TransferThread::ifCanStartTransfer()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] readIsReadyVariable: "+std::to_string(readIsReadyVariable)+", writeIsReadyVariable: "+std::to_string(writeIsReadyVariable));
- if(readIsReadyVariable && writeIsReadyVariable)
- {
- transfer_stat=TransferStat_WaitForTheTransfer;
- sended_state_readStopped = false;
- sended_state_writeStopped = false;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stat=WaitForTheTransfer");
- if(!sended_state_preOperationStopped)
- {
- sended_state_preOperationStopped=true;
- emit preOperationStopped();
- }
- if(canStartTransfer)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stat=Transfer, "+QStringLiteral("canBeMovedDirectlyVariable: %1, canBeCopiedDirectlyVariable: %2").arg(canBeMovedDirectlyVariable).arg(canBeCopiedDirectlyVariable).toStdString());
- transfer_stat=TransferStat_Transfer;
- if(canBeMovedDirectlyVariable)
- tryMoveDirectly();
- else if(canBeCopiedDirectlyVariable)
- tryCopyDirectly();
- else
- {
- needRemove=deletePartiallyTransferredFiles;
- readThread.startRead();
- }
- emit pushStat(transfer_stat,transferId);
- }
- //else
- //emit pushStat(stat,transferId);
- }
-}
-
-void TransferThread::writeIsReady()
-{
- if(writeIsReadyVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] double event dropped");
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- writeIsReadyVariable=true;
- writeIsOpenVariable=true;
- writeIsClosedVariable=false;
- writeIsOpeningVariable=false;
- ifCanStartTransfer();
-}
-
-
-//set the copy info and options before runing
-void TransferThread::setRightTransfer(const bool doRightTransfer)
-{
- this->doRightTransfer=doRightTransfer;
-}
-
-//set keep date
-void TransferThread::setKeepDate(const bool keepDate)
-{
- this->keepDate=keepDate;
-}
-
-#ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
-//set the current max speed in KB/s
-void TransferThread::setMultiForBigSpeed(const int &multiForBigSpeed)
-{
- readThread.setMultiForBigSpeed(multiForBigSpeed);
- writeThread.setMultiForBigSpeed(multiForBigSpeed);
-}
-#endif
-
-//set block size in Bytes
-bool TransferThread::setBlockSize(const unsigned int blockSize)
-{
- bool read=readThread.setBlockSize(blockSize);
- bool write=writeThread.setBlockSize(blockSize);
- return (read && write);
-}
-
-//pause the copy
-void TransferThread::pause()
-{
- //only pause/resume during the transfer of file data
- //from transfer_stat!=TransferStat_Idle because it resume at wrong order
- if(transfer_stat!=TransferStat_Transfer && transfer_stat!=TransferStat_PostTransfer && transfer_stat!=TransferStat_Checksum)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] wrong stat to put in pause");
- return;
- }
- haveStartTime=false;
- readThread.pause();
- writeThread.pause();
-}
-
-//resume the copy
-void TransferThread::resume()
-{
- //only pause/resume during the transfer of file data
- //from transfer_stat!=TransferStat_Idle because it resume at wrong order
- if(transfer_stat!=TransferStat_Transfer && transfer_stat!=TransferStat_PostTransfer && transfer_stat!=TransferStat_Checksum)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] wrong stat to put in pause");
- return;
- }
- readThread.resume();
- writeThread.resume();
-}
-
-//stop the current copy
-void TransferThread::stop()
-{
- stopIt=true;
- haveStartTime=false;
- if(transfer_stat==TransferStat_Idle)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"transfer_stat==TransferStat_Idle");
- return;
- }
- if(remainSourceOpen())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"remainSourceOpen()");
- readThread.stop();
- }
- if(remainDestinationOpen())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"remainDestinationOpen()");
- writeThread.stop();
- }
- if(!remainFileOpen())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"transfer_stat==TransferStat_Idle");
- if(needRemove && source.absoluteFilePath()!=destination.absoluteFilePath())
- {
- if(source.exists())
- QFile(destination.absoluteFilePath()).remove();
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] try destroy the destination when the source don't exists"));
- }
- transfer_stat=TransferStat_PostOperation;
- emit internalStartPostOperation();
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("transfer_stat==%1 && remainFileOpen()").arg(transfer_stat).toStdString());
-}
-
-bool TransferThread::remainFileOpen() const
-{
- return remainSourceOpen() || remainDestinationOpen();
-}
-
-bool TransferThread::remainSourceOpen() const
-{
- return (readIsOpenVariable || readIsOpeningVariable) && !readIsClosedVariable;
-}
-
-bool TransferThread::remainDestinationOpen() const
-{
- return (writeIsOpenVariable || writeIsOpeningVariable) && !writeIsClosedVariable;
-}
-
-void TransferThread::readIsFinish()
-{
- if(readIsFinishVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] double event dropped"));
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- readIsFinishVariable=true;
- canStartTransfer=false;
- //check here if need start checksuming or not
- real_doChecksum=doChecksum && (!checksumOnlyOnError || fileContentError) && (!canBeMovedDirectlyVariable && !canBeCopiedDirectlyVariable);
- if(real_doChecksum)
- {
- readIsFinishVariable=false;
- transfer_stat=TransferStat_Checksum;
- sourceChecksum=QByteArray();
- destinationChecksum=QByteArray();
- readThread.startCheckSum();
- }
- else
- {
- transfer_stat=TransferStat_PostTransfer;
- if(!needSkip || (canBeCopiedDirectlyVariable || canBeMovedDirectlyVariable))//if skip, stop call, then readIsClosed() already call
- readThread.postOperation();
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] in skip, don't start postOperation");
- }
- emit pushStat(transfer_stat,transferId);
-}
-
-void TransferThread::writeIsFinish()
-{
- if(writeIsFinishVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] double event dropped");
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- writeIsFinishVariable=true;
- //check here if need start checksuming or not
- if(real_doChecksum)
- {
- writeIsFinishVariable=false;
- transfer_stat=TransferStat_Checksum;
- writeThread.startCheckSum();
- }
- else
- {
- if(!needSkip || (canBeCopiedDirectlyVariable || canBeMovedDirectlyVariable))//if skip, stop call, then writeIsClosed() already call
- writeThread.postOperation();
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] in skip, don't start postOperation");
- }
-}
-
-void TransferThread::readChecksumFinish(const QByteArray& checksum)
-{
- sourceChecksum=checksum;
- compareChecksum();
-}
-
-void TransferThread::writeChecksumFinish(const QByteArray& checksum)
-{
- destinationChecksum=checksum;
- compareChecksum();
-}
-
-void TransferThread::compareChecksum()
-{
- if(sourceChecksum.size()==0)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] the checksum of source is missing");
- return;
- }
- if(destinationChecksum.size()==0)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] the checksum of destination is missing");
- return;
- }
- if(sourceChecksum==destinationChecksum)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] the checksum match");
- readThread.postOperation();
- writeThread.postOperation();
- transfer_stat=TransferStat_PostTransfer;
- emit pushStat(transfer_stat,transferId);
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] the checksum not match"));
- //emit error here, and wait to resume
- emit errorOnFile(destination,tr("The checksums do not match").toStdString());
- }
-}
-
-void TransferThread::readIsClosed()
-{
- if(readIsClosedVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] double event dropped"));
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- readIsClosedVariable=true;
- readIsOpeningVariable=false;
- checkIfAllIsClosedAndDoOperations();
-}
-
-void TransferThread::writeIsClosed()
-{
- if(writeIsClosedVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] double event dropped");
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- writeIsClosedVariable=true;
- writeIsOpeningVariable=false;
- if(stopIt && needRemove && source.absoluteFilePath()!=destination.absoluteFilePath())
- {
- if(source.exists())
- QFile(destination.absoluteFilePath()).remove();
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] try destroy the destination when the source don't exists"));
- }
- checkIfAllIsClosedAndDoOperations();
-}
-
-// return true if all is closed, and do some operations, don't use into condition to check if is closed!
-bool TransferThread::checkIfAllIsClosedAndDoOperations()
-{
- if((readError || writeError) && !needSkip && !stopIt)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] resolve error before progress");
- return false;
- }
- if(!remainFileOpen())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit internalStartPostOperation() to do the real post operation");
- transfer_stat=TransferStat_PostOperation;
- //emit pushStat(stat,transferId);
- emit internalStartPostOperation();
- return true;
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] "+QStringLiteral("wait self close: readIsReadyVariable: %1, readIsClosedVariable: %2, writeIsReadyVariable: %3, writeIsClosedVariable: %4")
- .arg(readIsReadyVariable)
- .arg(readIsClosedVariable)
- .arg(writeIsReadyVariable)
- .arg(writeIsClosedVariable)
- .toStdString()
- );
- return false;
- }
-}
-
-/// \todo found way to retry that's
-/// \todo the rights copy
-void TransferThread::postOperation()
-{
- if(transfer_stat!=TransferStat_PostOperation)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] need be in transfer, source: "+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString()+", stat:"+std::to_string(transfer_stat));
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- //all except closing
- if((readError || writeError) && !needSkip && !stopIt)//normally useless by checkIfAllIsFinish()
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] resume after error");
- return;
- }
-
- if(!needSkip && !stopIt)
- {
- if(!canBeCopiedDirectlyVariable && !canBeMovedDirectlyVariable)
- {
- if(writeIsOpenVariable && !writeIsClosedVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] can't pass in post operation if write is not closed"));
- emit errorOnFile(destination,tr("Internal error: The destination is not closed").toStdString());
- needSkip=false;
- if(deletePartiallyTransferredFiles)
- needRemove=true;
- writeError=true;
- return;
- }
- if(readThread.getLastGoodPosition()!=writeThread.getLastGoodPosition())
- {
- writeThread.flushBuffer();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+QString("] readThread.getLastGoodPosition(%1)!=writeThread.getLastGoodPosition(%2)")
- .arg(readThread.getLastGoodPosition())
- .arg(writeThread.getLastGoodPosition())
- .toStdString()
- );
- emit errorOnFile(destination,tr("Internal error: The size transfered doesn't match").toStdString());
- needSkip=false;
- if(deletePartiallyTransferredFiles)
- needRemove=true;
- writeError=true;
- return;
- }
- if(!writeThread.bufferIsEmpty())
- {
- writeThread.flushBuffer();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] buffer is not empty"));
- emit errorOnFile(destination,tr("Internal error: The buffer is not empty").toStdString());
- needSkip=false;
- if(deletePartiallyTransferredFiles)
- needRemove=true;
- writeError=true;
- return;
- }
- //in normal mode, without copy/move syscall
- if(!doFilePostOperation())
- return;
- }
-
- //remove source in moving mode
- if(mode==Ultracopier::Move && !canBeMovedDirectlyVariable)
- {
- if(destination.exists() && destination.isFile())
- {
- QFile sourceFile(source.absoluteFilePath());
- if(!sourceFile.remove())
- {
- needSkip=false;
- emit errorOnFile(source,sourceFile.errorString().toStdString());
- return;
- }
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] try remove source but destination not exists!"));
- }
- }
- else//do difference skip a file and skip this error case
- {
- if(needRemove && destination.exists() && source.exists() && source.absoluteFilePath()!=destination.absoluteFilePath() && destination.isFile())
- {
- QFile destinationFile(destination.absoluteFilePath());
- if(!destinationFile.remove())
- {
- //emit errorOnFile(source,destinationFile.errorString());
- //return;
- }
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] try remove destination but not exists!");
- }
- source.setFile(QStringLiteral(""));
- destination.setFile(QStringLiteral(""));
- //don't need remove because have correctly finish (it's not in: have started)
- needRemove=false;
- needSkip=false;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit postOperationStopped()");
- transfer_stat=TransferStat_Idle;
- emit postOperationStopped();
-}
-
-bool TransferThread::doFilePostOperation()
-{
- //do operation needed by copy
- //set the time if no write thread used
-
- destination.refresh();
- if(!destination.exists() && !destination.isSymLink())
- {
- if(!stopIt)
- if(/*true when the destination have been remove but not the symlink:*/!source.isSymLink())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to change the date: File not found");
- emit errorOnFile(destination,tr("Unable to change the date").toStdString()+": "+tr("File not found").toStdString());
- return false;
- }
- }
- else
- {
- if(doTheDateTransfer)
- {
- if(!writeFileDateTime(destination))
- {
- if(!destination.isFile())
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to change the date (is not a file)");
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to change the date");
- /* error with virtual folder under windows */
- #ifndef Q_OS_WIN32
- if(keepDate)
- {
- emit errorOnFile(destination,tr("Unable to change the date").toStdString());
- return false;
- }
- #endif
- }
- else
- {
- #ifndef Q_OS_WIN32
- destination.refresh();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] read the destination time: "+destination.lastModified().toString().toStdString());
- if(destination.lastModified()<minTime)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] read the destination time lower than min time: "+destination.lastModified().toString().toStdString());
- if(keepDate)
- {
- emit errorOnFile(destination,tr("Unable to change the date").toStdString());
- return false;
- }
- }
- #endif
- }
- }
- if(doRightTransfer)
- {
- //should be never used but...
- /*source.refresh();
- if(source.exists())*/
- if(havePermission)
- {
- QFile destinationFile(destination.absoluteFilePath());
- if(!writeFilePermissions(destinationFile))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Unable to set the destination file permission");
- //emit errorOnFile(destination,tr("Unable to set the destination file permission"));
- //return false;
- }
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Try doRightTransfer when source not exists");
- }
- }
- if(stopIt)
- return false;
-
- return true;
-}
-
-//////////////////////////////////////////////////////////////////
-/////////////////////// Error management /////////////////////////
-//////////////////////////////////////////////////////////////////
-
-void TransferThread::getWriteError()
-{
- if(writeError)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] already in write error!");
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- fileContentError = true;
- writeError = true;
- writeIsReadyVariable = false;
- writeError_source_seeked = false;
- writeError_destination_reopened = false;
- writeIsOpeningVariable=false;
- if(!readError)//already display error for the read
- emit errorOnFile(destination,writeThread.errorString());
-}
-
-void TransferThread::getReadError()
-{
- if(readError)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] already in read error!");
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- fileContentError = true;
- readError = true;
- //writeIsReadyVariable = false;//wrong because write can be ready here
- readIsReadyVariable = false;
- readIsOpeningVariable=false;
- if(!writeError)//already display error for the write
- emit errorOnFile(source,readThread.errorString());
-}
-
-//retry after error
-void TransferThread::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: ")+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString());
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] restart all, source: "+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString());
- 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: "+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString()+", 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 && transfer_stat!=TransferStat_Checksum)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+("] is not in right stat, source: ")+source.absoluteFilePath().toStdString()+", destination: "+destination.absoluteFilePath().toStdString()+", stat: "+std::to_string(transfer_stat));
- return;
- }
- if(transfer_stat==TransferStat_PostOperation)
- {
- if(readError || writeError)
- {
- readError=false;
- //writeError=false;
- resumeTransferAfterWriteError();
- writeThread.flushBuffer();
- transfer_stat=TransferStat_PreOperation;
- emit internalStartPreOperation();
- return;
- }
- emit internalStartPostOperation();
- return;
- }
- if(canBeMovedDirectlyVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] retry the system move");
- tryMoveDirectly();
- return;
- }
- if(canBeCopiedDirectlyVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] retry the copy directly");
- tryCopyDirectly();
- return;
- }
- if(transfer_stat==TransferStat_Checksum)
- {
- if(writeError)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start and resume the write error");
- writeThread.reopen();
- }
- else if(readError)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start and resume the read error");
- readThread.reopen();
- }
- else //only checksum difference
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] retry all the transfer");
- canStartTransfer=true;
- ifCanStartTransfer();
- }
- return;
- }
- //can have error on source and destination at the same time
- if(writeError)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start and resume the write error: "+std::to_string(readError));
- if(readError)
- readThread.reopen();
- else
- {
- readIsClosedVariable=false;
- readThread.seekToZeroAndWait();
- }
- writeThread.reopen();
- }
- if(readError)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start and resume the read error");
- readThread.reopen();
- }
- if(!writeError && !readError)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] unknow error resume");
-}
-
-void TransferThread::writeThreadIsReopened()
-{
- if(writeError_destination_reopened)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] double event dropped");
- return;
- }
- writeError_destination_reopened=true;
- if(transfer_stat==TransferStat_Checksum)
- {
- writeThread.startCheckSum();
- return;
- }
- if(writeError_source_seeked && writeError_destination_reopened)
- resumeTransferAfterWriteError();
-}
-
-void TransferThread::readThreadIsSeekToZeroAndWait()
-{
- if(writeError_source_seeked)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] double event dropped");
- return;
- }
- writeError_source_seeked=true;
- if(writeError_source_seeked && writeError_destination_reopened)
- resumeTransferAfterWriteError();
-}
-
-void TransferThread::resumeTransferAfterWriteError()
-{
- writeError=false;
-/********************************
- if(canStartTransfer)
- readThread.startRead();
-useless, because the open destination event
-will restart the transfer as normal
-*********************************/
-/*********************************
-if(!canStartTransfer)
- stat=WaitForTheTransfer;
-useless because already do at open event
-**********************************/
- //if is in wait
- if(!canStartTransfer)
- emit checkIfItCanBeResumed();
-}
-
-void TransferThread::readThreadResumeAfterError()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- readError=false;
- writeIsReady();
- readIsReady();
-}
-
-//////////////////////////////////////////////////////////////////
-///////////////////////// Normal event ///////////////////////////
-//////////////////////////////////////////////////////////////////
-
-void TransferThread::readIsStopped()
-{
- if(!sended_state_readStopped)
- {
- sended_state_readStopped=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit readIsStopped()");
- emit readStopped();
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] drop dual read stopped");
- return;
- }
- readIsFinish();
-}
-
-void TransferThread::writeIsStopped()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- if(!sended_state_writeStopped)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit writeStopped()");
- sended_state_writeStopped=true;
- emit writeStopped();
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] double event dropped");
- return;
- }
- writeIsFinish();
-}
-
-#ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
-void TransferThread::timeOfTheBlockCopyFinished()
-{
- readThread.timeOfTheBlockCopyFinished();
- writeThread.timeOfTheBlockCopyFinished();
-}
-#endif
-
-bool TransferThread::setParallelBuffer(const int &parallelBuffer)
-{
- if(parallelBuffer<1 || parallelBuffer>ULTRACOPIER_PLUGIN_MAX_PARALLEL_NUMBER_OF_BLOCK)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] wrong parallelBuffer: "+std::to_string(parallelBuffer));
- return false;
- }
- else
- {
- this->parallelBuffer=parallelBuffer;
- return true;
- }
-}
-
-bool TransferThread::setSequentialBuffer(const int &sequentialBuffer)
-{
- if(sequentialBuffer<1 || sequentialBuffer>ULTRACOPIER_PLUGIN_MAX_SEQUENTIAL_NUMBER_OF_BLOCK)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] wrong sequentialBuffer: "+std::to_string(sequentialBuffer));
- return false;
- }
- else
- {
- this->sequentialBuffer=sequentialBuffer;
- return true;
- }
-}
-
-void TransferThread::setTransferAlgorithm(const TransferAlgorithm &transferAlgorithm)
-{
- this->transferAlgorithm=transferAlgorithm;
- if(transferAlgorithm==TransferAlgorithm_Sequential)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transferAlgorithm==TransferAlgorithm_Sequential");
- else if(transferAlgorithm==TransferAlgorithm_Automatic)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transferAlgorithm==TransferAlgorithm_Automatic");
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] transferAlgorithm==TransferAlgorithm_Parallel");
-}
-
-//fonction to read the file date time
-bool TransferThread::readFileDateTime(const QFileInfo &source)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] readFileDateTime("+source.absoluteFilePath().toStdString()+")");
- if(source.lastModified()<minTime)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] the sources is older to copy the time: "+source.absoluteFilePath().toStdString()+": "+source.lastModified().toString().toStdString());
- return false;
- }
- /** Why not do it with Qt? Because it not support setModificationTime(), and get the time with Qt, that's mean use local time where in C is UTC time */
- #ifdef Q_OS_UNIX
- #ifdef Q_OS_LINUX
- struct stat info;
- if(stat(source.absoluteFilePath().toLatin1().data(),&info)!=0)
- return false;
- time_t ctime=info.st_ctim.tv_sec;
- time_t actime=info.st_atim.tv_sec;
- time_t modtime=info.st_mtim.tv_sec;
- //this function avalaible on unix and mingw
- butime.actime=actime;
- butime.modtime=modtime;
- Q_UNUSED(ctime);
- return true;
- #else //mainly for mac
- time_t ctime=source.created().toTime_t();
- time_t actime=source.lastRead().toTime_t();
- time_t modtime=source.lastModified().toTime_t();
- //this function avalaible on unix and mingw
- butime.actime=actime;
- butime.modtime=modtime;
- Q_UNUSED(ctime);
- return true;
- #endif
- #else
- #ifdef Q_OS_WIN32
- #ifdef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- struct stat info;
- if(stat(source.toLatin1().data(),&info)!=0)
- return false;
- time_t ctime=info.st_ctim.tv_sec;
- time_t actime=info.st_atim.tv_sec;
- time_t modtime=info.st_mtim.tv_sec;
- //this function avalaible on unix and mingw
- butime.actime=actime;
- butime.modtime=modtime;
- Q_UNUSED(ctime);
- return true;
- #else
- wchar_t filePath[65535];
- if(std::regex_match(source.absoluteFilePath().toStdString(),regRead))
- filePath[QDir::toNativeSeparators(QStringLiteral("\\\\?\\")+source.absoluteFilePath()).toWCharArray(filePath)]=L'\0';
- else
- filePath[QDir::toNativeSeparators(source.absoluteFilePath()).toWCharArray(filePath)]=L'\0';
- HANDLE hFileSouce = CreateFileW(filePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
- if(hFileSouce == INVALID_HANDLE_VALUE)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] open failed to read: "+QString::fromWCharArray(filePath).toStdString()+", error: "+std::to_string(GetLastError()));
- return false;
- }
- FILETIME ftCreate, ftAccess, ftWrite;
- if(!GetFileTime(hFileSouce, &ftCreate, &ftAccess, &ftWrite))
- {
- CloseHandle(hFileSouce);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to get the file time");
- return false;
- }
- this->ftCreateL=ftCreate.dwLowDateTime;
- this->ftCreateH=ftCreate.dwHighDateTime;
- this->ftAccessL=ftAccess.dwLowDateTime;
- this->ftAccessH=ftAccess.dwHighDateTime;
- this->ftWriteL=ftWrite.dwLowDateTime;
- this->ftWriteH=ftWrite.dwHighDateTime;
- CloseHandle(hFileSouce);
- return true;
- #endif
- #else
- return false;
- #endif
- #endif
- return false;
-}
-
-bool TransferThread::writeFileDateTime(const QFileInfo &destination)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] writeFileDateTime("+destination.absoluteFilePath().toStdString()+")");
- /** Why not do it with Qt? Because it not support setModificationTime(), and get the time with Qt, that's mean use local time where in C is UTC time */
- #ifdef Q_OS_UNIX
- #ifdef Q_OS_LINUX
- return utime(destination.absoluteFilePath().toLatin1().data(),&butime)==0;
- #else //mainly for mac
- return utime(destination.absoluteFilePath().toLatin1().data(),&butime)==0;
- #endif
- #else
- #ifdef Q_OS_WIN32
- #ifdef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- return utime(destination.toLatin1().data(),&butime)==0;
- #else
- wchar_t filePath[65535];
- if(std::regex_match(destination.absoluteFilePath().toStdString(),regRead))
- filePath[QDir::toNativeSeparators(QStringLiteral("\\\\?\\")+destination.absoluteFilePath()).toWCharArray(filePath)]=L'\0';
- else
- filePath[QDir::toNativeSeparators(destination.absoluteFilePath()).toWCharArray(filePath)]=L'\0';
- HANDLE hFileDestination = CreateFileW(filePath, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
- if(hFileDestination == INVALID_HANDLE_VALUE)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] open failed to write: "+QString::fromWCharArray(filePath).toStdString()+", error: "+std::to_string(GetLastError()));
- return false;
- }
- FILETIME ftCreate, ftAccess, ftWrite;
- ftCreate.dwLowDateTime=this->ftCreateL;
- ftCreate.dwHighDateTime=this->ftCreateH;
- ftAccess.dwLowDateTime=this->ftAccessL;
- ftAccess.dwHighDateTime=this->ftAccessH;
- ftWrite.dwLowDateTime=this->ftWriteL;
- ftWrite.dwHighDateTime=this->ftWriteH;
- if(!SetFileTime(hFileDestination, &ftCreate, &ftAccess, &ftWrite))
- {
- CloseHandle(hFileDestination);
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] unable to set the file time");
- return false;
- }
- CloseHandle(hFileDestination);
- return true;
- #endif
- #else
- return false;
- #endif
- #endif
- return false;
-}
-
-bool TransferThread::readFilePermissions(const QFile &source)
-{
- this->permissions=source.permissions();
- return true;
-}
-
-bool TransferThread::writeFilePermissions(QFile &destination)
-{
- return destination.setPermissions(this->permissions);
-}
-
-//skip the copy
-void TransferThread::skip()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start with stat: "+std::to_string(transfer_stat));
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] readIsOpeningVariable: "+std::to_string(readIsOpeningVariable)+", readIsOpenVariable: "+std::to_string(readIsOpenVariable)+", readIsReadyVariable: "+std::to_string(readIsReadyVariable)+", readIsFinishVariable: "+std::to_string(readIsFinishVariable)+", readIsClosedVariable: "+std::to_string(readIsClosedVariable));
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] writeIsOpeningVariable: "+std::to_string(writeIsOpeningVariable)+", writeIsOpenVariable: "+std::to_string(writeIsOpenVariable)+", writeIsReadyVariable: "+std::to_string(writeIsReadyVariable)+", writeIsFinishVariable: "+std::to_string(writeIsFinishVariable)+", writeIsClosedVariable: "+std::to_string(writeIsClosedVariable));
- switch(transfer_stat)
- {
- case TransferStat_WaitForTheTransfer:
- //needRemove=true;never put that's here, can product destruction of the file
- case TransferStat_PreOperation:
- if(needSkip)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] skip already in progress");
- return;
- }
- needSkip=true;
- //check if all is source and destination is closed
- if(remainFileOpen())
- {
- if(remainSourceOpen())
- readThread.stop();
- if(remainDestinationOpen())
- writeThread.stop();
- }
- else // wait nothing, just quit
- {
- transfer_stat=TransferStat_PostOperation;
- emit internalStartPostOperation();
- }
- break;
- case TransferStat_Transfer:
- case TransferStat_PostTransfer:
- if(needSkip)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] skip already in progress");
- return;
- }
- //needRemove=true;never put that's here, can product destruction of the file
- needSkip=true;
- if(canBeMovedDirectlyVariable || canBeCopiedDirectlyVariable)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] Do the direct FS fake close, canBeMovedDirectlyVariable: "+std::to_string(canBeMovedDirectlyVariable)+", canBeCopiedDirectlyVariable: "+std::to_string(canBeCopiedDirectlyVariable));
- readThread.fakeReadIsStarted();
- writeThread.fakeWriteIsStarted();
- readThread.fakeReadIsStopped();
- writeThread.fakeWriteIsStopped();
- return;
- }
- writeThread.flushBuffer();
- if(remainFileOpen())
- {
- if(remainSourceOpen())
- readThread.stop();
- if(remainDestinationOpen())
- writeThread.stop();
- }
- else // wait nothing, just quit
- {
- transfer_stat=TransferStat_PostOperation;
- emit internalStartPostOperation();
- }
- break;
- case TransferStat_Checksum:
- if(needSkip)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] skip already in progress");
- return;
- }
- //needRemove=true;never put that's here, can product destruction of the file
- needSkip=true;
- if(remainFileOpen())
- {
- if(remainSourceOpen())
- readThread.stop();
- if(remainDestinationOpen())
- writeThread.stop();
- }
- else // wait nothing, just quit
- {
- transfer_stat=TransferStat_PostOperation;
- emit internalStartPostOperation();
- }
- break;
- case TransferStat_PostOperation:
- if(needSkip)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] skip already in progress");
- return;
- }
- //needRemove=true;never put that's here, can product destruction of the file
- needSkip=true;
- writeThread.flushBuffer();
- emit internalStartPostOperation();
- break;
- default:
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] can skip in this state: "+std::to_string(transfer_stat));
- return;
- }
-}
-
-//return info about the copied size
-int64_t TransferThread::copiedSize()
-{
- switch(transfer_stat)
- {
- case TransferStat_Transfer:
- case TransferStat_PostOperation:
- case TransferStat_PostTransfer:
- return (readThread.getLastGoodPosition()+writeThread.getLastGoodPosition())/2;
- case TransferStat_Checksum:
- return transferSize;
- default:
- return 0;
- }
-}
-
-//retry after error
-void TransferThread::putAtBottom()
-{
- emit tryPutAtBottom();
-}
-
-#ifdef ULTRACOPIER_PLUGIN_RSYNC
-/// \brief set rsync
-void TransferThread::setRsync(const bool rsync)
-{
- this->rsync=rsync;
-}
-#endif
-
-void TransferThread::set_osBufferLimit(const unsigned int &osBufferLimit)
-{
- this->osBufferLimit=osBufferLimit;
-}
-
-#ifdef ULTRACOPIER_PLUGIN_DEBUG
-//to set the id
-void TransferThread::setId(int id)
-{
- this->id=id;
- readThread.setId(id);
- writeThread.setId(id);
-}
-
-char TransferThread::readingLetter() const
-{
- switch(readThread.stat)
- {
- case ReadThread::Idle:
- return '_';
- break;
- case ReadThread::InodeOperation:
- return 'I';
- break;
- case ReadThread::Read:
- return 'R';
- break;
- case ReadThread::WaitWritePipe:
- return 'W';
- break;
- case ReadThread::Checksum:
- return 'S';
- break;
- default:
- return '?';
- }
-}
-
-char TransferThread::writingLetter() const
-{
- switch(writeThread.stat)
- {
- case WriteThread::Idle:
- return '_';
- break;
- case WriteThread::InodeOperation:
- return 'I';
- break;
- case WriteThread::Write:
- return 'W';
- break;
- case WriteThread::Close:
- return 'C';
- break;
- case WriteThread::Read:
- return 'R';
- break;
- case WriteThread::Checksum:
- return 'S';
- break;
- default:
- return '?';
- }
-}
-
-#endif
-
-void TransferThread::setMkpathTransfer(QSemaphore *mkpathTransfer)
-{
- this->mkpathTransfer=mkpathTransfer;
- writeThread.setMkpathTransfer(mkpathTransfer);
-}
-
-void TransferThread::set_doChecksum(bool doChecksum)
-{
- this->doChecksum=doChecksum;
-}
-
-void TransferThread::set_checksumIgnoreIfImpossible(bool checksumIgnoreIfImpossible)
-{
- this->checksumIgnoreIfImpossible=checksumIgnoreIfImpossible;
-}
-
-void TransferThread::set_checksumOnlyOnError(bool checksumOnlyOnError)
-{
- this->checksumOnlyOnError=checksumOnlyOnError;
-}
-
-void TransferThread::set_osBuffer(bool osBuffer)
-{
- this->osBuffer=osBuffer;
-}
-
-void TransferThread::set_osBufferLimited(bool osBufferLimited)
-{
- this->osBufferLimited=osBufferLimited;
-}
-
-//not copied size, because that's count to the checksum, ...
-uint64_t TransferThread::realByteTransfered() const
-{
- switch(transfer_stat)
- {
- case TransferStat_Transfer:
- case TransferStat_Checksum:
- return (readThread.getLastGoodPosition()+writeThread.getLastGoodPosition())/2;
- case TransferStat_PostTransfer:
- return (readThread.getLastGoodPosition()+writeThread.getLastGoodPosition())/2;
- case TransferStat_PostOperation:
- return transferSize;
- default:
- return 0;
- }
-}
-
-//first is read, second is write
-std::pair<uint64_t, uint64_t> TransferThread::progression() const
-{
- std::pair<uint64_t,uint64_t> returnVar;
- switch(transfer_stat)
- {
- case TransferStat_Transfer:
- 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;
- case TransferStat_Checksum:
- returnVar.first=readThread.getLastGoodPosition();
- returnVar.second=writeThread.getLastGoodPosition();
- break;
- case TransferStat_PostTransfer:
- returnVar.first=transferSize;
- 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;
- case TransferStat_PostOperation:
- returnVar.first=transferSize;
- returnVar.second=transferSize;
- break;
- default:
- returnVar.first=0;
- returnVar.second=0;
- }
- return returnVar;
-}
-
-void TransferThread::setRenamingRules(const std::string &firstRenamingRule, const std::string &otherRenamingRule)
-{
- this->firstRenamingRule=firstRenamingRule;
- this->otherRenamingRule=otherRenamingRule;
-}
-
-void TransferThread::setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles)
-{
- this->deletePartiallyTransferredFiles=deletePartiallyTransferredFiles;
-}
-
-void TransferThread::setRenameTheOriginalDestination(const bool &renameTheOriginalDestination)
-{
- this->renameTheOriginalDestination=renameTheOriginalDestination;
-}
-
-void TransferThread::set_updateMount()
-{
- driveManagement.tryUpdate();
-}
diff --git a/plugins/CopyEngine/Ultracopier/TransferThread.h b/plugins/CopyEngine/Ultracopier/TransferThread.h
deleted file mode 100644
index fb64d6a..0000000
--- a/plugins/CopyEngine/Ultracopier/TransferThread.h
+++ /dev/null
@@ -1,292 +0,0 @@
-/** \file TransferThread.h
-\brief Thread changed to manage the inode operation, the signals, canceling, pre and post operations
-\author alpha_one_x86
-\licence GPL3, see the file COPYING */
-
-#ifndef TRANSFERTHREAD_H
-#define TRANSFERTHREAD_H
-
-#include <QThread>
-#include <QFileInfo>
-#include <regex>
-#include <vector>
-#include <string>
-#include <QDateTime>
-#include <QDir>
-#include <utility>
-
-#ifdef Q_OS_UNIX
- #include <utime.h>
- #include <time.h>
- #include <unistd.h>
- #include <sys/stat.h>
-#else
- #ifdef Q_OS_WIN32
- #ifdef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- #include <utime.h>
- #include <time.h>
- #include <unistd.h>
- #include <sys/stat.h>
- #endif
- #endif
-#endif
-
-#include "ReadThread.h"
-#include "WriteThread.h"
-#include "Environment.h"
-#include "DriveManagement.h"
-#include "StructEnumDefinition_CopyEngine.h"
-
-/// \brief Thread changed to manage the inode operation, the signals, canceling, pre and post operations
-class TransferThread : public QThread
-{
- Q_OBJECT
-public:
- explicit TransferThread();
- ~TransferThread();
- /// \brief get transfer stat
- TransferStat getStat() const;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- /// \brief to set the id
- void setId(int id);
- /// \brief get the reading letter
- char readingLetter() const;
- /// \brief get the writing letter
- char writingLetter() const;
- #endif
- /// \brief to have semaphore, and try create just one by one
- void setMkpathTransfer(QSemaphore *mkpathTransfer);
- /// \brief to store the transfer id
- uint64_t transferId;
- /// \brief to store the transfer size
- uint64_t transferSize;
- bool haveStartTime;
- QTime startTransferTime;
-
- void set_doChecksum(bool doChecksum);
- void set_checksumIgnoreIfImpossible(bool checksumIgnoreIfImpossible);
- void set_checksumOnlyOnError(bool checksumOnlyOnError);
- void set_osBuffer(bool osBuffer);
- void set_osBufferLimited(bool osBufferLimited);
-
- //not copied size, because that's count to the checksum, ...
- uint64_t realByteTransfered() const;
- std::pair<uint64_t, uint64_t> progression() const;
- static std::string resolvedName(const QFileInfo &inode);
- std::string getSourcePath() const;
- std::string getDestinationPath() const;
- QFileInfo getSourceInode() const;
- QFileInfo getDestinationInode() const;
- Ultracopier::CopyMode getMode() const;
-protected:
- void run();
-signals:
- //to send state
- void preOperationStopped() const;
- void checkIfItCanBeResumed() const;
- //void transferStarted();//not sended (and not used then)
- void readStopped() const;
- void writeStopped() const;
- void postOperationStopped() const;
- //get dialog
- void fileAlreadyExists(const QFileInfo &info,const QFileInfo &info2,const bool &isSame) const;
- void errorOnFile(const QFileInfo &info,const std::string &string,const ErrorType &errorType=ErrorType_Normal) const;
- //internal signal
- void internalStartPostOperation() const;
- void internalStartPreOperation() const;
- void internalStartResumeAfterErrorAndSeek() const;
- /// \brief To debug source
- void debugInformation(const Ultracopier::DebugLevel &level,std::string fonction,std::string text,std::string file,int ligne) const;
- void tryPutAtBottom() const;
- //force into the right thread
- void internalTryStartTheTransfer() const;
- /// \brief update the transfer stat
- void pushStat(const TransferStat &stat,const uint64_t &pos) const;
-public slots:
- /// \brief to start the transfer of data
- void startTheTransfer();
- /// \brief to set files to transfer
- bool setFiles(const QFileInfo& source,const int64_t &size,const QFileInfo& destination,const Ultracopier::CopyMode &mode);
- /// \brief to set file exists action to do
- void setFileExistsAction(const FileExistsAction &action);
- /// \brief to set the new name of the destination
- void setFileRename(const std::string &nameForRename);
- /// \brief to start the transfer of data
- void setAlwaysFileExistsAction(const FileExistsAction &action);
- /// \brief set the copy info and options before runing
- void setRightTransfer(const bool doRightTransfer);
- /// \brief set keep date
- void setKeepDate(const bool keepDate);
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- /// \brief set the current max speed in KB/s
- void setMultiForBigSpeed(const int &maxSpeed);
- #endif
- /// \brief set block size in KB
- bool setBlockSize(const unsigned int blockSize);
- /// \brief pause the copy
- void pause();
- /// \brief resume the copy
- void resume();
- /// \brief stop the copy
- 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
- void putAtBottom();
-
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- void setRsync(const bool rsync);
- #endif
-
- void set_osBufferLimit(const unsigned int &osBufferLimit);
- void setRenamingRules(const std::string &firstRenamingRule,const std::string &otherRenamingRule);
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- //speed limitation
- void timeOfTheBlockCopyFinished();
- #endif
-
- bool setParallelBuffer(const int &parallelBuffer);
- bool setSequentialBuffer(const int &sequentialBuffer);
- void setTransferAlgorithm(const TransferAlgorithm &transferAlgorithm);
- void setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles);
- void setRenameTheOriginalDestination(const bool &renameTheOriginalDestination);
- void set_updateMount();
-private slots:
- void preOperation();
- void readIsReady();
- void writeIsReady();
- void readIsFinish();
- void writeIsFinish();
- void readIsClosed();
- void writeIsClosed();
- void postOperation();
- void getWriteError();
- void getReadError();
- void readChecksumFinish(const QByteArray&);
- void writeChecksumFinish(const QByteArray&);
- void compareChecksum();
- //void syncAfterErrorAndReadFinish();
- void readThreadIsSeekToZeroAndWait();
- void writeThreadIsReopened();
- void readThreadResumeAfterError();
- //to filter the emition of signal
- void readIsStopped();
- void writeIsStopped();
- //force into the right thread
- void internalStartTheTransfer();
-private:
- enum MoveReturn
- {
- MoveReturn_skip=0,
- MoveReturn_moved=1,
- MoveReturn_error=2
- };
- TransferStat transfer_stat;
- ReadThread readThread;
- WriteThread writeThread;
- /*QString source;
- QString destination;*/
- Ultracopier::CopyMode mode;
- bool doRightTransfer;
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- bool rsync;
- #endif
- bool keepDate;
- //ready = open + ready to operation (no error to resolv)
- bool readIsReadyVariable;
- bool writeIsReadyVariable;
- //can be open but with error
- bool readIsOpeningVariable;//after call open() and before the end of internalOpen(), mostly to prevent internal error by open() when another is running
- bool writeIsOpeningVariable;//after call open() and before the end of internalOpen(), mostly to prevent internal error by open() when another is running
- bool readIsOpenVariable;
- bool writeIsOpenVariable;
- bool readIsFinishVariable;
- bool writeIsFinishVariable;
- bool readIsClosedVariable;
- bool writeIsClosedVariable;
- bool canBeMovedDirectlyVariable,canBeCopiedDirectlyVariable;
- DriveManagement driveManagement;
- QByteArray sourceChecksum,destinationChecksum;
- volatile bool stopIt;
- volatile bool canStartTransfer;
- bool retry;
- QFileInfo source;
- QFileInfo destination;
- int64_t size;
- FileExistsAction fileExistsAction;
- FileExistsAction alwaysDoFileExistsAction;
- bool needSkip,needRemove;
- QDateTime minTime;
- int id;
- QSemaphore *mkpathTransfer;
- bool doChecksum,real_doChecksum;
- bool checksumIgnoreIfImpossible;
- bool checksumOnlyOnError;
- bool deletePartiallyTransferredFiles;
- bool osBuffer;
- bool osBufferLimited;
- unsigned int osBufferLimit;
- std::string firstRenamingRule;
- std::string otherRenamingRule;
- //error management
- bool writeError,writeError_source_seeked,writeError_destination_reopened;
- bool readError;
- bool renameTheOriginalDestination;
- bool fileContentError;
- bool doTheDateTransfer;
- int parallelBuffer;
- int sequentialBuffer;
- int parallelizeIfSmallerThan;
- std::regex renameRegex;
- TransferAlgorithm transferAlgorithm;
- #ifdef Q_OS_UNIX
- utimbuf butime;
- #else
- #ifdef Q_OS_WIN32
- #ifdef ULTRACOPIER_PLUGIN_SET_TIME_UNIX_WAY
- utimbuf butime;
- #else
- uint32_t ftCreateL, ftAccessL, ftWriteL;
- uint32_t ftCreateH, ftAccessH, ftWriteH;
- std::regex regRead;
- #endif
- #endif
- #endif
- QFileDevice::Permissions permissions;
- bool havePermission;
- //different pre-operation
- bool isSame();
- bool destinationExists();
- bool checkAlwaysRename();///< return true if has been renamed
- bool canBeMovedDirectly() const;
- bool canBeCopiedDirectly() const;
- void tryMoveDirectly();
- void tryCopyDirectly();
- void ifCanStartTransfer();
- //fonction to edit the file date time
- bool readFileDateTime(const QFileInfo &source);
- bool writeFileDateTime(const QFileInfo &destination);
- bool readFilePermissions(const QFile &source);
- bool writeFilePermissions(QFile &destination);
- void resetExtraVariable();
- //error management function
- void resumeTransferAfterWriteError();
- //to send state
- bool sended_state_preOperationStopped;
- bool sended_state_readStopped;
- bool sended_state_writeStopped;
- //different post-operation
- bool checkIfAllIsClosedAndDoOperations();// return true if all is closed, and do some operations, don't use into condition to check if is closed!
- bool doFilePostOperation();
- //different pre-operation
- void tryOpen();
- bool remainFileOpen() const;
- bool remainSourceOpen() const;
- bool remainDestinationOpen() const;
-};
-
-#endif // TRANSFERTHREAD_H
diff --git a/plugins/CopyEngine/Ultracopier/WriteThread.cpp b/plugins/CopyEngine/Ultracopier/WriteThread.cpp
deleted file mode 100644
index bbb35fa..0000000
--- a/plugins/CopyEngine/Ultracopier/WriteThread.cpp
+++ /dev/null
@@ -1,976 +0,0 @@
-#include "WriteThread.h"
-
-#ifdef Q_OS_LINUX
-#include <fcntl.h>
-#endif
-#include <QDir>
-
-QMultiHash<QString,WriteThread *> WriteThread::writeFileList;
-QMutex WriteThread::writeFileListMutex;
-
-WriteThread::WriteThread()
-{
- deletePartiallyTransferredFiles = true;
- lastGoodPosition = 0;
- stopIt = false;
- isOpen.release();
- moveToThread(this);
- setObjectName(QStringLiteral("write"));
- //this->mkpathTransfer = mkpathTransfer;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat = Idle;
- #endif
- numberOfBlock = ULTRACOPIER_PLUGIN_DEFAULT_PARALLEL_NUMBER_OF_BLOCK;
- buffer = false;
- putInPause = false;
- needRemoveTheFile = false;
- blockSize = ULTRACOPIER_PLUGIN_DEFAULT_BLOCK_SIZE*1024;
- start();
-}
-
-WriteThread::~WriteThread()
-{
- stopIt=true;
- needRemoveTheFile=true;
- pauseMutex.release();
- writeFull.release();
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- waitNewClockForSpeed.release();
- waitNewClockForSpeed2.release();
- #endif
- writeFull.release();
- pauseMutex.release();
- // useless because stopIt will close all thread, but if thread not runing run it
- //endIsDetected();
- emit internalStartClose();
- isOpen.acquire();
- if(!file.fileName().isEmpty())
- resumeNotStarted();
- //disconnect(this);//-> do into ~TransferThread()
- quit();
- wait();
-}
-
-void WriteThread::run()
-{
- connect(this,&WriteThread::internalStartOpen, this,&WriteThread::internalOpen, Qt::QueuedConnection);
- connect(this,&WriteThread::internalStartReopen, this,&WriteThread::internalReopen, Qt::QueuedConnection);
- connect(this,&WriteThread::internalStartWrite, this,&WriteThread::internalWrite, Qt::QueuedConnection);
- connect(this,&WriteThread::internalStartClose, this,&WriteThread::internalCloseSlot, Qt::QueuedConnection);
- connect(this,&WriteThread::internalStartEndOfFile, this,&WriteThread::internalEndOfFile, Qt::QueuedConnection);
- connect(this,&WriteThread::internalStartFlushAndSeekToZero, this,&WriteThread::internalFlushAndSeekToZero, Qt::QueuedConnection);
- connect(this,&WriteThread::internalStartChecksum, this,&WriteThread::checkSum, Qt::QueuedConnection);
- exec();
-}
-
-bool WriteThread::internalOpen()
-{
- //do a bug
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] internalOpen destination: "+file.fileName().toStdString());
- if(stopIt)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
- emit closed();
- return false;
- }
- if(file.isOpen())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] already open! destination: "+file.fileName().toStdString());
- return false;
- }
- if(file.fileName().isEmpty())
- {
- errorString_internal=tr("Path resolution error (Empty path)").toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Unable to open: %1, error: %2").arg(file.fileName()).arg(QString::fromStdString(errorString_internal)).toStdString());
- emit error();
- return false;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] before the mutex");
- //set to LISTBLOCKSIZE
- if(sequential)
- {
- while(writeFull.available()<1)
- writeFull.release();
- if(writeFull.available()>1)
- writeFull.acquire(writeFull.available()-1);
- }
- else
- {
- while(writeFull.available()<numberOfBlock)
- writeFull.release();
- if(writeFull.available()>numberOfBlock)
- writeFull.acquire(writeFull.available()-numberOfBlock);
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after the mutex");
- stopIt=false;
- endDetected=false;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=InodeOperation;
- #endif
- //mkpath check if exists and return true if already exists
- QFileInfo destinationInfo(file);
- QDir destinationFolder;
- {
- mkpathTransfer->acquire();
- if(!destinationFolder.exists(destinationInfo.absolutePath()))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] Try create the path: "+
- destinationInfo.absolutePath().toStdString());
- if(!destinationFolder.mkpath(destinationInfo.absolutePath()))
- {
- if(!destinationFolder.exists(destinationInfo.absolutePath()))
- {
- /// \todo do real folder error here
- errorString_internal="mkpath error on destination";
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Unable create the folder: %1, error: %2")
- .arg(destinationInfo.absolutePath())
- .arg(QString::fromStdString(errorString_internal))
- .toStdString());
- emit error();
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
- mkpathTransfer->release();
- return false;
- }
- }
- }
- mkpathTransfer->release();
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after the mkpath");
- if(stopIt)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
- emit closed();
- return false;
- }
- //try open it
- QIODevice::OpenMode flags=QIODevice::ReadWrite;
- if(!buffer)
- flags|=QIODevice::Unbuffered;
- {
- QMutexLocker lock_mutex(&writeFileListMutex);
- if(writeFileList.count(file.fileName(),this)==0)
- {
- writeFileList.insert(file.fileName(),this);
- if(writeFileList.count(file.fileName())>1)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] in waiting because same file is found");
- return false;
- }
- }
- }
- bool fileWasExists=file.exists();
- if(file.open(flags))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after the open");
- {
- QMutexLocker lock_mutex(&accessList);
- if(!theBlockList.isEmpty())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] General file corruption detected");
- stopIt=true;
- file.close();
- resumeNotStarted();
- file.setFileName(QStringLiteral(""));
- return false;
- }
- }
- pauseMutex.tryAcquire(pauseMutex.available());
- #ifdef Q_OS_LINUX
- const int intfd=file.handle();
- if(intfd!=-1)
- posix_fadvise(intfd, 0, 0, POSIX_FADV_SEQUENTIAL);
- #endif
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] after the pause mutex");
- if(stopIt)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
- file.close();
- resumeNotStarted();
- file.setFileName(QStringLiteral(""));
- emit closed();
- return false;
- }
- if(!file.seek(0))
- {
- file.close();
- resumeNotStarted();
- file.setFileName(QStringLiteral(""));
- errorString_internal=file.errorString().toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Unable to seek after open: %1, error: %2").arg(file.fileName()).arg(QString::fromStdString(errorString_internal)).toStdString());
- emit error();
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
- return false;
- }
- if(stopIt)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
- file.close();
- resumeNotStarted();
- file.setFileName(QStringLiteral(""));
- emit closed();
- return false;
- }
- if(!file.resize(startSize))
- {
- file.close();
- resumeNotStarted();
- file.setFileName(QStringLiteral(""));
- errorString_internal=file.errorString().toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Unable to resize to %1 after open: %2, error: %3").arg(startSize).arg(file.fileName()).arg(QString::fromStdString(errorString_internal)).toStdString());
- emit error();
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
- return false;
- }
- if(stopIt)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
- file.close();
- resumeNotStarted();
- file.setFileName(QStringLiteral(""));
- emit closed();
- return false;
- }
- isOpen.acquire();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit opened()");
- emit opened();
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
- needRemoveTheFile=false;
- postOperationRequested=false;
- return true;
- }
- else
- {
- if(!fileWasExists && file.exists())
- if(!file.remove())
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] file created but can't be removed");
- if(stopIt)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close because stopIt is at true");
- resumeNotStarted();
- file.setFileName(QStringLiteral(""));
- emit closed();
- return false;
- }
- errorString_internal=file.errorString().toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Unable to open: %1, error: %2").arg(file.fileName()).arg(QString::fromStdString(errorString_internal)).toStdString());
- emit error();
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
- return false;
- }
-}
-
-void WriteThread::open(const QFileInfo &file,const uint64_t &startSize,const bool &buffer,const int &numberOfBlock,const bool &sequential)
-{
- if(!isRunning())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] the thread not running to open destination: "+file.absoluteFilePath().toStdString()+", numberOfBlock: "+std::to_string(numberOfBlock));
- errorString_internal=tr("Internal error, please report it!").toStdString();
- emit error();
- return;
- }
- if(this->file.isOpen())
- {
- if(file.absoluteFilePath()==this->file.fileName())
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] Try reopen already opened same file: "+file.absoluteFilePath().toStdString());
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] previous file is already open: "+file.absoluteFilePath().toStdString());
- emit internalStartClose();
- isOpen.acquire();
- isOpen.release();
- }
- if(numberOfBlock<1 || (numberOfBlock>ULTRACOPIER_PLUGIN_MAX_PARALLEL_NUMBER_OF_BLOCK && numberOfBlock>ULTRACOPIER_PLUGIN_MAX_SEQUENTIAL_NUMBER_OF_BLOCK))
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] numberOfBlock wrong, set to default");
- this->numberOfBlock=ULTRACOPIER_PLUGIN_DEFAULT_PARALLEL_NUMBER_OF_BLOCK;
- }
- else
- this->numberOfBlock=numberOfBlock;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] "+QStringLiteral("open destination: %1, sequential: %2").arg(file.absoluteFilePath()).arg(sequential).toStdString());
- stopIt=false;
- fakeMode=false;
- lastGoodPosition=0;
- this->file.setFileName(file.absoluteFilePath());
- this->startSize=startSize;
- this->buffer=buffer;
- this->sequential=sequential;
- endDetected=false;
- writeFullBlocked=false;
- emit internalStartOpen();
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- numberOfBlockCopied=0;
- #endif
-}
-
-void WriteThread::endIsDetected()
-{
- if(endDetected)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] double event dropped");
- return;
- }
- endDetected=true;
- pauseMutex.release();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- emit internalStartEndOfFile();
-}
-
-std::string WriteThread::errorString() const
-{
- return errorString_internal;
-}
-
-void WriteThread::stop()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stop()");
- needRemoveTheFile=true;
- stopIt=true;
- if(isOpen.available()>0)
- return;
- writeFull.release();
- pauseMutex.release();
- pauseMutex.release();
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- waitNewClockForSpeed.release();
- waitNewClockForSpeed2.release();
- #endif
- // useless because stopIt will close all thread, but if thread not runing run it
- endIsDetected();
- //for the stop for skip: void TransferThread::skip()
- emit internalStartClose();
-}
-
-void WriteThread::flushBuffer()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- writeFull.release();
- writeFull.acquire();
- pauseMutex.release();
- {
- QMutexLocker lock_mutex(&accessList);
- theBlockList.clear();
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stop");
-}
-
-/// \brief buffer is empty
-bool WriteThread::bufferIsEmpty()
-{
- bool returnVal;
- {
- QMutexLocker lock_mutex(&accessList);
- returnVal=theBlockList.isEmpty();
- }
- return returnVal;
-}
-
-void WriteThread::internalEndOfFile()
-{
- if(!bufferIsEmpty())
- {
- if(sequential)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start the write");
- emit internalStartWrite();
- }
- else
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] buffer is not empty!");
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] writeIsStopped");
- emit writeIsStopped();
- }
-}
-
-#ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
-/*! \brief Set the max speed
-\param tempMaxSpeed Set the max speed in KB/s, 0 for no limit */
-void WriteThread::setMultiForBigSpeed(const int &multiForBigSpeed)
-{
- this->multiForBigSpeed=multiForBigSpeed;
- waitNewClockForSpeed.release();
- waitNewClockForSpeed2.release();
-}
-
-/// \brief For give timer every X ms
-void WriteThread::timeOfTheBlockCopyFinished()
-{
- /* this is the old way to limit the speed, it product blocking
- *if(waitNewClockForSpeed.available()<ULTRACOPIER_PLUGIN_NUMSEMSPEEDMANAGEMENT)
- waitNewClockForSpeed.release();*/
-
- //try this new way:
- /* only if speed limited, else will accumulate waitNewClockForSpeed
- * Disabled because: Stop call of this method when no speed limit
- if(this->maxSpeed>0)*/
- if(waitNewClockForSpeed.available()<=1)
- waitNewClockForSpeed.release();
- if(waitNewClockForSpeed2.available()<=1)
- waitNewClockForSpeed2.release();
-}
-#endif
-
-void WriteThread::resumeNotStarted()
-{
- QMutexLocker lock_mutex(&writeFileListMutex);
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- if(!writeFileList.contains(file.fileName()))
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] file: \""+file.fileName().toStdString()+"\" for similar inode is not located into the list of "+std::to_string(writeFileList.size())+" items!");
- #endif
- writeFileList.remove(file.fileName(),this);
- if(writeFileList.contains(file.fileName()))
- {
- QList<WriteThread *> writeList=writeFileList.values(file.fileName());
- if(!writeList.isEmpty())
- writeList.first()->reemitStartOpen();
- return;
- }
-}
-
-void WriteThread::pause()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] try put read thread in pause");
- pauseMutex.tryAcquire(pauseMutex.available());
- putInPause=true;
- return;
-}
-
-void WriteThread::resume()
-{
- if(putInPause)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- putInPause=false;
- stopIt=false;
- }
- else
- return;
- if(!file.isOpen())
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] file is not open");
- return;
- }
- pauseMutex.release();
-}
-
-void WriteThread::reemitStartOpen()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] start");
- emit internalStartOpen();
-}
-
-void WriteThread::postOperation()
-{
- if(postOperationRequested)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"["+std::to_string(id)+"] double event dropped");
- return;
- }
- postOperationRequested=true;
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- emit internalStartClose();
-}
-
-void WriteThread::internalCloseSlot()
-{
- internalClose();
-}
-
-void WriteThread::internalClose(bool emitSignal)
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] close for file: "+file.fileName().toStdString());
- /// \note never send signal here, because it's called by the destructor
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Close;
- #endif
- bool emit_closed=false;
- if(!fakeMode)
- {
- if(file.isOpen())
- {
- if(!needRemoveTheFile)
- {
- if(startSize!=lastGoodPosition)
- if(!file.resize(lastGoodPosition))
- {
- if(emitSignal)
- {
- errorString_internal=file.errorString().toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Unable to seek after open: %1, error: %2").arg(file.fileName()).arg(QString::fromStdString(errorString_internal)).toStdString());
- emit error();
- }
- else
- needRemoveTheFile=true;
- }
- }
- file.close();
- if(needRemoveTheFile || stopIt)
- {
- if(deletePartiallyTransferredFiles)
- {
- if(!file.remove())
- if(emitSignal)
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] unable to remove the destination file");
- }
- }
- //here and not after, because the transferThread don't need try close if not open
- if(emitSignal)
- emit_closed=true;
- }
- }
- else
- {
- //here and not after, because the transferThread don't need try close if not open
-
- if(emitSignal)
- emit_closed=true;
- }
- needRemoveTheFile=false;
- resumeNotStarted();
- //warning: file.setFileName(""); need be after resumeNotStarted()
- file.setFileName(QStringLiteral(""));
- if(emit_closed)
- emit closed();
-
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
-
- /// \note always the last of this function
- if(!fakeMode)
- isOpen.release();
-}
-
-void WriteThread::internalReopen()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] start");
- QString tempFile=file.fileName();
- internalClose(false);
- flushBuffer();
- stopIt=false;
- lastGoodPosition=0;
- file.setFileName(tempFile);
- if(internalOpen())
- emit reopened();
-}
-
-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
-void WriteThread::setId(int id)
-{
- this->id=id;
-}
-#endif
-
-/// \brief do the fake open
-void WriteThread::fakeOpen()
-{
- fakeMode=true;
- postOperationRequested=false;
- emit opened();
-}
-
-/// \brief do the fake writeIsStarted
-void WriteThread::fakeWriteIsStarted()
-{
- emit writeIsStarted();
-}
-
-/// \brief do the fake writeIsStopped
-void WriteThread::fakeWriteIsStopped()
-{
- emit writeIsStopped();
-}
-
-/// do the checksum
-void WriteThread::startCheckSum()
-{
- emit internalStartChecksum();
-}
-
-/** \brief set block size
-\param block the new block size in B
-\return Return true if succes */
-bool WriteThread::setBlockSize(const int blockSize)
-{
- //can be smaller than min block size to do correct speed limitation
- if(blockSize>1 && blockSize<ULTRACOPIER_PLUGIN_MAX_BLOCK_SIZE*1024)
- {
- this->blockSize=blockSize;
- return true;
- }
- else
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"block size out of range: "+std::to_string(blockSize));
- return false;
- }
-}
-
-/// \brief get the last good position
-int64_t WriteThread::getLastGoodPosition() const
-{
- return lastGoodPosition;
-}
-
-void WriteThread::flushAndSeekToZero()
-{
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"flushAndSeekToZero: "+std::to_string(blockSize));
- stopIt=true;
- emit internalStartFlushAndSeekToZero();
-}
-
-
-void WriteThread::checkSum()
-{
- //QByteArray blockArray;
- QCryptographicHash hash(QCryptographicHash::Sha1);
- endDetected=false;
- lastGoodPosition=0;
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- numberOfBlockCopied=0;
- #endif
- if(!file.seek(0))
- {
- errorString_internal=file.errorString().toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Unable to seek after open: %1, error: %2").arg(file.fileName()).arg(QString::fromStdString(errorString_internal)).toStdString());
- emit error();
- return;
- }
- int sizeReaden=0;
- do
- {
- if(putInPause)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"["+std::to_string(id)+"] write put in pause");
- if(stopIt)
- return;
- pauseMutex.acquire();
- if(stopIt)
- return;
- }
- //read one block
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Read;
- #endif
- blockArray=file.read(blockSize);
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
-
- if(file.error()!=QFile::NoError)
- {
- errorString_internal=tr("Unable to read the source file: ").toStdString()+file.errorString().toStdString()+" ("+std::to_string(file.error())+")";
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("file.error()!=QFile::NoError: %1, error: %2").arg(QString::number(file.error())).arg(QString::fromStdString(errorString_internal)).toStdString());
- emit error();
- return;
- }
- sizeReaden=blockArray.size();
- if(sizeReaden>0)
- {
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Checksum;
- #endif
- hash.addData(blockArray);
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
-
- if(stopIt)
- break;
-
- lastGoodPosition+=blockArray.size();
- }
- }
- while(sizeReaden>0 && !stopIt);
- if(lastGoodPosition>(quint64)file.size())
- {
- errorString_internal=tr("File truncated during read, possible data change").toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Source truncated during the read: %1 (%2)").arg(file.errorString()).arg(QString::number(file.error())).toStdString());
- emit error();
- return;
- }
- if(stopIt)
- {
-/* if(putInPause)
- emit isInPause();*/
- stopIt=false;
- return;
- }
- emit checksumFinish(hash.result());
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] stop the read");
-}
-
-void WriteThread::internalFlushAndSeekToZero()
-{
- flushBuffer();
- if(!file.seek(0))
- {
- errorString_internal=file.errorString().toStdString();
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Unable to seek after open: %1, error: %2").arg(file.fileName()).arg(QString::fromStdString(errorString_internal)).toStdString());
- emit error();
- return;
- }
- stopIt=false;
- emit flushedAndSeekedToZero();
-}
-
-void WriteThread::setMkpathTransfer(QSemaphore *mkpathTransfer)
-{
- this->mkpathTransfer=mkpathTransfer;
-}
-
-void WriteThread::setDeletePartiallyTransferredFiles(const bool &deletePartiallyTransferredFiles)
-{
- this->deletePartiallyTransferredFiles=deletePartiallyTransferredFiles;
-}
-
-bool WriteThread::write(const QByteArray &data)
-{
- if(stopIt)
- return false;
- bool atMax;
- if(sequential)
- {
- if(stopIt)
- return false;
- {
- QMutexLocker lock_mutex(&accessList);
- theBlockList.append(data);
- atMax=(theBlockList.size()>=numberOfBlock);
- }
- if(atMax)
- emit internalStartWrite();
- }
- else
- {
- if(stopIt)
- return false;
- {
- QMutexLocker lock_mutex(&accessList);
- theBlockList.append(data);
- atMax=(theBlockList.size()>=numberOfBlock);
- }
- emit internalStartWrite();
- }
- if(atMax)
- {
- writeFullBlocked=true;
- writeFull.acquire();
- writeFullBlocked=false;
- }
- if(stopIt)
- return false;
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- //wait for limitation speed if stop not query
- if(multiForBigSpeed>0)
- {
- if(sequential)
- {
- numberOfBlockCopied++;
- if(numberOfBlockCopied>=(multiForBigSpeed*2))
- {
- numberOfBlockCopied=0;
- waitNewClockForSpeed.acquire();
- }
- }
- else
- {
- numberOfBlockCopied2++;
- if(numberOfBlockCopied2>=multiForBigSpeed)
- {
- numberOfBlockCopied2=0;
- waitNewClockForSpeed2.acquire();
- }
- }
- }
- #endif
- if(stopIt)
- return false;
- return true;
-}
-
-void WriteThread::internalWrite()
-{
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- if(sequential)
- {
- multiForBigSpeed=0;
- QMutexLocker lock_mutex(&accessList);
- if(theBlockList.size()<numberOfBlock && !endDetected)
- return;
- }
- #endif
- bool haveBlock;
- do
- {
- if(putInPause)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"["+std::to_string(id)+"] write put in pause");
- if(stopIt)
- return;
- pauseMutex.acquire();
- if(stopIt)
- return;
- }
- if(stopIt)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] stopIt");
- return;
- }
- if(stopIt)
- return;
- //read one block
- {
- QMutexLocker lock_mutex(&accessList);
- if(theBlockList.isEmpty())
- haveBlock=false;
- else
- {
- blockArray=theBlockList.first();
- if(multiForBigSpeed>0)
- {
- if(blockArray.size()==blockSize)
- {
- theBlockList.removeFirst();
- //if remove one block
- if(!sequential)
- writeFull.release();
- }
- else
- {
- blockArray.clear();
- while(blockArray.size()!=blockSize)
- {
- //if larger
- if(theBlockList.first().size()>blockSize)
- {
- blockArray+=theBlockList.first().mid(0,blockSize);
- theBlockList.first().remove(0,blockSize);
- if(!sequential)
- {
- //do write in loop to finish the actual block
- emit internalStartWrite();
- }
- break;
- }
- //if smaller
- else
- {
- blockArray+=theBlockList.first();
- theBlockList.removeFirst();
- //if remove one block
- if(!sequential)
- writeFull.release();
- if(theBlockList.isEmpty())
- break;
- }
- }
- }
- //haveBlock=!blockArray.isEmpty();
- }
- else
- {
- theBlockList.removeFirst();
- //if remove one block
- if(!sequential)
- writeFull.release();
- }
- haveBlock=true;
- }
- }
- if(stopIt)
- return;
- if(!haveBlock)
- {
- if(sequential)
- {
- if(endDetected)
- internalEndOfFile();
- else
- writeFull.release();
- return;
- }
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] End detected of the file");
- return;
- }
- #ifdef ULTRACOPIER_PLUGIN_SPEED_SUPPORT
- //wait for limitation speed if stop not query
- if(multiForBigSpeed>0)
- {
- numberOfBlockCopied++;
- if(sequential || (!sequential && writeFullBlocked))
- {
- if(numberOfBlockCopied>=(multiForBigSpeed*2))
- {
- numberOfBlockCopied=0;
- waitNewClockForSpeed.acquire();
- if(stopIt)
- break;
- }
- }
- else
- {
- if(numberOfBlockCopied>=multiForBigSpeed)
- {
- numberOfBlockCopied=0;
- waitNewClockForSpeed.acquire();
- if(stopIt)
- break;
- }
- }
- }
- #endif
- if(stopIt)
- return;
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Write;
- #endif
- bytesWriten=file.write(blockArray);
- #ifdef ULTRACOPIER_PLUGIN_DEBUG
- stat=Idle;
- #endif
- //mutex for stream this data
- if(lastGoodPosition==0)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"["+std::to_string(id)+"] emit writeIsStarted()");
- emit writeIsStarted();
- }
- if(stopIt)
- return;
- if(file.error()!=QFile::NoError)
- {
- ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"["+std::to_string(id)+"] "+QStringLiteral("Error in writing: %1 (%2)").arg(file.errorString()).arg(file.error()).toStdString());
- errorString_internal=QStringLiteral("Error in writing: %1 (%2)").arg(file.errorString()).arg(file.error()).toStdString();
- stopIt=true;
- emit error();
- 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();
- stopIt=true;
- emit error();
- return;
- }
- lastGoodPosition+=bytesWriten;
- } while(sequential);
-}
diff --git a/plugins/Languages/README.md b/plugins/Languages/README.md
index fcb1971..fcb1971 100644..100755
--- a/plugins/Languages/README.md
+++ b/plugins/Languages/README.md
diff --git a/plugins/Languages/ar/flag.png b/plugins/Languages/ar/flag.png
index 538c4f9..538c4f9 100644..100755
--- a/plugins/Languages/ar/flag.png
+++ b/plugins/Languages/ar/flag.png
Binary files differ
diff --git a/plugins/Languages/ar/informations.xml b/plugins/Languages/ar/informations.xml
index 6879db6..e259ae8 100644
--- a/plugins/Languages/ar/informations.xml
+++ b/plugins/Languages/ar/informations.xml
@@ -4,7 +4,7 @@
<!-- What kind of plugin this is -->
<category>Languages</category>
<!-- Who wrote this plugin -->
- <author><![CDATA[BRULE Herman, alpha_one_x86 (alpha_one_x86@first-world.info)]]></author>
+ <author><![CDATA[BRULE Herman, alpha_one_x86 (alpha_one_x86@first-world.info), lculator zaloom <lalalogitech@hotmail.com>]]></author>
<!-- URL of page or site for this plugin (may provide additional information, bug reports, feature requests). -->
<website xml:lang="en"><![CDATA[http://ultracopier-ar.first-world.info/]]></website><!-- not required -->
<!-- the date-time format should be in timestamps format -->
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to arabic. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>ar</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. -->
@@ -29,4 +29,4 @@
<!-- Short name, language ISO country code -->
<shortName><![CDATA[ar_AR]]></shortName>
</categorySpecific>
-</package> \ No newline at end of file
+</package>
diff --git a/plugins/Languages/ar/translation.qm b/plugins/Languages/ar/translation.qm
new file mode 100755
index 0000000..0910e40
--- /dev/null
+++ b/plugins/Languages/ar/translation.qm
Binary files differ
diff --git a/plugins/Languages/ar/translation.ts b/plugins/Languages/ar/translation.ts
index cb636cf..643ccaa 100644
--- a/plugins/Languages/ar/translation.ts
+++ b/plugins/Languages/ar/translation.ts
@@ -1,41 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1">
-<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
+<TS version="2.1" language="ar_JO">
<context>
<name>CliParser</name>
<message>
@@ -45,189 +10,174 @@
<location filename="../../../CliParser.cpp" line="109"/>
<location filename="../../../CliParser.cpp" line="194"/>
<source>Warning</source>
- <translation type="unfinished"></translation>
+ <translation>التحذير</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="86"/>
<source>Problem reading file, or file size is 0</source>
- <translation type="unfinished"></translation>
+ <translation>مشكلة في قراءة الملف ، أو حجم الملف هو 0</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="174"/>
<location filename="../../../CliParser.cpp" line="185"/>
<source>The arguments possible are:</source>
- <translation type="unfinished"></translation>
+ <translation>الحجج الممكنة هي:</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="176"/>
<location filename="../../../CliParser.cpp" line="187"/>
<source>To display the options</source>
- <translation type="unfinished"></translation>
+ <translation>لعرض الخيارات</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="177"/>
<location filename="../../../CliParser.cpp" line="188"/>
<source>To quit the other instances (if running)</source>
- <translation type="unfinished"></translation>
+ <translation>(لإنهاء المثيلات الأخرى (في حالة التشغيل</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="179"/>
<location filename="../../../CliParser.cpp" line="190"/>
<source>To copy sources to destination, separated by space. If destination is &quot;?&quot;, ultracopier will ask the user</source>
- <translation type="unfinished"></translation>
+ <translation>سوف يسأل المستخدم ultracopier لنسخ المصادر إلى الوجهة ، مفصولة بمسافة. إذا كانت الوجهة &quot;؟&quot; ،</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="180"/>
<location filename="../../../CliParser.cpp" line="191"/>
<source>To move sources to destination, separated by space. If destination is &quot;?&quot;, ultracopier will ask the user</source>
- <translation type="unfinished"></translation>
+ <translation>سوف يسأل المستخدم ultracopier لنقل المصادر إلى الوجهة ، مفصولة بمسافة. إذا كانت الوجهة &quot;؟&quot; ،</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="184"/>
<source>Command not valid</source>
- <translation type="unfinished"></translation>
+ <translation>الامر غير صالح</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="99"/>
<source>This file is not supported transfer list</source>
- <translation type="unfinished"></translation>
+ <translation>هذا الملف غير معتمد قائمة النقل</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="32"/>
<source>Ultracopier is already running, right click on its system tray icon (near the clock) to use it or just copy and paste</source>
- <translation type="unfinished"></translation>
+ <translation>Ultracopier تستخدمها أو مجرد نسخ ولصق قيد التشغيل بالفعل ، انقر فوق الزر الأيمن على أيقونة صينية النظام (بالقرب من الساعة)</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="34"/>
<source>Ultracopier is already running, view all notification area icons (near the clock), right click on its system tray icon to use it or just copy and paste</source>
- <translation type="unfinished"></translation>
+ <translation>قيد التشغيل بالفعل، عرض كل الايقونات في منطقه الاعلام (بالقرب من الساعة) ، انقر بزر الماوس الأيمن على ايقونة علبه نظامك لاستخدامه أو مجرد نسخ ولصق Ultracopier</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="109"/>
<source>Unable to open the transfer list file</source>
- <translation type="unfinished"></translation>
+ <translation>غير قادر على فتح ملف قائمه النقل</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="175"/>
<location filename="../../../CliParser.cpp" line="186"/>
<source>To display this help</source>
- <translation type="unfinished"></translation>
+ <translation>لعرض هذه التعليمات</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="178"/>
<location filename="../../../CliParser.cpp" line="189"/>
<source>Open transfer list</source>
- <translation type="unfinished"></translation>
+ <translation>فتح قائمه النقل</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="196"/>
<source>Help</source>
- <translation type="unfinished"></translation>
+ <translation>التعليمات</translation>
</message>
</context>
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الوجهه</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">اسال</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">تخطي</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">اعاده تسميه</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الكتابة فوق</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الكتابة فوق إذا كان أحدث</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
- <source>Ask</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
+ <source>Ask</source>
+ <translation type="unfinished">اسال</translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">تخطي</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">اعاده تسميه</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الكتابة فوق</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الكتابة فوق إذا كان أحدث</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,145 +261,145 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
- <translation type="unfinished"></translation>
+ <translation>التحذير</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
- <translation type="unfinished"></translation>
+ <translation>لا يمكن العثور على اي مشغل نسخ مع دعم النقل</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
- <translation type="unfinished"></translation>
+ <translation>لا يدعم محرك النسخ هذا النقل</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
- <translation type="unfinished"></translation>
+ <translation>لا يمكن العثور على اي محرك متوافق!</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
- <translation type="unfinished"></translation>
+ <translation>يتعذر العثور على اي محرك بهذا الاسم: %1</translation>
</message>
</context>
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation>الخطا</translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
- <translation type="unfinished"></translation>
+ <translation>حدث خطا اثناء استقبال قائمه النسخ/النقل %1</translation>
</message>
</context>
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation>الخطا</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
- <translation type="unfinished"></translation>
+ <translation>غير قادر على الحصول على مثيل محرك النسخ</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
- <translation type="unfinished"></translation>
+ <translation>اطار المجموعة</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
- <translation type="unfinished"></translation>
+ <translation>هل تريد تجميع التحويل مع نقل تشغيل فعلي اخر ؟</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
- <translation type="unfinished"></translation>
+ <translation>غير قادر علي الحصول على مثيل محرك</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
- <translation type="unfinished"></translation>
+ <translation>الوسيطة الخاصة بالوضع غير صالح</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
- <translation type="unfinished"></translation>
+ <translation>هل تريد النسخ ؟ إذا لا ، سيتم نقله.</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
- <translation type="unfinished"></translation>
+ <translation>غير قادر على تحميل الواجهة ، تم إحباط النسخ</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
- <translation type="unfinished"></translation>
+ <translation>غير قادر على تحميل مشغل النسخ ، تم إحباط النسخ</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
- <translation type="unfinished"></translation>
+ <translation>وضع النقل</translation>
</message>
</context>
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,270 +407,275 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
- <translation type="unfinished"></translation>
+ <translation>محرك النسخ</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
- <translation type="unfinished"></translation>
+ <translation>نسخ</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
- <translation type="unfinished"></translation>
+ <translation>نقل</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
- <translation type="unfinished"></translation>
+ <translation>مهلة</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
- <translation type="unfinished"></translation>
+ <translation>استئناف</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
- <translation type="unfinished"></translation>
+ <translation>تخطي</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
- <translation type="unfinished"></translation>
+ <translation>غير محدود</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
- <translation type="unfinished"></translation>
+ <translation>s</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
- <translation type="unfinished"></translation>
+ <translation>كبير جدا</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
- <translation type="unfinished"></translation>
+ <translation>ب</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
- <translation type="unfinished"></translation>
+ <translation>ك ب</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
- <translation type="unfinished"></translation>
+ <translation>م ب</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
- <translation type="unfinished"></translation>
+ <translation>ق ب</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
- <translation type="unfinished"></translation>
+ <translation>ت ب</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
- <translation type="unfinished"></translation>
+ <translation>PB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
- <translation type="unfinished"></translation>
+ <translation>EB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
- <translation type="unfinished"></translation>
+ <translation>ZB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
- <translation type="unfinished"></translation>
+ <translation>YB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
- <translation type="unfinished"></translation>
+ <translation>اقل من %10 ثواني</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
- <translation type="unfinished"></translation>
+ <translation>حوالي %10 ثواني متبقية</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
- <translation type="unfinished"></translation>
+ <translation>حوالي %1 دقيقه متبقية</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
- <translation type="unfinished"></translation>
+ <translation>حوالي %1 ساعة متبقية</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
- <translation type="unfinished"></translation>
+ <translation>نقل</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
- <translation type="unfinished"></translation>
+ <translation>بدء</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
- <translation type="unfinished"></translation>
+ <translation>مصدر</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
- <translation type="unfinished"></translation>
+ <translation>حجم</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
- <translation type="unfinished"></translation>
+ <translation>الوجهه</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
- <translation type="unfinished"></translation>
+ <translation>هروب</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
- <translation type="unfinished"></translation>
+ <translation>الهدف</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
- <translation type="unfinished"></translation>
+ <translation>الوقت المتبقي:</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
- <translation type="unfinished"></translation>
+ <translation>الادراج</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
- <translation type="unfinished"></translation>
+ <translation>النسخ</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
- <translation type="unfinished"></translation>
+ <translation>الادراج والنسخ</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation>المتبقيه:</translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
- <translation type="unfinished"></translation>
+ <translation>اسال</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
- <translation type="unfinished"></translation>
+ <translation>الكتابة فوق</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
+ <translation>الكتابة فوق إذا كان أحدث</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
- <translation type="unfinished"></translation>
+ <translation>الكتابة فوق إذا كانت تواريخ التعديل الاخيره مختلفه</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
- <translation type="unfinished"></translation>
+ <translation>اعاده تسميه</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
- <translation type="unfinished"></translation>
+ <translation>وضعت في نهاية القائمة</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
- <translation type="unfinished"></translation>
+ <translation>تحديد دليل المصدر</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
- <translation type="unfinished"></translation>
+ <translation>تحديد دليل الوجهة</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
- <translation type="unfinished"></translation>
+ <translation>خطا داخلي</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
- <translation type="unfinished"></translation>
+ <translation>تحديد ملف واحد أو أكثر للفتح</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
- <translation type="unfinished"></translation>
+ <translation>كافة الملفات</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
- <translation type="unfinished"></translation>
+ <translation>حفظ قائمه النقل</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
- <translation type="unfinished"></translation>
+ <translation>فتح قائمه النقل</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
- <translation type="unfinished"></translation>
+ <translation>قائمه النقل</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation>الخطا</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
+ <translation>غير معتمد علي هذا النظام الأساسي</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
- <translation type="unfinished"></translation>
+ <translation>اكتمل في %1</translation>
</message>
</context>
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الخطا</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الخطا</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الخطا</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,161 +896,156 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
- <translation type="unfinished"></translation>
+ <translation>حول Ultracopier</translation>
</message>
<message>
<location filename="../../../HelpDialog.ui" line="67"/>
<source>Based on Qt. Advanced utility to copy files under GPL3 license.
This version is compiled as version: %1.</source>
<extracomment>%1 will be replaced by a variable content (normal, debug, ...)</extracomment>
- <translation type="unfinished"></translation>
+ <translation>استنادا إلى الاداه المساعدة المتقدمة Qt لنسخ الملفات تحت ترخيص GPL3. يتم تجميع هذا الإصدار كاصدار: %1.</translation>
</message>
<message>
<location filename="../../../HelpDialog.ui" line="85"/>
<source>Platform: %1</source>
<extracomment>%1 will be replaced by the platform (windows, mac, linux, ...)</extracomment>
- <translation type="unfinished"></translation>
+ <translation>النظام الأساسي: %1</translation>
</message>
<message>
<location filename="../../../HelpDialog.ui" line="92"/>
<source>Author: BRULE Herman Jacques Roger (alpha_one_x86), company: &lt;a href=&quot;http://www.confiared.com/&quot;&gt;confiared&lt;/a&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>Author: BRULE Herman Jacques Roger (alpha_one_x86), company: &lt;a href=&quot;http://www.confiared.com/&quot;&gt;confiared&lt;/a&gt;</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
- <translation type="unfinished"></translation>
+ <translation>Qt حول</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
- <translation type="unfinished"></translation>
+ <translation>تحقق من التحديث</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
- <translation type="unfinished"></translation>
+ <translation>هل تحطم</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
- <translation type="unfinished"></translation>
+ <translation>حفظ تقرير الشوائب</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
+ <translation>اغلاق</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
- <translation type="unfinished"></translation>
+ <translation>For http://portableapps.com/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
- <translation type="unfinished"></translation>
+ <translation>المحمولة و الكل في نسخه واحده</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
- <translation type="unfinished"></translation>
+ <translation>النسخة المحمولة</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
- <translation type="unfinished"></translation>
+ <translation>الكل في إصدار واحد</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
- <translation type="unfinished"></translation>
+ <translation>الإصدار العادي</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
- <translation type="unfinished"></translation>
+ <translation>http://ultracopier.first-world.info/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
- <translation type="unfinished"></translation>
+ <translation>تم التحقق من التحديث...</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
- <translation type="unfinished"></translation>
+ <translation>التحديث: %1</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
- <translation type="unfinished"></translation>
+ <translation>لا يوجد تحديث</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
- <translation type="unfinished"></translation>
+ <translation>http://ultracopier.first-world.info/download.html</translation>
</message>
<message>
<location filename="../../../HelpDialog.ui" line="75"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;For more information see the website &lt;a href=&quot;%1&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0057ae;&quot;&gt;%1&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%1 will be remplaced by the website into the corresponding languages</extracomment>
- <translation type="unfinished"></translation>
+ <translation>&lt;a href=&quot;%1&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0057ae;&quot;&gt;%1&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;لمزيد من المعلومات راجع الموقع&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;</translation>
</message>
</context>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,14 +1061,14 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
- <translation type="unfinished"></translation>
+ <translation>التحذير</translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
- <translation type="unfinished"></translation>
+ <translation>المهلة اثناء أعاده إنشاء البيانات من العملاء المتصلين</translation>
</message>
</context>
<context>
@@ -1138,95 +1078,111 @@ This version is compiled as version: %1.</source>
<location filename="../../../LogThread.cpp" line="116"/>
<location filename="../../../LogThread.cpp" line="126"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation>الخطا</translation>
</message>
<message>
<location filename="../../../LogThread.cpp" line="107"/>
<source>Log file already open, error: %1</source>
- <translation type="unfinished"></translation>
+ <translation>ملف السجل مفتوح بالفعل ، خطا: %1</translation>
</message>
<message>
<location filename="../../../LogThread.cpp" line="116"/>
<location filename="../../../LogThread.cpp" line="126"/>
<source>Unable to open the log file, error: %1</source>
- <translation type="unfinished"></translation>
+ <translation>تعذر فتح ملف السجل ، الخطا: %1</translation>
</message>
</context>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
<message>
<location filename="../../../OSSpecific.ui" line="26"/>
<source>Warning</source>
- <translation type="unfinished"></translation>
+ <translation>التحذير</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation>كلاسيكي</translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation>حديث</translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
- <translation type="unfinished"></translation>
+ <translation>لا تظهر مرة أخرى</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
- <translation type="unfinished"></translation>
+ <translation>موافق</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
- <translation type="unfinished"></translation>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <translation>ما عليك القيام به نسخة / نقل يدويا.&lt;br /&gt;اطلب من مطور مدير ملفاتك دعمه.&lt;br /&gt;(Dolphin, Nautilus, ...) لا يدعم مدير الملفات استبدال نظام النسخ/النقل الافتراضي.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
- <translation type="unfinished"></translation>
+ <translation>أعد تشغيل النظام إذا كان قد سبق تثبيت برنامج مماثل (مثل Teracopy أو Supercopier أو إصدار سابق من Ultracopier).</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
- <translation type="unfinished"></translation>
+ <translation>ما عليك القيام بنسخ / نقل يدويا عن طريق النقر بزر الماوس الأيمن على أيقونة صينية النظام بالقرب من الساعة (وليس رمز الإرساء).Mac OS X.&lt;br /&gt; استبدال نظام النسخ / النقل الافتراضي غير مدعوم وممنوع من قبل الباحث عن..</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
- <translation type="unfinished"></translation>
+ <translation>ما عليك القيام به نسخ/نقل يدويا.&lt;br /&gt;اطلب من المطور دعمه.&lt;br /&gt;يجب ألا يكون استبدال نظام النسخ/النقل الافتراضي مدعوما بواسطة مدير الملفات.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
- <translation type="unfinished"></translation>
+ <translation>Ultracopier كما تم إهمالها ، تفضل Supercopier يعتبر</translation>
</message>
</context>
<context>
@@ -1235,302 +1191,325 @@ This version is compiled as version: %1.</source>
<location filename="../../../OptionDialog.ui" line="14"/>
<location filename="../../../OptionDialog.ui" line="60"/>
<source>Options</source>
- <translation type="unfinished"></translation>
+ <translation>الخيارات</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="65"/>
<source>General</source>
- <translation type="unfinished"></translation>
+ <translation>عام</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="70"/>
<source>Plugins</source>
- <translation type="unfinished"></translation>
+ <translation>الاضافات</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
- <translation type="unfinished"></translation>
+ <translation>محرك النسخ</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
- <translation type="unfinished"></translation>
+ <translatorcomment>المواضيع</translatorcomment>
+ <translation>المواضيع</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="106"/>
<source>Log</source>
- <translation type="unfinished"></translation>
+ <translation>سجل</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="231"/>
<source>Confirm to group the windows</source>
- <translation type="unfinished"></translation>
+ <translation>تأكيد لتجميع النوافذ</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="251"/>
<source>Check for updates</source>
- <translation type="unfinished"></translation>
+ <translation>التحقق من التحديثات</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="289"/>
<source>Portable (need restart)</source>
- <translation type="unfinished"></translation>
+ <translation>محمولة (تحتاج إلى إعادة التشغيل)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
- <translation type="unfinished"></translation>
+ <translation>الاسم</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
- <translation type="unfinished"></translation>
+ <translation>الإصدار</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
- <translation type="unfinished"></translation>
+ <translation>اللغة</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
- <translation type="unfinished"></translation>
+ <translation>مستمع</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
- <translation type="unfinished"></translation>
+ <translation>محمل المساعد</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
- <translation type="unfinished"></translation>
+ <translation>محمل الجلسة</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="126"/>
<source>Force the language</source>
- <translation type="unfinished"></translation>
+ <translation>إجبار اللغة</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="136"/>
<source>Replace the default copy and move system</source>
- <translation type="unfinished"></translation>
+ <translation>استبدال نظام النسخ والنقل الافتراضي</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="150"/>
<source>Load at the session loading</source>
- <translation type="unfinished"></translation>
+ <translation>تحميل في الجلسة التحميل</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="164"/>
<source>When manual open</source>
- <translation type="unfinished"></translation>
+ <translatorcomment>عندما يفتح يدوي</translatorcomment>
+ <translation>عند فتحة يدوي</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="190"/>
<source>Group the windows when</source>
- <translation type="unfinished"></translation>
+ <translation>مجموعة النوافذ عندما</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="241"/>
<source>Display the OS warning</source>
- <translation type="unfinished"></translation>
+ <translation>عرض تحذير نظام التشغيل</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="261"/>
<source>Remaining time algorithm</source>
- <translation type="unfinished"></translation>
+ <translation>خوارزمية الوقت المتبقي</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="269"/>
<source>Traditional</source>
- <translation type="unfinished"></translation>
+ <translatorcomment>تقليدي</translatorcomment>
+ <translation>التقليديه</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="274"/>
<source>Logarithmic</source>
+ <translation>لوغاريتمي</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation>finish.opus :الافتراضي</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation>الصوت عند الانتهاء</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
- <translation type="unfinished"></translation>
+ <translation>المساعد</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
- <translation type="unfinished"></translation>
+ <translation>اضافة</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
- <translation type="unfinished"></translation>
+ <translation>ازالة</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
- <translation type="unfinished"></translation>
+ <translation>المعلومات</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
- <translation type="unfinished"></translation>
+ <translation>محرك النسخ حسب ترتيب التفضيل:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
- <translation type="unfinished"></translation>
+ <translation>العميل متصل</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
- <translation type="unfinished"></translation>
+ <translatorcomment>المواضيع:</translatorcomment>
+ <translation>المواضيع:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
- <translation type="unfinished"></translation>
+ <translatorcomment>غير قادر على تحميل البرنامج المساعد للسمات</translatorcomment>
+ <translation>غير قادر على تحميل الموضوعات المساعد</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
- <translation type="unfinished"></translation>
+ <translation>استعراض</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
- <translation type="unfinished"></translation>
+ <translation>اكتب التحويلات</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>المتغيرات هي %الوقت%، %المصدر%، %الحجم%، %الوجهة%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
- <translation type="unfinished"></translation>
+ <translation>كتابة الأخطاء</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>المتغيرات هي %الوقت%، %المسار%، %الحجم%، %وقت تعديل%، %خطأ%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
- <translation type="unfinished"></translation>
+ <translation>اكتب ملف السجل في:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
- <translation type="unfinished"></translation>
+ <translation>الكتابة مباشرة إلى الملف عند تلقي إدخال جديد (يمكن أن تنتج 50٪ من فقدان الأداء)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
- <translation type="unfinished"></translation>
+ <translation>حمل</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
- <translation type="unfinished"></translation>
+ <translation>تحميل الموضوع؟</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
- <translation type="unfinished"></translation>
+ <translation>تحميل اللغة؟</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
- <translation type="unfinished"></translation>
+ <translation>لا تفعل شيئا</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
- <translation type="unfinished"></translation>
+ <translation>اسأل المصدر كمجلد</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
- <translation type="unfinished"></translation>
+ <translation>اسأل المصادر كملفات</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
- <translation type="unfinished"></translation>
+ <translation>أبدا</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
- <translation type="unfinished"></translation>
+ <translatorcomment>عندما يكون المصدر هو نفسه</translatorcomment>
+ <translation>عندما يكون المصدر هو نفسه</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
- <translation type="unfinished"></translation>
+ <translatorcomment>عندما الوجهة هي نفسها</translatorcomment>
+ <translation>عندما تكون الوجهة نفسها</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
- <translation type="unfinished"></translation>
+ <translatorcomment>عندما المصدر والوجهة هي نفسها</translatorcomment>
+ <translation>عندما تكون المصدر والوجهة هي نفسها</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
- <translation type="unfinished"></translation>
+ <translation>عندما المصدر أو الوجهة هي نفسها</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
- <translation type="unfinished"></translation>
+ <translation>دائما</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
- <translation type="unfinished"></translation>
+ <translation>%1 المتغيرات هي</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
- <translation type="unfinished"></translation>
+ <translation>حفظ السجلات باسم:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
- <translation type="unfinished"></translation>
+ <translation>سجل متزامن</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
- <translation type="unfinished"></translation>
+ <translation>لا يوجد خيار لهذا البرنامج المساعد</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
- <translation type="unfinished"></translation>
+ <translation>كتابة مجلد العمليات</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
- <translation type="unfinished"></translation>
+ <translation>المتغيرات هي %المسار%، %العملية%</translation>
</message>
</context>
<context>
@@ -1541,7 +1520,7 @@ This version is compiled as version: %1.</source>
<location filename="../../../OptionEngine.cpp" line="211"/>
<location filename="../../../OptionEngine.cpp" line="215"/>
<source>The variable was not found: %1 %2</source>
- <translation type="unfinished"></translation>
+ <translation>لم يتم العثور على المتغير: %1 %2</translation>
</message>
</context>
<context>
@@ -1567,87 +1546,87 @@ This version is compiled as version: %1.</source>
<message>
<location filename="../../../PluginInformation.ui" line="14"/>
<source>About this plugin</source>
- <translation type="unfinished"></translation>
+ <translation>حول هذا المكون المساعد</translation>
</message>
<message>
<location filename="../../../PluginInformation.ui" line="23"/>
<source>Name:</source>
- <translation type="unfinished"></translation>
+ <translation>الاسم:</translation>
</message>
<message>
<location filename="../../../PluginInformation.ui" line="37"/>
<source>Category:</source>
- <translation type="unfinished"></translation>
+ <translation>الفئه:</translation>
</message>
<message>
<location filename="../../../PluginInformation.ui" line="51"/>
<source>Author:</source>
- <translation type="unfinished"></translation>
+ <translation>المؤلف:</translation>
</message>
<message>
<location filename="../../../PluginInformation.ui" line="79"/>
<source>Date:</source>
- <translation type="unfinished"></translation>
+ <translation>تاريخ:</translation>
</message>
<message>
<location filename="../../../PluginInformation.ui" line="93"/>
<source>Description:</source>
- <translation type="unfinished"></translation>
+ <translation>وصف:</translation>
</message>
<message>
<location filename="../../../PluginInformation.ui" line="107"/>
<source>Version:</source>
- <translation type="unfinished"></translation>
+ <translation>الإصدار:</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="39"/>
<source>Copy engine</source>
- <translation type="unfinished"></translation>
+ <translation>محرك نسخ</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="41"/>
<source>Languages</source>
- <translation type="unfinished"></translation>
+ <translation>اللغات</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="43"/>
<source>Listener</source>
- <translation type="unfinished"></translation>
+ <translation>مستمع</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="45"/>
<source>Plugin loader</source>
- <translation type="unfinished"></translation>
+ <translation>محمل المساعد</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="47"/>
<source>Session loader</source>
- <translation type="unfinished"></translation>
+ <translation>محمل الجلسة</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="49"/>
<source>Themes</source>
- <translation type="unfinished"></translation>
+ <translation>المواضيع</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="52"/>
<source>Unknown</source>
- <translation type="unfinished"></translation>
+ <translation>مجهول</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="61"/>
<source>Information about %1</source>
- <translation type="unfinished"></translation>
+ <translation>معلومات حول %1</translation>
</message>
<message>
<location filename="../../../PluginInformation.ui" line="65"/>
<source>Website:</source>
- <translation type="unfinished"></translation>
+ <translation>الموقع:</translation>
</message>
<message>
<location filename="../../../PluginInformation.ui" line="121"/>
<source>Title:</source>
- <translation type="unfinished"></translation>
+ <translation>العنوان:</translation>
</message>
</context>
<context>
@@ -1655,140 +1634,140 @@ This version is compiled as version: %1.</source>
<message>
<location filename="../../../PluginsManager.cpp" line="225"/>
<source>informations.xml is not accessible</source>
- <translation type="unfinished"></translation>
+ <translation>المعلومات xml لا يمكن الوصول إلى </translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
- <translation type="unfinished"></translation>
+ <translation>التبعيات جزء غير صحيح</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
- <translation type="unfinished"></translation>
+ <translation>التبعيات %1 غير راضيه ، للمكون المساعد: %2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
- <translation type="unfinished"></translation>
+ <translation>أزاله %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation>الخطا</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
- <translation type="unfinished"></translation>
+ <translation>خطا اثناء أزاله المكون المساعد ، الرجاء التحقق من الحقوق الموجودة على المجلد: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
- <translation type="unfinished"></translation>
+ <translation>المعلومات</translation>
</message>
<message>
<location filename="../../../PluginsManager.cpp" line="257"/>
<source>%1, parse error at line %2, column %3: %4</source>
- <translation type="unfinished"></translation>
+ <translation>%1 ، خطا في التحليل في السطر %2 ، العمود %3: %4</translation>
</message>
<message>
<location filename="../../../PluginsManager.cpp" line="231"/>
<source>informations.xml not found for the plugin</source>
- <translation type="unfinished"></translation>
+ <translation>للمكون المساعد xml لم يتم العثور على المعلومات</translation>
</message>
<message>
<location filename="../../../PluginsManager.cpp" line="265"/>
<source>&quot;package&quot; root tag not found for the xml file</source>
- <translation type="unfinished"></translation>
+ <translation>xml &quot;حزمه &quot; علامة الجذر لم يتم العثور على ملف </translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
- <translation type="unfinished"></translation>
+ <translation>تم العثور على المساعد المكرر ، محمله بالفعل!</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
- <translation type="unfinished"></translation>
+ <translation>نص باللغة الانجليزيه مفقود في المعلومات. xml للعلامة: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
- <translation type="unfinished"></translation>
+ <translation>لم يعثر على العلامة: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
- <translation type="unfinished"></translation>
+ <translation>هل تريد بالتاكيد أزاله &quot;%1 &quot; في الإصدار %2 ؟</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
- <translation type="unfinished"></translation>
+ <translation>الاستيراد السابق قيد التقدم...</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
- <translation type="unfinished"></translation>
+ <translation>Ultracopier فتح مساعد</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <translation>Ultracopier plugin (*.urc)</translation>
+ </message>
+ <message>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
- <translation type="unfinished"></translation>
+ <translation>محمل المساعد</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
- <translation type="unfinished"></translation>
+ <translation>غير قادر على فتح المكون المساعد: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
- <translation type="unfinished"></translation>
+ <translation>غير قادر على تحميل محتوي المكون المساعد ، الرجاء التحقق منه: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
- <translation type="unfinished"></translation>
+ <translation>غير قادر على إنشاء مجلد لتثبيت المكون المساعد: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
- <translation type="unfinished"></translation>
+ <translation>غير قادر على إنشاء ملف لتثبيت المكون المساعد: %1 منذ: %2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
- <translation type="unfinished"></translation>
+ <translation>المجلد الذي له نفس الاسم موجود ، تخطي تثبيت المكون المساعد: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
- <translation type="unfinished"></translation>
+ <translation>غير قادر علي تحميل محتوي المكون المساعد ، يرجى التحقق من ذلك</translation>
</message>
</context>
<context>
@@ -1797,17 +1776,17 @@ since:%2</source>
<location filename="../../../ProductKey.ui" line="14"/>
<location filename="../../../ProductKey.ui" line="24"/>
<source>Product key</source>
- <translation type="unfinished"></translation>
+ <translation>مفتاح المنتج</translation>
</message>
<message>
<location filename="../../../ProductKey.cpp" line="56"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation>الخطا</translation>
</message>
<message>
<location filename="../../../ProductKey.cpp" line="56"/>
<source>Your product key was rejected.&lt;br /&gt;If you buy key, unmark check your spam and unmark the mail as spam&lt;br /&gt;If you have not buy your key, go to &lt;a href=&quot;https://shop.first-world.info/&quot;&gt;https://shop.first-world.info/&lt;/a&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>&lt;a href=&quot;https://shop.first-world.info/&quot;&gt;https://shop.first-world.info/&lt;/a&gt;إذا لم تشتري مفتاحك ، انتقل إلى &lt;br /&gt;إذا قمت بشراء المفتاح ، قم بإلغاء تحديد بريدك المزعج وإلغاء وضع علامة للبريد على انه غير مرغوب &lt;br /&gt;تم رفض مفتاح منتجك</translation>
</message>
</context>
<context>
@@ -1816,66 +1795,59 @@ since:%2</source>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="38"/>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="93"/>
<source>Memory allocation failed</source>
- <translation type="unfinished"></translation>
+ <translation>فشل تخصيص الذاكرة</translation>
</message>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="64"/>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="82"/>
<source>Write error</source>
- <translation type="unfinished"></translation>
+ <translation>خطا في الكتابة</translation>
</message>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="97"/>
<source>Memory usage limit reached</source>
- <translation type="unfinished"></translation>
+ <translation>تم الوصول إلى حد استخدام الذاكرة</translation>
</message>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="101"/>
<source>Not a .xz file</source>
- <translation type="unfinished"></translation>
+ <translation>ليس ملف. xz</translation>
</message>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="105"/>
<source>Unsupported options in the .xz headers</source>
- <translation type="unfinished"></translation>
+ <translation>الخيارات الغير مدعومة في العناوين xz الرأسية</translation>
</message>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="110"/>
<source>The file is corrupted</source>
- <translation type="unfinished"></translation>
+ <translation>تلف الملف</translation>
</message>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="114"/>
<source>Bug!</source>
- <translation type="unfinished"></translation>
+ <translation>شوائب!</translation>
</message>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="124"/>
<source>The input data is too short</source>
- <translation type="unfinished"></translation>
+ <translation>بيانات الإدخال قصيرة جدا</translation>
</message>
</context>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,267 +1855,240 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
- <translation type="unfinished"></translation>
+ <translation>لم يتم العثور علي وحده إصغاء للنسخ. قم بالنسخ يدويا بالنقر بزر الماوس الأيمن فوق أحد أيقونه علبه النظام.</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
- <translation type="unfinished"></translation>
+ <translation>المعلومات</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
- <translation type="unfinished"></translation>
+ <translation>البحث عن المعلومات...</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
- <translation type="unfinished"></translation>
+ <translation>لا تستبدل نسخ/تحريك المستكشف</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
- <translation type="unfinished"></translation>
+ <translation>نصف استبدال المستكشف نسخه/تحريك</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
- <translation type="unfinished"></translation>
+ <translation>استبدال نسخ/تحريك المستكشف</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
- <translation type="unfinished"></translation>
+ <translation>التحذير</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
- <translation type="unfinished"></translation>
+ <translation>الاجراء على رمز علبه الانظمه مجهول!</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;حول/تقرير التصحيح</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;حول</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;حفظ تقرير الشوائب</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;هروب</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;الخيارات</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;مفتاح المنتج</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
- <translation type="unfinished"></translation>
+ <translation>الإصدار الجديد: %1</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
- <translation type="unfinished"></translation>
+ <translation>انتقل إلى صفحه التنزيل:</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;أضافه نسخ/نقل</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;أضافه نسخ</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;أضافه نقل</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;أضافه تحريك</translation>
</message>
</context>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2121,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">نقل</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished">م ب</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">استعراض</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2365,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الخطا</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">حجم</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الوجهه</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2433,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">مصدر</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الوجهه</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">حجم</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الكتابة فوق إذا كان أحدث</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">حجم</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2587,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">مصدر</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الوجهه</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">تخطي</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2818,7 +2695,7 @@ since:%2</source>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="329"/>
<source>Transfer list</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">قائمه النقل</translation>
</message>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="352"/>
@@ -2879,7 +2756,7 @@ since:%2</source>
<location filename="../../Themes/Oxygen/interface.ui" line="663"/>
<location filename="../../Themes/Oxygen/interface.ui" line="732"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الخطا</translation>
</message>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="683"/>
@@ -2889,12 +2766,12 @@ since:%2</source>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="722"/>
<source>Source</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">مصدر</translation>
</message>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="727"/>
<source>Destination</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">الوجهه</translation>
</message>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="741"/>
diff --git a/plugins/Languages/de/informations.xml b/plugins/Languages/de/informations.xml
index e86acd0..383d74b 100644
--- a/plugins/Languages/de/informations.xml
+++ b/plugins/Languages/de/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to german. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>de</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/Languages/de/translation.qm b/plugins/Languages/de/translation.qm
new file mode 100755
index 0000000..86fa5d4
--- /dev/null
+++ b/plugins/Languages/de/translation.qm
Binary files differ
diff --git a/plugins/Languages/de/translation.ts b/plugins/Languages/de/translation.ts
index 1ccf680..557591d 100644
--- a/plugins/Languages/de/translation.ts
+++ b/plugins/Languages/de/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1" language="de" sourcelanguage="en">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished">Auf dieser Plattform nicht unterstützt</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -68,13 +33,13 @@
<location filename="../../../CliParser.cpp" line="179"/>
<location filename="../../../CliParser.cpp" line="190"/>
<source>To copy sources to destination, separated by space. If destination is &quot;?&quot;, ultracopier will ask the user</source>
- <translation type="unfinished"></translation>
+ <translation>Um die Quelle zum Ziel zu kopieren, getrennt durch ein Leerzeichen. Wenn das Ziel lautet &quot;?&quot;, wird Ultracopier den Benutzer fragen</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="180"/>
<location filename="../../../CliParser.cpp" line="191"/>
<source>To move sources to destination, separated by space. If destination is &quot;?&quot;, ultracopier will ask the user</source>
- <translation type="unfinished"></translation>
+ <translation>Um die Quelle zum Ziel zu verschieben, getrennt durch ein Leerzeichen. Wenn das Ziel lautet &quot;?&quot;, wird Ultracopier den Benutzer fragen</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="184"/>
@@ -85,17 +50,17 @@
<location filename="../../../CliParser.cpp" line="99"/>
<source>This file is not supported transfer list</source>
<translatorcomment>The original english text does not make sense.</translatorcomment>
- <translation>Diese Datei wird nicht unterstützt Transferliste</translation>
+ <translation>Diese Datei ist eine nicht unterstützt Transferliste</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="32"/>
<source>Ultracopier is already running, right click on its system tray icon (near the clock) to use it or just copy and paste</source>
- <translation type="unfinished"></translation>
+ <translation>Ultracopier läuft bereits, Rechtklick auf das TrayIcon um weitere Details zu sehen. Sie können aber auch gleich ohen Weiteres kopieren und verschieben</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="34"/>
<source>Ultracopier is already running, view all notification area icons (near the clock), right click on its system tray icon to use it or just copy and paste</source>
- <translation type="unfinished"></translation>
+ <translation>Ultracopier läuft bereits, Beachten Sie alle Benachrichtigungen, Rechtsklick auf das TrayIcon um mehr Details zu erhalten, oder Sie können auch einfach ohne Weiteres kopieren oder verschieben</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="109"/>
@@ -129,106 +94,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished">Ziel</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished">Fragen</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished">Überspringen</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished">Umbenennen</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished">Überschreiben</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Überschreiben, falls neuer</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -236,85 +186,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished">Fragen</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished">Überspringen</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished">Umbenennen</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished">Überschreiben</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Überschreiben, falls neuer</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -322,30 +262,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation>Warnung</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
- <translation type="unfinished"></translation>
+ <translation>Die Kopier-Engine mit Verschiebungsunterstützung wurde nicht gefunden</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
- <translation type="unfinished"></translation>
+ <translation>Diese Engine unterstützt kein Verschieben</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation>Finde keine kompatible Engine!</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation>Finde keine Engine mit diesem Namen: %1</translation>
</message>
@@ -353,12 +293,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation>Fehler während Empfang der Kopier/Verschieben-Liste
@@ -368,72 +308,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
- <translation>Bekomme keine Instanz der Kopier-Engine</translation>
+ <translation>Laden einer Instanz der Kopier-Engine nicht möglich</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
- <translation type="unfinished"></translation>
+ <translation>Fenster gruppieren</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
- <translation type="unfinished"></translation>
+ <translation>Wollen Sie den aktuellen Transfer mit einem anderen laufenden Transfer gruppieren?</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
- <translation>Bekomme keine Instanz der Engine</translation>
+ <translation>Laden einer Instanz der Engine nicht möglich</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation>Die Parameter sind in diesem Modus ungültig</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
- <translation>Möchten Sie kopieren? Wenn nicht, wird verschoben.</translation>
+ <translation>Möchten Sie kopieren? Wenn nicht, werden die Dateien verschoben.</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
- <translation>Konnte Oberfläche nicht laden. Kopiervorgang abgebrochen</translation>
+ <translation>Oberfläche konnte nicht geladen werden. Kopiervorgang abgebrochen</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
- <translation>Konnte Kopier-Engine nicht laden. Kopiervorgang abgebrochen</translation>
+ <translation>Kopier-Engine konnte nicht geladen werden. Kopiervorgang abgebrochen</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation>Transfermodus</translation>
</message>
@@ -441,27 +381,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -469,282 +409,287 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation>Kopier-Engine</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation>Kopieren</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation>Verschieben</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation>Pause</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation>Fortsetzen</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation>Überspringen</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation>Unbegrenzt</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translatorcomment>seconds?</translatorcomment>
<translation>s</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation>Zu groß</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translatorcomment>Byte?</translatorcomment>
<translation>B</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translatorcomment>Kilobyte</translatorcomment>
<translation>KB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translatorcomment>Megabyte</translatorcomment>
<translation>MB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translatorcomment>Gigabyte</translatorcomment>
<translation>GB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translatorcomment>Terrabyte</translatorcomment>
<translation>TB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translatorcomment>Petabyte</translatorcomment>
<translation>PB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translatorcomment>Etabyte</translatorcomment>
<translation>EB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translatorcomment>Zetabyte</translatorcomment>
<translation>ZB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translatorcomment>Yotabyte</translatorcomment>
<translation>YB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation>Weniger als %10 Sekunden</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation>Ungefähr noch %10 Sekunden</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation>Ungefähr noch %1 Minuten</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation>Ungefähr noch %1 Stunden</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translatorcomment>evtl. &quot;Datenübertragung&quot;, aber ich denke &quot;Transfer&quot; ist hier besser</translatorcomment>
<translation>Transfer</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation>Start</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation>Quelle</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation>Größe</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation>Ziel</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation>Beenden</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation>Ziel</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation>Verbleibende Zeit:</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation>Auflistung</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
- <translation>Kopieren</translation>
+ <translation>Kopiere</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translatorcomment>not sure... depends on context</translatorcomment>
<translation>Auflistung und Kopiervorgang</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation>Verbleibend:</translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation>Fragen</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation>Überschreiben</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation>Überschreiben, falls neuer</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
- <translation>Überschreiben, falls die letzten Änderungsdaten unterschiedlich sind</translation>
+ <translation>Überschreiben, falls letztes Änderungsdatum unterschiedlich ist</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation>Umbenennen</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation>Ans Ende der Liste verschieben</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation>Fertig in %1</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation>Wählen Sie das Quellverzeichnis</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation>Wählen Sie das Zielverzeichnis</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation>Interner Fehler</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation>Wählen Sie eine oder mehrere Dateien zum Öffnen</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation>Alle Dateien</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation>Transferliste speichern</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation>Transferliste öffnen</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation>Transferliste</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
- <translation>Auf dieser Plattform nicht unterstützt</translation>
+ <translation>Wird auf dieser Plattform nicht unterstützt</translation>
</message>
</context>
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -752,22 +697,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -775,22 +720,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -798,77 +743,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -876,60 +821,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -937,27 +882,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -965,7 +910,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation>Über Ultracopier</translation>
</message>
@@ -974,7 +919,7 @@
<source>Based on Qt. Advanced utility to copy files under GPL3 license.
This version is compiled as version: %1.</source>
<extracomment>%1 will be replaced by a variable content (normal, debug, ...)</extracomment>
- <translation>Basiert auf Qt. Erweitertes Tool um Dateien zu kopieren (Lizenz: GPLv3).
+ <translation>Basiert auf Qt. Fortgeschrittenes Tool um Dateien zu kopieren (Lizenz: GPLv3).
Diese Version wurde kompiliert als Version: %1.</translation>
</message>
<message>
@@ -986,86 +931,81 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<message>
<location filename="../../../HelpDialog.ui" line="92"/>
<source>Author: BRULE Herman Jacques Roger (alpha_one_x86), company: &lt;a href=&quot;http://www.confiared.com/&quot;&gt;confiared&lt;/a&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>Autor: BRULE Herman Jacques Roger (alpha_one_x86), Unternehmen: &lt;a href=&quot;http://www.confiared.com/&quot;&gt;confiared&lt;/a&gt;</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation>Über Qt</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
- <translation type="unfinished"></translation>
+ <translation>Überprüfe auf Updates</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translatorcomment>Clumsy... depends on context</translatorcomment>
<translation>Absturz ausführen</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation>Fehlerbericht speichern</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation>Schließen</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation>Zu http://portableapps.com/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation>Portable und &quot;Alles-in-Einem&quot; Version</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation>Portable Version</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation>&quot;Alles-in-Einem&quot; Version</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation>Normale Version</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation>http://ultracopier-de.first-world.info/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
- <translation type="unfinished"></translation>
+ <translation>Überprüfe Updates...</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Update: %1</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
- <translation type="unfinished"></translation>
+ <translation>Kein Update verfügbar</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation>http://ultracopier.first-world.info/download.html</translation>
</message>
@@ -1079,49 +1019,49 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1137,14 +1077,14 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation>Warnung</translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
- <translation>Timeout beim Zusammenfügen der Daten von verbundenen Clients</translation>
+ <translation>Zeitüberschreitung beim Zusammenfügen der Daten von verbundenen Clients</translation>
</message>
</context>
<context>
@@ -1171,36 +1111,42 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1210,39 +1156,49 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<translation>Warnung</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation>Klassisch</translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation>Modern</translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation>Nicht mehr anzeigen</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation>OK</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
- <translation>Das Ersetzen des Standard Kopier/Verschieben-Systems wird von diesem Datei-Manager nicht unterstützt.&lt;br /&gt;Bitten Sie die Entwickler darum es zu supporten. &lt;br /&gt;Sie müssen das Kopieren/Verschieben daher manuell durchführen.</translation>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <translation>Das Ersetzen des Standard Kopiersystems wird von diesem File-Manager nicht unterstützt (Dolphin, Nautilus, ...).&lt;br /&gt;Bitten Sie die Entwickler um Hilfe. &lt;br /&gt;Sie müssen den Vorgang bis dahin bitte manuell durchführen.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
- <translation>System neustarten, Falls vorher ähnliche Software instaliert war (wie Teracopy, Supercopier oder ältere Version von Ultracopier).</translation>
+ <translation>Starten Sie das System bitte neu falls vorher eine ähnliche Software instaliert war (Teracopy, Supercopier oder ältere Version von Ultracopier).</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
- <translation>Das Ersetzen des Standard Kopier/Verschieben-Systems wird vom Mac OS X Finder nicht unterstützt und somit verhindert.&lt;br /&gt;Sie müssen das Kopieren/Verschieben daher manuell durchführen.</translation>
+ <translation>Das Ersetzen des Standard Kopiersystems wird vom Mac OS X Finder nicht unterstützt und somit verhindert.&lt;br /&gt;Sie müssen den Vorgang bis dahin bitte manuell durchführen.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
- <translation>Das Ersetzen des Standard Kopier/Verschieben-Systems wird von diesem File-Manager nicht unterstützt.&lt;br /&gt;Bitten Sie die Entwickler darum es zu supporten. &lt;br /&gt;Sie müssen das Kopieren/Verschieben daher manuell durchführen.</translation>
+ <translation>Das Ersetzen des Standard Kopiersystems wird von diesem File-Manager nicht unterstützt.&lt;br /&gt;Bitten Sie die Entwickler um Hilfe. &lt;br /&gt;Sie müssen den Vorgang bis dahin bitte manuell durchführen.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
- <translation type="unfinished"></translation>
+ <translation>Supercopier ist die veraltete Lösung, bevorzugen Sie Ultracopier</translation>
</message>
</context>
<context>
@@ -1265,16 +1221,16 @@ Diese Version wurde kompiliert als Version: %1.</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation>Kopier-Engine</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
- <translation>Themes</translation>
+ <translation>Design</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="106"/>
@@ -1289,53 +1245,53 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<message>
<location filename="../../../OptionDialog.ui" line="251"/>
<source>Check for updates</source>
- <translation>Nach Updates suchen</translation>
+ <translation>Automatisch nach Updates suchen</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="289"/>
<source>Portable (need restart)</source>
- <translation type="unfinished"></translation>
+ <translation>Portabel machen (Benötigt Neustart)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation>Version</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation>Sprache</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation>Listener</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation>Plugin loader</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation>Session loader</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="126"/>
<source>Force the language</source>
- <translation>Sprache wählen</translation>
+ <translation>Sprache vorgeben</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="136"/>
@@ -1345,7 +1301,7 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<message>
<location filename="../../../OptionDialog.ui" line="150"/>
<source>Load at the session loading</source>
- <translation>Mit OS laden</translation>
+ <translation>Mit Betriebssystem laden</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="164"/>
@@ -1355,195 +1311,210 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<message>
<location filename="../../../OptionDialog.ui" line="190"/>
<source>Group the windows when</source>
- <translation>Fenster gruppieren</translation>
+ <translation>Fenster gruppieren wenn</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="241"/>
<source>Display the OS warning</source>
- <translation>OS Warnungen anzeigen</translation>
+ <translation>Betriebssytem Warnungen anzeigen</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="261"/>
<source>Remaining time algorithm</source>
- <translation type="unfinished"></translation>
+ <translation>Algorithmus für verbleibende Zeit</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="269"/>
<source>Traditional</source>
- <translation type="unfinished"></translation>
+ <translation>Traditionell</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="274"/>
<source>Logarithmic</source>
+ <translation>Logarithmisch</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation>Standard: finish.opus</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation>Tonausgabe wenn fertig</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation>Plugin</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation>Hinzufügen</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation>Entfernen</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation>Information</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
- <translation>Kopier-Engine in Reihenfolge ihrer Präferenz:</translation>
+ <translation>Kopier-Engine in Reihenfolge Ihrer Präferenz:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation>Client verbunden</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
- <translation>Themes:</translation>
+ <translation>Desings:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
- <translation>Konnte das Themes-Plugin nicht laden</translation>
+ <translation>Konnte das Design-Plugin nicht laden</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation>Durchsuchen</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation>Die Variablen sind %time%, %source%, %size%, %destination%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation>Die Variablen sind %time%, %path%, %size%, %mtime%, %error%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation>Log in folgende Datei schreiben:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation>Schreibe direkt in die Datei, wenn ein neuer Eintrag erreicht wird (50% Leistungsverlust möglich)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation>Laden</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
- <translation>Theme laden?</translation>
+ <translation>Dieses Theme laden?</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
- <translation>Sprache laden?</translation>
+ <translation>Diese Sprache laden?</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
- <translation>Nichts tun</translation>
+ <translation>Nichts unternehmen</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation>Nach Quell-Ordner fragen</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation>Nach Quell-Datei fragen</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation>Nie</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation>Falls Quelle gleich ist</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation>Falls Ziel gleich ist</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation>Falls Quelle und Ziel gleich sind</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation>Falls Quelle oder Ziel gleich sind</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation>Immer</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation>Die Variablen sind %1</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation>Protokolle speichern als: </translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation>Synchronisiertes Protokoll</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation>Keine Option für dieses Plugin</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
- <translation>Protokolliere Transfers:</translation>
+ <translation>Protokolliere Transfers</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation>Protokolliere Fehler:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
- <translation>Protokolliere Ordner-Operationen:</translation>
+ <translation>Protokolliere Ordner-Operationen</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation>Die Variablen sind %path% %operation%</translation>
@@ -1643,12 +1614,12 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<message>
<location filename="../../../PluginInformation.cpp" line="49"/>
<source>Themes</source>
- <translation>Themes</translation>
+ <translation>Designs</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="52"/>
<source>Unknown</source>
- <translation type="unfinished"></translation>
+ <translation>Unbekannt</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="61"/>
@@ -1674,36 +1645,37 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<translation>Auf &quot;informations.xml&quot; kann nicht zugegriffen werden</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translatorcomment>clumsy.</translatorcomment>
<translation>Abhängigkeiten-Teil ist falsch</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation>Die Abhängigkeiten &quot;%1&quot; sind nicht erfüllt für Plugin:%2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation>Entferne %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
- <translation type="unfinished"></translation>
+ <translation>Fehler beim Entfernen des Plugins, bitte überprüfen Sie die nötigen Rechte für den Ordner:
+%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
- <translation>Information</translation>
+ <translation>Informationen</translation>
</message>
<message>
<location filename="../../../PluginsManager.cpp" line="257"/>
@@ -1721,75 +1693,75 @@ Diese Version wurde kompiliert als Version: %1.</translation>
<translation>&quot;package&quot; Root-Tag für die XML-Datei nicht gefunden</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation>Plugin-Duplikat gefunden. Bereits geladen!</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation>Englischer Text fehlt in &quot;informations.xml&quot; für das Tag: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation>XML-Tag nicht gefunden: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation>Sind Sie sicher, dass Sie &quot;%1&quot; in der Version %2 entfernen wollen?</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation>Vorheriger Import wird durchgeführt...</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation>Ultracopier Plugin öffnen</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation>Ultracopier plugin (*.urc)</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation>Plugin-Loader</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation>Kann das Plugin nicht öffnen: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
- <translation>Kann Plugin-Inhalte nicht laden. Bitte überprüfen Sie das: %1</translation>
+ <translation>Kann Plugin-Inhalte nicht laden. Bitte überprüfen: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation>Kann keinen Ordner erstellen um das Plugin %1 zu installieren
</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
@@ -1798,18 +1770,18 @@ since:%2</source>
seit: %2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation>Ordner mit demselben Namen existiert bereits. Überspringen Sie die Plugin-Installation:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
- <translation>Kann Plugin-Inhalte nicht laden. Bitte überprüfen Sie das</translation>
+ <translation>Kann Plugin-Inhalte nicht laden. Bitte überprüfen</translation>
</message>
</context>
<context>
@@ -1818,17 +1790,17 @@ seit: %2</translation>
<location filename="../../../ProductKey.ui" line="14"/>
<location filename="../../../ProductKey.ui" line="24"/>
<source>Product key</source>
- <translation type="unfinished"></translation>
+ <translation>Produktschlüssel</translation>
</message>
<message>
<location filename="../../../ProductKey.cpp" line="56"/>
<source>Error</source>
- <translation type="unfinished">Fehler</translation>
+ <translation>Fehler</translation>
</message>
<message>
<location filename="../../../ProductKey.cpp" line="56"/>
<source>Your product key was rejected.&lt;br /&gt;If you buy key, unmark check your spam and unmark the mail as spam&lt;br /&gt;If you have not buy your key, go to &lt;a href=&quot;https://shop.first-world.info/&quot;&gt;https://shop.first-world.info/&lt;/a&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>Ihr Produktschlüssel wurde verweigert. &lt;br /&gt; Wenn Sie einen Schlüssel gekauft haben, überprüfen Sie auch Ihren Spam-Ordner. &lt;br /&gt;Wenn Sie noch keinen Schlüssel erworben haben gehen Sie bitte auf &lt;a href=&quot;https://shop.first-world.info/&quot;&gt;https://shop.first-world.info/&lt;/a&gt;</translation>
</message>
</context>
<context>
@@ -1848,7 +1820,7 @@ seit: %2</translation>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="97"/>
<source>Memory usage limit reached</source>
- <translation>Grenze des Speicherverbrauchs erreicht</translation>
+ <translation>Grenze des verbauten Arbeitsspeicher erreicht</translation>
</message>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="101"/>
@@ -1868,7 +1840,7 @@ seit: %2</translation>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="114"/>
<source>Bug!</source>
- <translation>Bug!</translation>
+ <translation>Fehler!</translation>
</message>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="124"/>
@@ -1879,24 +1851,17 @@ seit: %2</translation>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1904,267 +1869,240 @@ seit: %2</translation>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
- <translation type="unfinished">Keine Kopie-Listener gefunden. Führen Sie die Kopie manuell durch Rechtsklick auf das Symbol im Systray aus.</translation>
+ <translation>Keine Kopie-Listener gefunden. Führen Sie die Kopie manuell durch Rechtsklick auf das Symbol im Systray aus.</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
- <translation type="unfinished">Information</translation>
+ <translation>Informationen</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
- <translation type="unfinished">Suche Informationen ...</translation>
+ <translation>Suche Informationen ...</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
- <translation type="unfinished">Explorer:-Kopieren/Verschieben nicht ersetzen</translation>
+ <translation>Explorer: Kopieren/Verschieben nicht ersetzen</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
- <translation type="unfinished">Explorer: Kopieren/Verschieben teilweise ersetzen</translation>
+ <translation>Explorer: Kopieren/Verschieben teilweise ersetzen</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
- <translation type="unfinished">Explorer:-Kopieren/Verschieben ersetzen</translation>
+ <translation>Explorer: Kopieren/Verschieben ersetzen</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
- <translation type="unfinished">Warnung</translation>
+ <translation>Warnung</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
- <translation type="unfinished"></translation>
+ <translation>Diese Aktion auf dem TrayIcon ist unbekannt!</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Über/Debug Report</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Über</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Speicher Fehlerbericht</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Beenden</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Optionen</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Produktschlüssel</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Neue Version: %1</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
- <translation type="unfinished"></translation>
+ <translation>Zur Downloadseite gehen:</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Neuer Kopiervorgang</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Kopie</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Übertragung</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Verschieben</translation>
</message>
</context>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2197,323 +2135,243 @@ seit: %2</translation>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished">Transfer</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished">KB</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished">MB</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished">Durchsuchen</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2521,67 +2379,67 @@ seit: %2</translation>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished">Größe</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished">Ziel</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2589,141 +2447,153 @@ seit: %2</translation>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished">Quelle</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished">Ziel</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished">Größe</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Überschreiben, falls neuer</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished">Größe</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2731,65 +2601,65 @@ seit: %2</translation>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished">Quelle</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished">Ziel</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished">Überspringen</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/el/flag.png b/plugins/Languages/el/flag.png
index cd96374..cd96374 100644..100755
--- a/plugins/Languages/el/flag.png
+++ b/plugins/Languages/el/flag.png
Binary files differ
diff --git a/plugins/Languages/el/informations.xml b/plugins/Languages/el/informations.xml
index 0f39ddc..dd51884 100644..100755
--- a/plugins/Languages/el/informations.xml
+++ b/plugins/Languages/el/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to greek. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>el</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/Languages/el/translation.qm b/plugins/Languages/el/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Languages/el/translation.qm
Binary files differ
diff --git a/plugins/Languages/el/translation.ts b/plugins/Languages/el/translation.ts
index cb636cf..b64f48b 100644..100755
--- a/plugins/Languages/el/translation.ts
+++ b/plugins/Languages/el/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -974,82 +919,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1281,38 +1237,38 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1362,172 +1318,187 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/en/translation.qm b/plugins/Languages/en/translation.qm
new file mode 100755
index 0000000..8b13789
--- /dev/null
+++ b/plugins/Languages/en/translation.qm
@@ -0,0 +1 @@
+
diff --git a/plugins/Languages/es/flag.png b/plugins/Languages/es/flag.png
index 4cb4c0a..4cb4c0a 100644..100755
--- a/plugins/Languages/es/flag.png
+++ b/plugins/Languages/es/flag.png
Binary files differ
diff --git a/plugins/Languages/es/informations.xml b/plugins/Languages/es/informations.xml
index 872a4d7..c8b3e95 100644..100755
--- a/plugins/Languages/es/informations.xml
+++ b/plugins/Languages/es/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to spanish. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>es</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/Languages/es/translation.qm b/plugins/Languages/es/translation.qm
new file mode 100755
index 0000000..63d590d
--- /dev/null
+++ b/plugins/Languages/es/translation.qm
Binary files differ
diff --git a/plugins/Languages/es/translation.ts b/plugins/Languages/es/translation.ts
index 89830e4..13e33f3 100644..100755
--- a/plugins/Languages/es/translation.ts
+++ b/plugins/Languages/es/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1" language="es">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished">No es compatible con esta plataforma</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -89,12 +54,12 @@
<message>
<location filename="../../../CliParser.cpp" line="32"/>
<source>Ultracopier is already running, right click on its system tray icon (near the clock) to use it or just copy and paste</source>
- <translation type="unfinished"></translation>
+ <translation>Ultracopier ya se está ejecutando, haga clic derecho en el icono de la bandeja del sistema (cerca del reloj) para usarlo o simplemente copie y pegue</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="34"/>
<source>Ultracopier is already running, view all notification area icons (near the clock), right click on its system tray icon to use it or just copy and paste</source>
- <translation type="unfinished"></translation>
+ <translation>Ultracopier ya se está ejecutando, vea todos los íconos del área de notificación (cerca del reloj), haga clic derecho en el ícono de la bandeja del sistema para usarlo o simplemente copie y pegue</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="109"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished">Destino</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished">Pedir</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished">Salto</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished">Cambiar el nombre</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished">Sobrescribir</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Sobrescribir si nuevo</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished">Pedir</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished">Salto</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished">Cambiar el nombre</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished">Sobrescribir</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Sobrescribir si nuevo</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,31 +261,31 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation>Advertencia</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation>No se puede encontrar ningún motor de copia con soporte de movimiento</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation>
Este motor de copia no soporta mover</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation>No se puede encontrar un motor compatible!</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation>No se puede encontrar un motor con este nombre: %1</translation>
</message>
@@ -353,12 +293,12 @@ Este motor de copia no soporta mover</translation>
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation>Error durante la recepción de la lista de copia / movimiento
@@ -368,72 +308,72 @@ Este motor de copia no soporta mover</translation>
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation>No se puede obtener una instancia de motor de copia</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation>Ventana en grupo</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation>¿Quieres agrupar la transferencia con otra transferencia real en ejecución?</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation>No se puede obtener una instancia del motor</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation>El argumento para el modo no es válida</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation>¿Quieres copiar? Si no, se puede mover.</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation>No se puede cargar la interfaz, copia abortados</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation>No se puede cargar el motor de copia, copia abortados</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation>Modo de transferencia</translation>
</message>
@@ -441,27 +381,27 @@ Este motor de copia no soporta mover</translation>
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -469,257 +409,262 @@ Este motor de copia no soporta mover</translation>
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation>Motor de copia</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation>Copia</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation>Movimiento</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation>Pausa</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation>Resumen</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation>Salto</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation>Ilimitado</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation>Demasiado grande</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation>B</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation>GB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation>TB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation>PB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation>EB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation>ZB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation>YB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation>Menos de %10 segundos</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation>Alrededor de %10 segundos restantes</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation>Alrededor de %1 minutos restantes</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation>Alrededor de %1 las horas restantes</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation>Transferencia</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation>Iniciar</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation>Origen</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation>Tamaño</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation>Destino</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation>Abandonar</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation>Objetivo</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation>Tiempo restante:</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation>Listado</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation>Copia</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation>Listado y copia</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation>Restante:</translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation>Pedir</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation>Sobrescribir</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation>Sobrescribir si nuevo</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation>Sobrescribir si las fechas de modificación últimos son diferentes</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation>Cambiar el nombre</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation>Ponga al final de la lista</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation>Terminado en %1</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation>Seleccione el directorio de origen</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation>Seleccione el directorio de destino</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation>Error interno</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation>Seleccione uno o varios archivos para abrirlos</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation>Todos los archivos</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation>Guardar lista de transferencias</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation>Abrir lista de transferencias</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation>Lista de transferencia</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation>No es compatible con esta plataforma</translation>
</message>
@@ -727,12 +672,12 @@ Este motor de copia no soporta mover</translation>
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -740,22 +685,22 @@ Este motor de copia no soporta mover</translation>
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -763,22 +708,22 @@ Este motor de copia no soporta mover</translation>
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -786,77 +731,77 @@ Este motor de copia no soporta mover</translation>
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -864,60 +809,60 @@ Este motor de copia no soporta mover</translation>
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -925,27 +870,27 @@ Este motor de copia no soporta mover</translation>
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -953,7 +898,7 @@ Este motor de copia no soporta mover</translation>
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation>Acerca Ultracopier</translation>
</message>
@@ -974,85 +919,80 @@ Esta versión está compilada en versión:%1.</translation>
<message>
<location filename="../../../HelpDialog.ui" line="92"/>
<source>Author: BRULE Herman Jacques Roger (alpha_one_x86), company: &lt;a href=&quot;http://www.confiared.com/&quot;&gt;confiared&lt;/a&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>Autor: BRULE Herman Jacques Roger (alpha_one_x86), empresa: &lt;a href=&quot;http://www.confiared.com/es/&quot;&gt;Confiared&lt;/a&gt;</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation>Acerca de Qt</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
- <translation type="unfinished"></translation>
+ <translation>Compruebar la actualización</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation>Hacer a crash</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation>Guardar informe de error</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation>Cerrar</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation>Para http://portableapps.com/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation>Portable y todo en una versión</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation>Version portable</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation>Todo en una sola versión</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation>Version normal</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation>http://ultracopier-es.first-world.info/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
- <translation type="unfinished"></translation>
+ <translation>Comprobación de actualización ...</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Actualización: %1</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
- <translation type="unfinished"></translation>
+ <translation>Ninguna actualización</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation>http://ultracopier-es.first-world.info/descarga.html</translation>
</message>
@@ -1066,49 +1006,49 @@ Esta versión está compilada en versión:%1.</translation>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1124,12 +1064,12 @@ Esta versión está compilada en versión:%1.</translation>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation>Advertencia</translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation>Tiempo de espera, mientras que la recomposición de datos de los clientes conectados</translation>
</message>
@@ -1158,36 +1098,42 @@ Esta versión está compilada en versión:%1.</translation>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1197,39 +1143,49 @@ Esta versión está compilada en versión:%1.</translation>
<translation>Advertencia</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation>Clásico</translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation>Moderno</translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation>No mostrar de nuevo</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation>Ok</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
- <translation>La sustitución de la copia default / sistema de movimiento no está soportado por el gestor de archivos (Dolphin, Nautilus, ...). &lt;br /&gt; Pregunte al desarrollador para apoyarlo. &lt;br /&gt; Es necesario hacer el copiar / mover manualmente.</translation>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <translation>El administrador de archivos no admite la sustitución del sistema de copia / movimiento predeterminado (Dolphin, Nautilus, ...). &lt;br /&gt; Solicite al desarrollador de su administrador de archivos que lo admita. &lt;br /&gt;Debe hacer la copia/mover manualmente.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation>Reinicie el sistema si previamente se había instalado software similar (como TeraCopy, SuperCopier o una versión anterior de Ultracopier).</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation>La sustitución de la copia default / sistema de movimiento no se admite y bloquea buscador de Mac OS X. &lt;br /&gt; Es necesario hacer el copiar / mover manualmente haciendo clic derecho sobre el icono de la bandeja del sistema, cerca del reloj (no el icono del Dock).</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation>La sustitución de incumplimiento de copiar / mover sistema no debe ser soportado por el gestor de archivos. &lt;br /&gt; Pregunte al desarrollador para apoyarlo. &lt;br /&gt; Usted necesita hacer el copiar / mover manualmente.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
- <translation type="unfinished"></translation>
+ <translation>Considere Supercopier como obsoleto, prefiera Ultracopier</translation>
</message>
</context>
<context>
@@ -1252,14 +1208,14 @@ Esta versión está compilada en versión:%1.</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation>Motor de copia</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation>Themas</translation>
</message>
@@ -1281,41 +1237,41 @@ Esta versión está compilada en versión:%1.</translation>
<message>
<location filename="../../../OptionDialog.ui" line="289"/>
<source>Portable (need restart)</source>
- <translation type="unfinished"></translation>
+ <translation>Portátil (necesita reiniciar)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation>Nombre</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation>Version</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation>Lenguaje</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation>Oyente</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation>Plugin cargador</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation>Sesión cargador</translation>
</message>
@@ -1365,172 +1321,187 @@ Esta versión está compilada en versión:%1.</translation>
<translation>Logarítmica</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation>valor predeterminado: finish.opus</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation>Sonido cuando termine</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation>Plugin</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation>Añadir</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation>Eliminar</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation>Información</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation>Copia del motor por orden de preferencia:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation>Cliente conectado</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation>Temas:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation>No se puede cargar el plugin temas</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation>No hay ninguna opción para este plugin</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation>Navegar</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation>Escriba las transferencias</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation>Escriba la carpeta de las operaciones</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation>Las variables son %time%, %source%, %size%, %destination%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation>Escribir los errores</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation>Las variables son %time%, %path%, %size%, %mtime%, %error%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation>Escribir el archivo de registro en:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation>Escriba directamente el archivo cuando se recibe una nueva entrada (se puede producir un 50% de pérdida de rendimiento)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation>Cargar</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation>Cargue el tema?</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation>Cargue el idioma?</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation>No hacer nada</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation>Pregunte a la fuente que la carpeta</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation>Pregunte a las fuentes como archivos</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation>Nunca</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation>Cuando la fuente es la misma</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation>Cuando destino es el mismo</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation>Cuando la fuente y el destino son los mismos</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation>Cuando la fuente o el destino son los mismos</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation>Siempre</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation>Las variables son %1</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation>Guardar registros como: </translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation>Registro de sincronizada</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation>Las variables son %path%, %operation%</translation>
@@ -1661,34 +1632,34 @@ Esta versión está compilada en versión:%1.</translation>
<translation>informations.xml no es accesible</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation>Parte las dependencias se equivoca</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation>Dependencias %1 no está satisfecho, para el plugin:%2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation>Eliminar %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation>Error al eliminar el complemento, compruebe los derechos en la carpeta:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation>Información</translation>
</message>
@@ -1708,75 +1679,75 @@ Esta versión está compilada en versión:%1.</translation>
<translation>&quot;package&quot; etiqueta raíz que no se encuentra el archivo xml</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation>Plugin de duplicados encontrados, ya está cargado!</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation>Texto Inglés falta en el informations.xml para la etiqueta: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation>Etiqueta no encontrada: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation>¿Estás seguro de eliminar &quot;%1&quot; en la versión %2?</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation>Previo de importación está en curso ...</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation>Abrir Plugin Ultracopier</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation>Ultracopier plugin (*.urc)</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation>Plugin cargador</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation>No se puede abrir el plugin: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation>No se puede cargar el contenido del plugin, por favor verifique que: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation>No se puede crear una carpeta para instalar el plugin:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
@@ -1785,16 +1756,16 @@ since:%2</source>
desde: %2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation>Carpeta con el mismo nombre está presente, no tome la instalación del plugin:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation>No se puede cargar el contenido del plugin, por favor verifique</translation>
</message>
@@ -1805,17 +1776,17 @@ desde: %2</translation>
<location filename="../../../ProductKey.ui" line="14"/>
<location filename="../../../ProductKey.ui" line="24"/>
<source>Product key</source>
- <translation type="unfinished"></translation>
+ <translation>Clave de producto</translation>
</message>
<message>
<location filename="../../../ProductKey.cpp" line="56"/>
<source>Error</source>
- <translation type="unfinished">Error</translation>
+ <translation>Error</translation>
</message>
<message>
<location filename="../../../ProductKey.cpp" line="56"/>
<source>Your product key was rejected.&lt;br /&gt;If you buy key, unmark check your spam and unmark the mail as spam&lt;br /&gt;If you have not buy your key, go to &lt;a href=&quot;https://shop.first-world.info/&quot;&gt;https://shop.first-world.info/&lt;/a&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>Su clave de producto fue rechazada. &lt;br /&gt; Si compra la clave, desmarque, verifique su correo no deseado y desmarque el correo como spam &lt;br /&gt; Si no ha comprado su clave, vaya a &lt;a href=&quot;https://shop.first-world.info/&quot;&gt;https://shop.first-world.info/&lt;/a&gt;</translation>
</message>
</context>
<context>
@@ -1866,24 +1837,17 @@ desde: %2</translation>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1891,267 +1855,240 @@ desde: %2</translation>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation>Información</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation>Buscar información...</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation>No se encontró copia de escucha. Haga la copia manualmente haciendo clic derecho en el icono de la bandeja del sistema.</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation>No sustituya la copia explorer/move</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation>Semi reemplazar la copia explorer/mudanza</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation>Vuelva a colocar la copia explorer/mudanza</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
- <translation type="unfinished">Advertencia</translation>
+ <translation>Advertencia</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
- <translation type="unfinished"></translation>
+ <translation>¡La acción en el icono de la bandeja del sistema es desconocida!</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
- <translation type="unfinished"></translation>
+ <translation>Acerca de/Informe de debug</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Acerca de</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
- <translation type="unfinished"></translation>
+ <translation>Guardar informe de error</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
- <translation type="unfinished"></translation>
+ <translation>Dejar</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Optiones</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
- <translation type="unfinished"></translation>
+ <translation>Clave de producto</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Nueva versión: %1</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
- <translation type="unfinished"></translation>
+ <translation>Ve a la página de descarga:</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
- <translation type="unfinished"></translation>
+ <translation>Agregar copia/mover</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
- <translation type="unfinished"></translation>
+ <translation>Agregar copia</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
- <translation type="unfinished"></translation>
+ <translation>Agregar transferencia</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
- <translation type="unfinished"></translation>
+ <translation>Añadir movimiento</translation>
</message>
</context>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2184,323 +2121,243 @@ desde: %2</translation>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished">Transferencia</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished">KB</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished">MB</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished">Navegar</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2508,67 +2365,67 @@ desde: %2</translation>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished">Tamaño</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished">Destino</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2576,141 +2433,153 @@ desde: %2</translation>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished">Origen</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished">Destino</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished">Tamaño</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Sobrescribir si nuevo</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished">Tamaño</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2718,65 +2587,65 @@ desde: %2</translation>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished">Origen</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished">Destino</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished">Salto</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/fr/flag.png b/plugins/Languages/fr/flag.png
index 95c8921..95c8921 100644..100755
--- a/plugins/Languages/fr/flag.png
+++ b/plugins/Languages/fr/flag.png
Binary files differ
diff --git a/plugins/Languages/fr/informations.xml b/plugins/Languages/fr/informations.xml
index 5c571f2..cd1496d 100644..100755
--- a/plugins/Languages/fr/informations.xml
+++ b/plugins/Languages/fr/informations.xml
@@ -15,7 +15,7 @@
<description xml:lang="en"><![CDATA[Translation of Ultracopier to French. For more details see the web site.]]></description>
<description xml:lang="fr"><![CDATA[Traduction d'ultracopier en Français. Pour plus de détails regardez le site web]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>fr</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/Languages/fr/translation.qm b/plugins/Languages/fr/translation.qm
new file mode 100755
index 0000000..04e1999
--- /dev/null
+++ b/plugins/Languages/fr/translation.qm
Binary files differ
diff --git a/plugins/Languages/fr/translation.ts b/plugins/Languages/fr/translation.ts
index b6d0692..e2c3742 100644..100755
--- a/plugins/Languages/fr/translation.ts
+++ b/plugins/Languages/fr/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1" language="fr" sourcelanguage="en">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished">Pas supporté sur cette platforme</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished">Destination</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished">Demander</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished">Passer</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished">Renommer</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished">Écraser</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Écraser si plus récent</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished">Demander</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished">Passer</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished">Renommer</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished">Écraser</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Écraser si plus récent</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation>Avertissement</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation>Impossible de trouver un moteur avec le support du déplacement</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation>Ce moteur de copie ne supporte pas les déplacements</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation>Impossible de trouver un moteur de copie compatible!</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation>Impossible de trouver un moteur portant ce nom: %1</translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation>Erreur pendant la réception de la liste de copy/déplacement
@@ -367,72 +307,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation>Impossible d&apos;obtenir une instance du moteur de copie</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation>Grouper des fenêtres</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation>Voulez vous grouper le transfert avec le transfert actuel?</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation>Impossible d&apos;otenir une instance du moteur de copie</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation>L&apos;argument pour le mode n&apos;est pas valide</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation>Voulez vous faire une copie? Si vous repondez non alors il sera déplacé.</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation>Impossible de charger l&apos;interface, copie annulée</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation>Impossible de charger le moteur de copie, copie annulée</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation>Mode de transfert</translation>
</message>
@@ -440,27 +380,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -468,259 +408,264 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation>Moteur de copie</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation>Copie</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation>Déplacer</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation>Pause</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation>Reprendre</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation>Passer</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation>Illimité</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation>Trop grand</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation>o</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation>Ko</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation>Mo</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation>Go</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation>To</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation>Po</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation>Eo</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation>Zo</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation>Yo</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation>Moins de %10 secondes</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation>Environ %10 secondes restantes</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation>Environ %1 minutes restantes</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation>Environ %1 heures restantes</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation>Transfert</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation>Démarrer</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation>Source</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation>Taille</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation>Destination</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation>Quitter</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation>Cible</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation>Temps restant:</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translatorcomment>Création de la liste? Listage?</translatorcomment>
<translation>Listing</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translatorcomment>Copie en cour -&gt; copying in progress</translatorcomment>
<translation>Copie</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation>Listing et copie</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation>Restant:</translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation>Demander</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation>Écraser</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation>Écraser si plus récent</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation>Écraser si les dates de modification sont différentes</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation>Renommer</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation>Mettre à la fin</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation>Fini en %1</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation>Sélectionner un dossier source</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation>Sélectionner un dossier de destination</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation>Erreur interne</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation>Sélectionner un ou des fichiers à ouvrir</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation>Tous les fichiers</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation>Sauvegarder la liste de transfert</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation>Ouvrir la liste de transfert</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation>Liste de transfert</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation>Pas supporté sur cette platforme</translation>
</message>
@@ -728,12 +673,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -741,22 +686,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished">Erreur</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -764,22 +709,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished">Erreur</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -787,77 +732,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -865,60 +810,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -926,27 +871,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished">Erreur</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -954,7 +899,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation>À propos d&apos;Ultracopier</translation>
</message>
@@ -978,82 +923,77 @@ Cette version est compilée comme version : %1.</translation>
<translation>Auteur: BRULE Herman Jacques Roger (alpha_one_x86), société: &lt;a href=&quot;http://www.confiared.com/&quot;&gt; confiared &lt;/a&gt;</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation>À propos de Qt</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation>Vérifier la mise à jour</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation>Faire un crash</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation>Sauver le rapport</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation>A propos de Supercopier</translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation>Pour http://portableapps.com/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation>Portable et tout en un</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation>Version portable</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation>Tout en un</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation>Version normale</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation>http://ultracopier-fr.first-world.info/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation>Vérification de la mise à jour...</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation>Mise à jour: %1</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation>Pas de mise à jour</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation>http://ultracopier-fr.first-world.info/telecharger.html</translation>
</message>
@@ -1067,49 +1007,49 @@ Cette version est compilée comme version : %1.</translation>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1125,12 +1065,12 @@ Cette version est compilée comme version : %1.</translation>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation>Avertissement</translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation>Timeout pendant la recompossition des données des clients connectés</translation>
</message>
@@ -1159,36 +1099,42 @@ Cette version est compilée comme version : %1.</translation>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1198,37 +1144,47 @@ Cette version est compilée comme version : %1.</translation>
<translation>Avertissement</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation>Classique</translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation>Moderne</translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation>Ne plus afficher</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation>Ok</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
- <translation>Le remplacement du systéme de copie/déplacement n&apos;est pas supporté par le gestionnaire de fichier (Dolphin, Nautilus, ...).&lt;br /&gt;Demander aux developpeurs de le supporter.&lt;br /&gt;Vous devez faire la copie/déplacement manuellement.</translation>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <translation>Le remplacement du système de copie/déplacement par défaut n’est pas pris en charge par le gestionnaire de fichiers (Dolphin, Nautilus, ...). &lt;br /&gt; Demandez au développeur de votre gestionnaire de fichiers de le prendre en charge. &lt;br /&gt; Vous devez effectuer la copie/déplacement manuellement.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation>Redémarrer le système si précédemment vous avez installé un logiciel similaire (comme Teracopy, Supercopier ou une version précédente d&apos;Ultracopier).</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation>Le remplacement du systéme de copie/déplacement n&apos;est pas supporté et bloqué par le finder de Mac OS X.&lt;br /&gt;Vous devez faire la copie/déplacement manuellement en cliquant sur l&apos;icone du systray à coté de l&apos;heure (pas l&apos;icone du dock).</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation>Le remplacement du systéme de copie/déplacement n&apos;est pas supporté par le gestionnaire de fichier.&lt;br /&gt;Demander aux developpeurs de le supporter.&lt;br /&gt;Vous devez faire la copie/déplacement manuellement.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation>Considérer Supercopier comme obsolète, préférez Ultracopier</translation>
</message>
@@ -1253,14 +1209,14 @@ Cette version est compilée comme version : %1.</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation>Moteurs de copie</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation>Thèmes</translation>
</message>
@@ -1285,38 +1241,38 @@ Cette version est compilée comme version : %1.</translation>
<translation>Portable (besoin de redémarrer)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation>Version</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation>Langue</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation>Écouteur</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation>Chargeur de plugin</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation>Chargeur de session</translation>
</message>
@@ -1366,172 +1322,187 @@ Cette version est compilée comme version : %1.</translation>
<translation>Logarithmique</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation>défaut: finish.opus</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation>Son quand fini</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation>Plugin</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation>Ajouter</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation>Supprimer</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation>Informations</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation>Moteurs de copie par ordre de préférence:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation>Client connecté</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation>Thèmes:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation>Impossible de charger le plugin des thèmes</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation>Pas d&apos;options pour ce plugin</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation>Parcourir</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation>Écrire les transferts</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation>Écrire les opérations dossier</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation>Les variables sont %time%, %source%, %size%, %destination%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation>Écrire les erreurs</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation>Les variables sont %time%, %path%, %size%, %mtime%, %error%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation>Écrire le fichier journal dans:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation>Écrire directement le fichier quand il reçoit une nouvelle entrée (peut entrainer 50% de perte de performances)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation>Charger</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation>Charger le thème?</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation>Charger la langue?</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation>Ne rien faire</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation>Demander la source comme un dossier</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation>Demander la sources comme des fichiers</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation>Jamais</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation>Quand la source est la même</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation>Quand la destination est la même</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation>Quand la destination et la source sont les mêmes</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation>Quand la destination ou la source sont les mêmes</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation>Toujours</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation>Les variables sont %1</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation>Sauvegarder les logs sous: </translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation>Log synchronisé</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation>Les variables sont %path%, %operation%</translation>
@@ -1667,53 +1638,53 @@ Cette version est compilée comme version : %1.</translation>
<translation>Le fichier informations.xml n&apos;a pas été trouvé dans le plugin</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation>Texte anglais manquant dans le informations.xml pour la balise: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation>Les dépendances sont fausses</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation>Des dépendances %1 ne sont pas satisfaites, pour le plugin: %2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation>Erreur lors de la suppression du plug-in, veuillez vérifier les droits sur le dossier:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation>Chargeur de plugin</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation>Supprimer %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation>Informations</translation>
</message>
@@ -1728,57 +1699,57 @@ Cette version est compilée comme version : %1.</translation>
<translation>La balise racine &quot;package&quot; n&apos;a pas été trouvée pour le fichier xml</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translatorcomment>Le plugins courrant est un doublont, donc déjà chargé!</translatorcomment>
<translation>Plugin dupliqué trouvé, déjà chargé!</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation>Balise non trouvée: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation>Êtes vous sûr de vouloir supprimer &quot;%1&quot; en version %2?</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation>Importation précédente en cours...</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation>Ouvrir un plugin d&apos;Ultracopier</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation>Plugin d&apos;Ultracopier (*.urc)</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation>Impossible d&apos;ouvrir le plugin: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation>Impossible de charger le contenu du plugin, veuillez le vérifier: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation>Impossible de créer un dossier pour installer le plugin:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
@@ -1787,16 +1758,16 @@ since:%2</source>
depuis:%2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation>Le répertoire est déjà présent, on saute l&apos;installation du plugin:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation>Impossible de charger le contenu du plugin, veuillez le vérifier</translation>
</message>
@@ -1868,24 +1839,17 @@ depuis:%2</translation>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1893,198 +1857,183 @@ depuis:%2</translation>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation>Pas d&apos;écouteur trouvé. Effectuez la copie manuellement par clic droit sur l&apos;icône dans la zone de notification (près de l&apos;horloge).</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation>Recherche d&apos;informations...</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation>Ne remplace pas la copie/déplacement de l&apos;explorateur</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation>Remplace partiellement la copie/déplacement de l&apos;explorateur</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation>Remplace la copie/déplacement de l&apos;explorateur</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation>Avertissement</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation>L&apos;action sur l&apos;icône systray est inconnue!</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation>&amp;À propos/Rapport de débogage</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation>&amp;À propos</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation>&amp;Sauvegarder le rapport de bogue</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation>&amp;Quitter</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation>&amp;Options</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation>&amp;Clé de produit</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation>Nouvelle version: %1</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation>Aller à la page de téléchargement:</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
- <translation>Une cop&amp;ie/déplacement</translation>
+ <translation>Ajouter cop&amp;ie/déplacement</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
- <translation>Ajouter et &amp;copie</translation>
+ <translation>Ajouter une &amp;copie</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
- <translation>Ajouter et &amp;transférer</translation>
+ <translation>Ajouter un &amp;transfére</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
- <translation>Ajouter et dép&amp;lacement</translation>
+ <translation>Ajouter un dép&amp;lacement</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation>Informations</translation>
</message>
@@ -2092,68 +2041,56 @@ depuis:%2</translation>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2186,323 +2123,243 @@ depuis:%2</translation>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished">Transfert</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished">Ko</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished">Mo</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished">Parcourir</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2510,67 +2367,67 @@ depuis:%2</translation>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished">Erreur</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished">Taille</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished">Destination</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2578,141 +2435,153 @@ depuis:%2</translation>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished">Source</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished">Destination</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished">Taille</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Écraser si plus récent</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished">Taille</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2720,65 +2589,65 @@ depuis:%2</translation>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished">Source</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished">Destination</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished">Passer</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/hi/flag.png b/plugins/Languages/hi/flag.png
index 3ac74be..3ac74be 100644..100755
--- a/plugins/Languages/hi/flag.png
+++ b/plugins/Languages/hi/flag.png
Binary files differ
diff --git a/plugins/Languages/hi/informations.xml b/plugins/Languages/hi/informations.xml
index 33f66e6..dc5b57c 100644..100755
--- a/plugins/Languages/hi/informations.xml
+++ b/plugins/Languages/hi/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to hindi. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>hi</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/Languages/hi/translation.qm b/plugins/Languages/hi/translation.qm
new file mode 100755
index 0000000..d925dd6
--- /dev/null
+++ b/plugins/Languages/hi/translation.qm
Binary files differ
diff --git a/plugins/Languages/hi/translation.ts b/plugins/Languages/hi/translation.ts
index 71b0873..3c0c8fd 100644..100755
--- a/plugins/Languages/hi/translation.ts
+++ b/plugins/Languages/hi/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1" language="hi">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -974,82 +919,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1281,38 +1237,38 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1362,172 +1318,187 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/hu/flag.png b/plugins/Languages/hu/flag.png
index 5115e8a..5115e8a 100644..100755
--- a/plugins/Languages/hu/flag.png
+++ b/plugins/Languages/hu/flag.png
Binary files differ
diff --git a/plugins/Languages/hu/informations.xml b/plugins/Languages/hu/informations.xml
index 6483629..ced72cc 100644..100755
--- a/plugins/Languages/hu/informations.xml
+++ b/plugins/Languages/hu/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Hungarian translation of Ultracopier]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>hu</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/Languages/hu/translation.qm b/plugins/Languages/hu/translation.qm
new file mode 100755
index 0000000..89f253f
--- /dev/null
+++ b/plugins/Languages/hu/translation.qm
Binary files differ
diff --git a/plugins/Languages/hu/translation.ts b/plugins/Languages/hu/translation.ts
index f924d55..3416979 100644..100755
--- a/plugins/Languages/hu/translation.ts
+++ b/plugins/Languages/hu/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1" language="hu">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished">Ezen a platformon nem támogatott</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished">Cél</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished">Rákérdez</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished">Kihagyás</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished">Átnevezés</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished">Felülírás</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Felülírás, ha újabb</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished">Rákérdez</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished">Kihagyás</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished">Átnevezés</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished">Felülírás</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Felülírás, ha újabb</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation>Figyelmzetetés</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation>Nem található semmilyen kompatibilis motor!</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation>Nem található motor ezzel a névvel: %1</translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation>Hiba a másolási/mozgatási lista fogadásakor
@@ -367,72 +307,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation>Nem lehetséges másoló motor példány észlelése</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation>Motor állapot lekérése nem lehetséges</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation>A mód argumentuma nem érvényes</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation>Szeretnél másolni? Ha nem, akkor átmozgatva lesz.</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation>Kezelőfelület betöltése nem lehetséges, másolás megszakítva</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation>Másoló motor betöltése nem lehetséges, másolás megszakítva</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation>Átviteli mód</translation>
</message>
@@ -440,27 +380,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -468,257 +408,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation>mp</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation>Túl nagy</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation>B</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation>GB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation>TB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation>PB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation>EB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation>ZB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation>YB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation>Kevesebb mint %10 másodperc</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation>Körülbelül %10 másodperc van hátra</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation>Körülbelül %1 perc van hátra</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation>Körülbelül %1 óra van hátra</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation>Másoló motor</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation>Másolás</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation>Átvitel</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation>Mozgatás</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation>Indítás</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation>Szünet</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation>Folytatás</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation>Kihagyás</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation>Korlátlan</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation>Forrás</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation>Méret</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation>Cél</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation>Kilépés</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation>Cél</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation>Hátralévő idő:</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation>Listázás</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation>Másolás</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation>Listázás és másolás</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation>Rákérdez</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation>Felülírás</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation>Felülírás, ha újabb</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation>Felülír, ha az legutóbbi módosítás dátumai különböznek</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation>Átnevezés</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation>Helyezze a lista végére</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation>Válassz forrásmappát</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation>Válassz célmappát</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation>Belső hiba</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation>Válassz egy vagy több fájlt megnyitásra</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation>Minden fájl</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation>Átviteli lista mentése</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation>Átviteli lista megnyitása</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation>Átviteli lista</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation>Ezen a platformon nem támogatott</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation>Befejezve %1 alatt</translation>
</message>
@@ -726,12 +671,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -739,22 +684,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished">Hiba</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -762,22 +707,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished">Hiba</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -785,77 +730,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -863,60 +808,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -924,27 +869,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished">Hiba</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -952,7 +897,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation>Az Ultracopier névjegye</translation>
</message>
@@ -982,82 +927,77 @@ Ez a verzió a következő verzióként került lefordításra: %1.</translation
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation>A Qt névjegye</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation>Összeomlás</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation>Hibajelentés mentése</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation>Bezárás</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation>http://portableapps.com/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation>Hordozható és teljes verzió</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation>Hordozható verzió</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation>Teljes verzió</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation>Normál verzió</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation>http://ultracopier.first-world.info/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1065,49 +1005,49 @@ Ez a verzió a következő verzióként került lefordításra: %1.</translation
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1123,12 +1063,12 @@ Ez a verzió a következő verzióként került lefordításra: %1.</translation
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation>Figyelmeztetés</translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation>Időtúllépés történt az adatok összeilesztése közben a kapcsolódott kliensektől</translation>
</message>
@@ -1157,36 +1097,42 @@ Ez a verzió a következő verzióként került lefordításra: %1.</translation
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1196,38 +1142,47 @@ Ez a verzió a következő verzióként került lefordításra: %1.</translation
<translation>Figyelmeztetés</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation>Ne mutassa újra</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation>Rendben</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
- <translatorcomment>Az alapértelmezett másolás/mozgatás rendszer lecserélését nem támogatja a fájlkezelő (Dolphin, Nautilus, ...).&lt;br /&gt;Kérd meg a fejlesztőt, hogy támogassa.&lt;br /&gt;A másolás/mozgatást manuálisan kell elvégezned.</translatorcomment>
- <translation></translation>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation>Indítsd újra a gépet, ha korábban már volt hasonló alkalmazás telepítve (például Teracopy, Supercopier vagy az Ultracopier korábbi verziója).</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation>Az alapértelmezett másoló/mozgató rendszer lecserélését nem támogatott és blokkolja a Mac OS X fejlesztője.&lt;br /&gt;A másolást/mozgatást manuálisan kell elvégezned a tálcaikonra kattintva jobb egérgombbal, az óra mellett.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation>Az alapértelmezett másoló/mozgató rendszer lecserélését nem szabad támogatnia a fájlkezelőnek.&lt;br /&gt;Kérd meg a fejlesztőt, hogy támogassa.&lt;br /&gt;A másolás/mozgatást manuálisan kell elvégezned.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1252,35 +1207,35 @@ Ez a verzió a következő verzióként került lefordításra: %1.</translation
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation>Másoló motor</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation>Figyelő</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation>Beépüő betöltő</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation>Folyamat betöltő</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation>Témák</translation>
</message>
@@ -1305,12 +1260,12 @@ Ez a verzió a következő verzióként került lefordításra: %1.</translation
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation>Írás közvetlenül a fájlba, ha új bejegyzést kap (akár 50%-kos teljesítménycsökkenést is okozhat)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation>Név</translation>
</message>
@@ -1360,178 +1315,193 @@ Ez a verzió a következő verzióként került lefordításra: %1.</translation
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation>Verzió</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation>Nyelv</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation>Beépülő</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation>Hozzáadás</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation>Eltávolítás</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation>Információ</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation>Másoló motor tulajdonság szerint:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation>Kliens kapcsolódva</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation>Témák:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation>A témák beépülő betöltése nem lehetséges</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation>Nincs beállítás ehhez a beépülőhöz</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation>Napló írása ide:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation>Tallózás</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation>Szinkronizált napló</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation>Átvitelek írása</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation>Hibák írása</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation>Mappa műveletek írása</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation>A változók: %time%, %source%, %size%, %destination%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation>A változók: %time%, %path%, %size%, %mtime%, %error%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation>A változók: %path%, %operation%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation>Betöltés</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation>Téma betöltése?</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation>Nyelv betöltése?</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation>Ne tegyen semmit</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation>Rákérdezés a forrás mint mappa</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation>Rákérdezés a forrásokra mint fájlok</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation>Soha</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation>Amikor a forrás ugyanaz</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation>Amikor a cél ugyanaz</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation>Amikor a forrás és a cél ugyanaz</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation>Amikor a forrás vagy cél ugyanaz</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation>Mindig</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation>A változók: %1</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation>Napló mentése mint:</translation>
</message>
@@ -1671,7 +1641,7 @@ Ez a verzió a következő verzióként került lefordításra: %1.</translation
<translation>&quot;package&quot; gyökércímke nem található az xml fájlban</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation>Duplikált beépülő található, már be van töltve!</translation>
</message>
@@ -1681,101 +1651,101 @@ Ez a verzió a következő verzióként került lefordításra: %1.</translation
<translation>informations.xml nem található a beépülőhöz</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation>Angol szöveg hiányzik az informations.xml-ből a címkéhez: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation>Címke nem található: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation>A függőségek rész hibás</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation>A(z) %1 függőségek nem megfelelőek a következő beépülőhöz: %2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation>%1 eltávolítása</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation>Biztosan el akarod távolítani &quot;%1&quot;-t a(z) %2 verzióban?</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation>Hiba</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation>Információ</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation>Előző importálás folyamatban van...</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation>Ultracopier beépülő megnyitása</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation>Ultracopier beépülő (*.urc)</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation>Beépülő betöltő</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation>Beéülő megnyitása nem lehetséges: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation>Beépülő tartalmának betöltése nem lehetséges, kérlek ellenőrizd: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation>Mappa létrehozása a beépülő telepítéséhez nem lehetséges:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
@@ -1784,16 +1754,16 @@ since:%2</source>
óta:%2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation>Mappa már létezik ilyen néven, beépülő telepítésének kihagyása:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation>Beépülő tartalmának betöltése nem lehetséges, kérlek ellenőrizd</translation>
</message>
@@ -1865,24 +1835,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1890,198 +1853,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished">Nem található másoló figyelő. Végezd el manuálisan a másolást a jobb egérgombbal a tálcaikonra kattintva.</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished">Információ</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished">Információ keresése...</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished">Ne cserélje le az Intéző másolását/mozgatását</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished">Az Intéző másolás/mozgatás félig lecserélése</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished">Az Intéző másolás/mozgatás lecserélése</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2089,68 +2037,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2183,323 +2119,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished">Átvitel</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished">KB</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished">MB</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished">Tallózás</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2507,67 +2363,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished">Hiba</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished">Méret</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished">Cél</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2575,141 +2431,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished">Forrás</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished">Cél</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished">Méret</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Felülírás, ha újabb</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished">Méret</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2717,65 +2585,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished">Forrás</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished">Cél</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished">Kihagyás</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/id/flag.png b/plugins/Languages/id/flag.png
index e3c0f12..e3c0f12 100644..100755
--- a/plugins/Languages/id/flag.png
+++ b/plugins/Languages/id/flag.png
Binary files differ
diff --git a/plugins/Languages/id/informations.xml b/plugins/Languages/id/informations.xml
index b090138..8341a58 100644..100755
--- a/plugins/Languages/id/informations.xml
+++ b/plugins/Languages/id/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to indonesian. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>id</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/Languages/id/translation.qm b/plugins/Languages/id/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Languages/id/translation.qm
Binary files differ
diff --git a/plugins/Languages/id/translation.ts b/plugins/Languages/id/translation.ts
index cb636cf..b64f48b 100644..100755
--- a/plugins/Languages/id/translation.ts
+++ b/plugins/Languages/id/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -974,82 +919,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1281,38 +1237,38 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1362,172 +1318,187 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/it/informations.xml b/plugins/Languages/it/informations.xml
index 3f29549..0c123f0 100644
--- a/plugins/Languages/it/informations.xml
+++ b/plugins/Languages/it/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to italian. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>it</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/Languages/it/translation.qm b/plugins/Languages/it/translation.qm
new file mode 100755
index 0000000..b8ab191
--- /dev/null
+++ b/plugins/Languages/it/translation.qm
Binary files differ
diff --git a/plugins/Languages/it/translation.ts b/plugins/Languages/it/translation.ts
index 8517260..af9765d 100644
--- a/plugins/Languages/it/translation.ts
+++ b/plugins/Languages/it/translation.ts
@@ -1,41 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1" language="it" sourcelanguage="en">
-<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished">Non supportato su questa piattaforma</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
+<TS version="2.1" language="it_IT" sourcelanguage="en">
<context>
<name>CliParser</name>
<message>
@@ -45,12 +10,12 @@
<location filename="../../../CliParser.cpp" line="109"/>
<location filename="../../../CliParser.cpp" line="194"/>
<source>Warning</source>
- <translation>Avviso</translation>
+ <translation>Attenzione</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="86"/>
<source>Problem reading file, or file size is 0</source>
- <translation>Problema di lettura o dimensione nulla del file</translation>
+ <translation>Problema durante la lettura del file o dimensione file nulla</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="174"/>
@@ -62,19 +27,19 @@
<location filename="../../../CliParser.cpp" line="176"/>
<location filename="../../../CliParser.cpp" line="187"/>
<source>To display the options</source>
- <translation>Mostra le opzioni</translation>
+ <translation>Mostrare le opzioni</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="179"/>
<location filename="../../../CliParser.cpp" line="190"/>
<source>To copy sources to destination, separated by space. If destination is &quot;?&quot;, ultracopier will ask the user</source>
- <translation>Copiare i file di origine alla destinazione separati da uno spazio. Se la destinazione è &quot;?&quot;, Ultracopier chiederà all&apos;utente</translation>
+ <translation>Copiare file di origine nella destinazione separati da uno spazio. Se la destinazione è &quot;?&quot; Ultracopier chiederà all&apos;utente</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="180"/>
<location filename="../../../CliParser.cpp" line="191"/>
<source>To move sources to destination, separated by space. If destination is &quot;?&quot;, ultracopier will ask the user</source>
- <translation>Spostare i file di origine alla destinazione separati da uno spazio. Se la destinazione è &quot;?&quot;, Ultracopier chiederà all&apos;utente</translation>
+ <translation>Spostare file di origine nella destinazione separati da uno spazio. Se la destinazione è &quot;?&quot; Ultracopier chiederà all&apos;utente</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="184"/>
@@ -84,28 +49,28 @@
<message>
<location filename="../../../CliParser.cpp" line="99"/>
<source>This file is not supported transfer list</source>
- <translation>Questo file non è supportato dalla lista dei trasferimenti</translation>
+ <translation>Questo file non è supportato dalla lista trasferimenti</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="32"/>
<source>Ultracopier is already running, right click on its system tray icon (near the clock) to use it or just copy and paste</source>
- <translation type="unfinished"></translation>
+ <translation>Ultracopier è già avviato, click destro su icona nell&apos;area di notifica per usarlo oppure copia e incolla semplicemente</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="34"/>
<source>Ultracopier is already running, view all notification area icons (near the clock), right click on its system tray icon to use it or just copy and paste</source>
- <translation type="unfinished"></translation>
+ <translation>Ultracopier è già avviato, controlla tra le icone nell&apos;area di notifica. Click destro sull&apos;icona della barra applicazioni di sistema per usarlo oppure copia e incolla semplicemente</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="109"/>
<source>Unable to open the transfer list file</source>
- <translation>Impossibile aprire il file della lista dei trasferimenti</translation>
+ <translation>Impossibile aprire il file della lista di trasferimento</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="175"/>
<location filename="../../../CliParser.cpp" line="186"/>
<source>To display this help</source>
- <translation>Mostra questo aiuto</translation>
+ <translation>Mostrare questa guida</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="177"/>
@@ -117,117 +82,102 @@
<location filename="../../../CliParser.cpp" line="178"/>
<location filename="../../../CliParser.cpp" line="189"/>
<source>Open transfer list</source>
- <translation>Apri la lista dei trasferimenti</translation>
+ <translation>Aprire lista di trasferimento</translation>
</message>
<message>
<location filename="../../../CliParser.cpp" line="196"/>
<source>Help</source>
- <translation>Aiuto</translation>
+ <translation>Guida</translation>
</message>
</context>
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
- <translation type="unfinished">Cartella di destinazione</translation>
+ <translation type="unfinished">Destinazione</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished">Chiedi</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished">Salta</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished">Rinomina</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished">Sovrascrivi</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
- <translation type="unfinished">Sovrascrivi se più recente</translation>
+ <translation type="unfinished">Sovrascrivere se più recente</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished">Chiedi</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished">Salta</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished">Rinomina</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished">Sovrascrivi</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
- <translation type="unfinished">Sovrascrivi se più recente</translation>
+ <translation type="unfinished">Sovrascrivere se più recente</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,43 +261,43 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
- <translation>Avviso</translation>
+ <translation>Attenzione</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
- <translation type="unfinished"></translation>
+ <translation>Impossibile trovare un motore di copia con supporto allo spostamento</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
- <translation type="unfinished"></translation>
+ <translation>Questo motore di copia non supporta lo spostamento</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
- <translation>Impossibile trovare un motore per la copia compatibile!</translation>
+ <translation>Impossibile trovare un motore di copia compatibile!</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
- <translation>Impossibile trovare un motore per la copia con questo nome: %1</translation>
+ <translation>Impossibile trovare un motore di copia con questo nome: &quot;%1&quot;</translation>
</message>
</context>
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation>Errore durante la ricezione della lista di copia/spostamento
@@ -367,100 +307,100 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
- <translation>Impossibile ottenere un&apos;istanza dal motore per la copia</translation>
+ <translation>Impossibile ottenere un&apos;istanza del motore di copia</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
- <translation>Raggruppa finestre</translation>
+ <translation>Raggruppare finestre</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
- <translation>Vuoi un altro gruppo di trasferimento con un altro trasferimento attualmente avviato?</translation>
+ <translation>Vuoi raggruppare il trasferimento con un altro attualmente avviato?</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
- <translation>Impossibile ottenere un&apos;istanza dal motore per la copia</translation>
+ <translation>Impossibile ottenere un&apos;istanza del motore</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation>L&apos;argomento per la modalità non è valido</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
- <translation>Vuoi copiarlo? se no, verrà spostato.</translation>
+ <translation>Vuoi copiare? Altrimenti verrà spostato</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
- <translation>Impossibile avviare l&apos;interfaccia, copia interrotta</translation>
+ <translation>Impossibile avviare l&apos;interfaccia. Copia abortita</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
- <translation>Impossibile avviare il motore per la copia, copia interrotta</translation>
+ <translation>Impossibile avviare il motore di copia. Copia abortita</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
- <translation>Modalità di trasferimento</translation>
+ <translation>Modalità trasferimento</translation>
</message>
</context>
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -468,258 +408,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
- <translation>Motore per la copia</translation>
+ <translation>Motore di copia</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation>Copia</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation>Sposta</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation>Pausa</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
- <translation>Riprendi</translation>
+ <translation>Ripresa</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation>Salta</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation>Illimitato</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation>s</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation>Troppo grande</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation>B</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation>GB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation>TB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation>PB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation>EB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation>ZB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation>YB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation>Meno di %10 secondi</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation>Circa %10 secondi rimanenti</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation>Circa %1 minuti rimanenti</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation>Circa %1 ore rimanenti</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation>Trasferisci</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
- <translatorcomment>Uno spostamento</translatorcomment>
<translation>Avvia</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
- <translation>Cartella di origine</translation>
+ <translation>Origine</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation>Dimensione</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
- <translation>Cartella di destinazione</translation>
+ <translation>Destinazione</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation>Esci</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation>Obiettivo</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation>Tempo residuo:</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
- <translation>Elenco</translation>
+ <translation>Elencando</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
- <translation>Copiatura</translation>
+ <translation>Copia</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
- <translation>Elenca e copia</translation>
+ <translation>Elencando e copiando</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation>Rimanente:</translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation>Chiedi</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation>Sovrascrivi</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
- <translation>Sovrascrivi se più recente</translation>
+ <translation>Sovrascrivere se più recente</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
- <translation>Sovrascrivi se sono diverse le date dell&apos;ultima modifica</translation>
+ <translation>Sovrascrivere se le date di ultima modifica sono differenti</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation>Rinomina</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation>Metti in coda alla lista</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation>Completato in %1</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
- <translation>Selezionare la cartella di origine</translation>
+ <translation>Selezionare cartella di origine</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
- <translation>Selezionare la cartella di destinazione</translation>
+ <translation>Selezionare cartella di destinazione</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation>Errore interno</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation>Selezionare uno o più file da aprire</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation>Tutti i file</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
- <translation>Salvare la lista dei trasferimenti</translation>
+ <translation>Salvare lista di trasferimento</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
- <translation>Aprire lista dei trasferimenti</translation>
+ <translation>Aprire lista di trasferimento</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
- <translation>Lista dei trasferimenti</translation>
+ <translation>Lista di trasferimento</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation>Non supportato su questa piattaforma</translation>
</message>
@@ -727,12 +671,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -740,22 +684,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -763,22 +707,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -786,77 +730,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -864,60 +808,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -925,27 +869,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -953,7 +897,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation>Informazioni su Ultracopier</translation>
</message>
@@ -962,7 +906,7 @@
<source>Based on Qt. Advanced utility to copy files under GPL3 license.
This version is compiled as version: %1.</source>
<extracomment>%1 will be replaced by a variable content (normal, debug, ...)</extracomment>
- <translatorcomment>%1 sarà rimpiazzata da una variabile content (normale, debug, ...)</translatorcomment>
+ <translatorcomment>%1 sarà rimpiazzato da un contenuto variabile (normale, debug, ...)</translatorcomment>
<translation>Utility avanzata sotto licenza GPL3 per la copia dei file basata su Qt.
Compilata come versione: %1.</translation>
</message>
@@ -970,92 +914,87 @@ Compilata come versione: %1.</translation>
<location filename="../../../HelpDialog.ui" line="85"/>
<source>Platform: %1</source>
<extracomment>%1 will be replaced by the platform (windows, mac, linux, ...)</extracomment>
- <translatorcomment>%1 sarà rimpiazzata dalla piattaforma (Windows, Mac, Linux, ...)</translatorcomment>
+ <translatorcomment>%1 sarà rimpiazzato dalla piattaforma (Windows, Mac, Linux, ...)</translatorcomment>
<translation>Piattaforma: %1</translation>
</message>
<message>
<location filename="../../../HelpDialog.ui" line="92"/>
<source>Author: BRULE Herman Jacques Roger (alpha_one_x86), company: &lt;a href=&quot;http://www.confiared.com/&quot;&gt;confiared&lt;/a&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>Autore: BRULE Herman Jacques Roger (alpha_one_x86), azienda: &lt;a href=&quot;http://www.confiared.com/&quot;&gt;confiared&lt;/a&gt; </translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation>Informazioni su Qt</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
- <translation type="unfinished"></translation>
+ <translation>Controllare aggiornamenti</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation>Si è verificato un crash</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
- <translation>Salva il bug</translation>
+ <translation>Salva rapporto bug</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation>Chiudi</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
- <translation>Su http://portableapps.com/</translation>
+ <translation>Per http://portableapps.com</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation>Versione portatile e pluricomprensiva</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation>Versione portatile</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation>Versione pluricomprensiva</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation>Versione normale</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
- <translatorcomment>Questo dovrebbe essere il sito ufficiale di Ultracopier in italiano</translatorcomment>
- <translation>http://ultracopier-it.first-world.info/</translation>
+ <translatorcomment>Questo dovrebbe essere il sito ufficiale di Ultracopier</translatorcomment>
+ <translation>http://ultracopier-it.first-world.info</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
- <translation type="unfinished"></translation>
+ <translation>Controllo aggiornamenti...</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Aggiornamento: %1</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
- <translation type="unfinished"></translation>
+ <translation>Nessun aggiornamento disponibile</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation>http://ultracopier.first-world.info/download.html</translation>
</message>
@@ -1063,56 +1002,56 @@ Compilata come versione: %1.</translation>
<location filename="../../../HelpDialog.ui" line="75"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;For more information see the website &lt;a href=&quot;%1&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0057ae;&quot;&gt;%1&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%1 will be remplaced by the website into the corresponding languages</extracomment>
- <translatorcomment>%1 sarà rimpiazzato dal sito italiano</translatorcomment>
+ <translatorcomment>%1 sarà rimpiazzato dal sito in lingua corrispondente</translatorcomment>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Per ulteriori informazioni consultare il sito &lt;a href=&quot;%1&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0057ae;&quot;&gt;%1&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
</context>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1128,12 +1067,12 @@ Compilata come versione: %1.</translation>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
- <translation>Avviso</translation>
+ <translation>Attenzione</translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation>Tempo scaduto durante la ricomposizione dei dati dai client collegati</translation>
</message>
@@ -1150,90 +1089,106 @@ Compilata come versione: %1.</translation>
<message>
<location filename="../../../LogThread.cpp" line="107"/>
<source>Log file already open, error: %1</source>
- <translation>File log già aperto, errore: %1</translation>
+ <translation>File log già aperto, errore %1</translation>
</message>
<message>
<location filename="../../../LogThread.cpp" line="116"/>
<location filename="../../../LogThread.cpp" line="126"/>
<source>Unable to open the log file, error: %1</source>
- <translation>Impossibile aprire il file di log, errore: %1</translation>
+ <translation>Impossibile aprire il file di log, errore %1</translation>
</message>
</context>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
<message>
<location filename="../../../OSSpecific.ui" line="26"/>
<source>Warning</source>
- <translation>Avviso</translation>
+ <translation>Attenzione</translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation>Classic</translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation>Modern</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
- <translation>Non visualizzare più questo messaggio</translation>
+ <translation>Non visualizzare di nuovo</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation>Ok</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
- <translation>Il ripristino del sistema predefinito di copia/spostamento non è supportato dal file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Chiedere supporto allo sviluppatore.&lt;br /&gt;Bisogna fare la copia/spostamento manuale.</translation>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <translation>Il rimpiazzo del sistema di copia e spostamento predefinito non è supportato dal file manager (Dolphin, Nautilus, ...)&lt;br /&gt;Chiedere allo sviluppatore del vostro file manager di supportarlo.&lt;br /&gt;Dovete copiare/spostare manualmente.</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
- <translation>Riavviare il sistema, se in precedenza avevi installato un software simile a questo (come Teracopy, Supercopier o una versione precedente di Ultracopier).</translation>
+ <translation>Riavviare il sistema, se in precedenza avevate installato un software simile a questo (Teracopy, Supercopier o una versione precedente di Ultracopier)</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
- <translation>Il ripristino del sistema predefinito di copia/spostamento non è supportato, quindi viene bloccato dal finder of Mac OS X.&lt;br /&gt;Chiedere supporto allo sviluppatore.&lt;br /&gt;Sarà possibile la copia/spostamento manuale cliccando col tasto destro del mouse sull&apos;icona della barra di sistema vicina all&apos;orologio (non l&apos;icona dock).</translation>
+ <translation>Il rimpiazzo del sistema di copia e spostamento predefinito non è supportato, quindi viene bloccato dal finder di Mac OS X.&lt;br /&gt;Chiedere supporto allo sviluppatore.&lt;br /&gt;Sarà possibile copiare/spostare manualmente cliccando col tasto destro del mouse sull&apos;icona della barra applicazioni di sistema</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
- <translation>Il ripristino del sistema predefinito di copia/spostamento potrebbe non essere supportato dal file manager.&lt;br /&gt;Chiedere supporto allo sviluppatore.&lt;br /&gt;Bisogna fare la copia/spostamento manuale.</translation>
+ <translation>Il rimpiazzo del sistema di copia e spostamento predefinito potrebbe non essere supportato dal file manager.&lt;br /&gt;Chiedere supporto allo sviluppatore.&lt;br /&gt;Necessario usare copia/spostamento manuale</translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
- <translation type="unfinished"></translation>
+ <translation>Considerate Supercopier deprecato, favorite Ultracopier</translation>
</message>
</context>
<context>
@@ -1252,18 +1207,18 @@ Compilata come versione: %1.</translation>
<message>
<location filename="../../../OptionDialog.ui" line="70"/>
<source>Plugins</source>
- <translation>I plug-in</translation>
+ <translation>Plug-in</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
- <translation>Motore per la copia</translation>
+ <translation>Motore di copia</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation>Temi</translation>
</message>
@@ -1280,267 +1235,282 @@ Compilata come versione: %1.</translation>
<message>
<location filename="../../../OptionDialog.ui" line="289"/>
<source>Portable (need restart)</source>
- <translation type="unfinished"></translation>
+ <translation>Portatile (necessita riavvio)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation>Nome</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation>Versione</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation>Lingua</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation>Rilevatore</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
- <translation>Caricatore di plug-in</translation>
+ <translation>Caricatore dei plug-in</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation>Caricatore di sessione</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="126"/>
<source>Force the language</source>
- <translation>Utilizza la lingua</translation>
+ <translation>Forzare lingua</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="136"/>
<source>Replace the default copy and move system</source>
- <translation>Ripristina il sistema di copia e spostamento predefinito</translation>
+ <translation>Rimpiazzare sistema di copia e spostamento predefinito</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="150"/>
<source>Load at the session loading</source>
- <translation>Carica il programma all&apos;avvio di sistema</translation>
+ <translation>Caricare il programma all&apos;avvio di sistema</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="164"/>
<source>When manual open</source>
- <translation>Se avviato manualmente</translation>
+ <translation>Con avvio manuale</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="190"/>
<source>Group the windows when</source>
- <translation>Quando raggruppare le finestre</translation>
+ <translation>Raggruppare finestre quando</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="231"/>
<source>Confirm to group the windows</source>
- <translation>Conferma il raggruppamento delle finestre</translation>
+ <translation>Conferma raggruppamento finestre</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="241"/>
<source>Display the OS warning</source>
- <translation>Mostra l&apos;avviso del Sistema Operativo</translation>
+ <translation>Mostrare avviso del Sistema Operativo</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="261"/>
<source>Remaining time algorithm</source>
- <translation type="unfinished"></translation>
+ <translation>Algoritmo tempo rimanente</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="269"/>
<source>Traditional</source>
- <translation type="unfinished"></translation>
+ <translation>Tradizionale</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="274"/>
<source>Logarithmic</source>
- <translation type="unfinished"></translation>
+ <translation>Logaritmico</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation>Predefinito: finish.opus</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation>Riproduci</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation>Suono al completamento</translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation>Plug-in</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation>Aggiungi</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation>Elimina</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation>Informazioni</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
- <translation>Motore per la copia in ordine di preferenza:</translation>
+ <translation>Motore di copia in ordine di preferenza:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation>Client connessi</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation>Temi:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation>Impossibile caricare il plug-in dei temi</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
- <translation>Non ci sono opzioni per questo plug-in</translation>
+ <translation>Nessuna opzione per questo plug-in</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation>Sfoglia</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation>Scrivere i trasferimenti</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation>Scrivere le operazioni di cartella</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translatorcomment>%time%, %source%, %size%, %destination% non dovranno essere tradotti</translatorcomment>
- <translation>Le variabili sono %time%, %source%, %size%, %destination%</translation>
+ <translation>Le variabili sono: %time%, %source%, %size%, %destination%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation>Scrivere gli errori</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translatorcomment>%time%, %path%, %size%, %mtime%, %error% non dovranno essere tradotti</translatorcomment>
- <translation>Le variabili sono %time%, %path%, %size%, %mtime%, %error%</translation>
+ <translation>Le variabili sono: %time%, %path%, %size%, %mtime%, %error%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation>Scrivere il file di log in:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
- <translation>Scrivere direttamente il file quando si riceve una nuova voce (può causare il 50% di perdita di prestazioni)</translation>
+ <translation>Scrivere direttamente nel file quando si riceve una nuova voce (può causare il 50% di perdita di prestazioni)</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation>Carica</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
- <translation>Caricare i temi?</translation>
+ <translation>Caricare il tema?</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation>Caricare questa lingua?</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation>Non fare nulla</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
- <translation>Chiedere la cartella di origine</translation>
+ <translation>Chiedi cartella come origine</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
- <translation>Chiedere i file di origine</translation>
+ <translation>Chiedi file come origine</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation>Mai</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
- <translation>Quando la cartella di origine è uguale</translation>
+ <translation>Quando l&apos;origine è identica</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
- <translation>Quando la cartella di destinazione è uguale</translation>
+ <translation>Quando la destinazione è identica</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
- <translation>Quando sia le cartelle di origine che di destinazione sono uguali</translation>
+ <translation>Quando sia lorigine che la destinazione sono identiche</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
- <translation>Quando le cartelle di origine o di destinazione coincidono</translation>
+ <translation>Quando l&apos;origine o la destinazione sono identiche</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation>Sempre</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
- <translation>Le variabili sono %1</translation>
+ <translation>Le variabili sono: %1</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
- <translation>Salvare i log come: </translation>
+ <translation>Salva i log come: </translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation>Log sincronizzato</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translatorcomment>%path% e %operation%, non dovranno essere tradotti</translatorcomment>
- <translation>Le variabili sono %path%, %operation%</translation>
+ <translation>Le variabili sono: %path%, %operation%</translation>
</message>
</context>
<context>
@@ -1612,7 +1582,7 @@ Compilata come versione: %1.</translation>
<message>
<location filename="../../../PluginInformation.cpp" line="39"/>
<source>Copy engine</source>
- <translation>Motore per la copia</translation>
+ <translation>Motore di copia</translation>
</message>
<message>
<location filename="../../../PluginInformation.cpp" line="41"/>
@@ -1668,33 +1638,33 @@ Compilata come versione: %1.</translation>
<translation>informations.xml non è accessibile</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation>Alcune dipendenze non sono idonee</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
- <translation>Le dipendenze %1 per il plug-in: %2, non sono soddisfatte</translation>
+ <translation>Le dipendenze %1 per il plug-in %2 non sono soddisfatte</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
- <translation>Elimina %1</translation>
+ <translation>Eliminare %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
- <translation type="unfinished"></translation>
+ <translation>Errore nella rimozione del plug-in, Si prega di controllare i diritti sulla cartella &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation>Informazioni</translation>
</message>
@@ -1706,101 +1676,97 @@ Compilata come versione: %1.</translation>
<message>
<location filename="../../../PluginsManager.cpp" line="231"/>
<source>informations.xml not found for the plugin</source>
- <translation>informations.xml non trovato per il plug-in</translation>
+ <translation>informations.xml non rilevato per il plug-in</translation>
</message>
<message>
<location filename="../../../PluginsManager.cpp" line="265"/>
<source>&quot;package&quot; root tag not found for the xml file</source>
- <translation>Tag root &quot;package&quot; non trovato nel file xml</translation>
+ <translation>Tag root &quot;Package&quot; non rilevato nel file xml</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
- <translation>Trovato plug-in duplicato, già caricato!</translation>
+ <translation>Rilevato plug-in duplicato. Già caricato!</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
- <translation>Testo in inglese mancante in informations.xml per il tag: %1</translation>
+ <translation>Testo inglese mancante in informations.xml per il tag %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation>Tag non trovato: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation>Si desidera eliminare &quot;%1&quot; nella versione %2?</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation>Importazione precedente in corso ...</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation>Apri plug-in di Ultracopier</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation>Plug-in di Ultracopier (*.urc)</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation>Caricatore di plug-in</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
- <translation>Impossibile aprire il plug-in: %1</translation>
+ <translation>Impossibile aprire il plug-in &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
- <translation>Impossibile caricare il contenuto del plug-in, si prega di controllare: %1</translation>
+ <translation>Impossibile caricare il contenuto del plug-in, si prega di controllare: &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
- <translation>Impossibile creare una cartella per installare il plug-in:
-%1</translation>
+ <translation>Impossibile creare una cartella per installare il plug-in %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
- <translation>Impossibile creare un file per installare il plug-in:
-%1
-da: %2</translation>
+ <translation>Impossibile creare un file per installare il plug-in %1 da %2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
- <translation>E&apos; presente una cartella con lo stesso nome, non sarà installato il plug-in:
-%1</translation>
+ <translation>Presente cartella con identico nome, non sarà installato il plug-in &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation>Impossibile caricare il contenuto del plug-in, si prega di controllare</translation>
</message>
@@ -1811,17 +1777,17 @@ da: %2</translation>
<location filename="../../../ProductKey.ui" line="14"/>
<location filename="../../../ProductKey.ui" line="24"/>
<source>Product key</source>
- <translation type="unfinished"></translation>
+ <translation>Chiave prodotto</translation>
</message>
<message>
<location filename="../../../ProductKey.cpp" line="56"/>
<source>Error</source>
- <translation type="unfinished">Errore</translation>
+ <translation>Errore</translation>
</message>
<message>
<location filename="../../../ProductKey.cpp" line="56"/>
<source>Your product key was rejected.&lt;br /&gt;If you buy key, unmark check your spam and unmark the mail as spam&lt;br /&gt;If you have not buy your key, go to &lt;a href=&quot;https://shop.first-world.info/&quot;&gt;https://shop.first-world.info/&lt;/a&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>La vostra chiave prodotto è stata rigettata.&lt;br /&gt;Se avete comprato la chiave controllare la cartella spam della vostra casella email.&lt;br /&gt;Se non avete comprato la chiave, andare su &lt;a href=&quot;https://shop.first-world.info/&quot;&gt;https://shop.first-world.info/&lt;/a&gt;</translation>
</message>
</context>
<context>
@@ -1851,7 +1817,7 @@ da: %2</translation>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="105"/>
<source>Unsupported options in the .xz headers</source>
- <translation>Opzioni non supportate nelle intestazioni .xz</translation>
+ <translation>Opzioni non supportate nelle intestazioni del file .xz</translation>
</message>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="110"/>
@@ -1866,30 +1832,23 @@ da: %2</translation>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="124"/>
<source>The input data is too short</source>
- <translation>I dati inseriti sono troppo pochi</translation>
+ <translation>I dati inseriti sono troppo corti</translation>
</message>
</context>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1897,267 +1856,240 @@ da: %2</translation>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
- <translation>Nessuna copia del rilevatore trovata. Fare una copia manualmente cliccando col tasto destro del mouse sull&apos;icona nella barra di sistema.</translation>
+ <translation>Nessun rilevatore di copia trovato. Fare una copia manualmente cliccando col tasto destro del mouse sull&apos;icona nell&apos;area di notifica</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation>Informazioni</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
- <translation>Ricerca informazioni...</translation>
+ <translation>Cercando informazioni...</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
- <translation>Non ripristinare la copia/spostamento di Windows explorer</translation>
+ <translation>Non rimpiazzare il sistema di copia/spostamento di Windows Explorer</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
- <translation>Ripristinare parzialmente la copia/spostamento di Windows explorer</translation>
+ <translation>Rimpiazza parzialmente il sistema di copia/spostamento di Windows Explorer</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
- <translation>Ripristina la copia/spostamento di Windows explorer</translation>
+ <translation>Rimpiazza il sistema di copia/spostamento di Windows Explorer</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
- <translation type="unfinished">Avviso</translation>
+ <translation>Attenzione</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
- <translation type="unfinished"></translation>
+ <translation>Azione su icona dell&apos;area di notifica sconosciuta!</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
- <translation type="unfinished"></translation>
+ <translation>Rapporto di debug/informazioni</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
- <translation type="unfinished"></translation>
+ <translation>Al riguardo</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
- <translation type="unfinished"></translation>
+ <translation>Salva rapporto bug</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
- <translation type="unfinished"></translation>
+ <translation>Uscire</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
- <translation type="unfinished"></translation>
+ <translation>Opzioni</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
- <translation type="unfinished"></translation>
+ <translation>Chiave prodotto</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Nuova versione: %1</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
- <translation type="unfinished"></translation>
+ <translation>Vai alla pagina di scaricamento:</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
- <translation type="unfinished"></translation>
+ <translation>Aggiungi copia/spostamento</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
- <translation type="unfinished"></translation>
+ <translation>Aggiungi copia</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
- <translation type="unfinished"></translation>
+ <translation>Aggiungi trasferimento</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
- <translation type="unfinished"></translation>
+ <translation>Aggiungi spostamento</translation>
</message>
</context>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2190,323 +2122,243 @@ da: %2</translation>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished">Trasferisci</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished">KB</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished">MB</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished">Sfoglia</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2514,67 +2366,67 @@ da: %2</translation>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished">Dimensione</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
- <translation type="unfinished">Cartella di destinazione</translation>
+ <translation type="unfinished">Destinazione</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2582,141 +2434,153 @@ da: %2</translation>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
- <translation type="unfinished">Cartella di origine</translation>
+ <translation type="unfinished">Origine</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
- <translation type="unfinished">Cartella di destinazione</translation>
+ <translation type="unfinished">Destinazione</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished">Dimensione</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
- <translation type="unfinished">Sovrascrivi se più recente</translation>
+ <translation type="unfinished">Sovrascrivere se più recente</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished">Dimensione</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2724,65 +2588,65 @@ da: %2</translation>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
- <translation type="unfinished">Cartella di origine</translation>
+ <translation type="unfinished">Origine</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
- <translation type="unfinished">Cartella di destinazione</translation>
+ <translation type="unfinished">Destinazione</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished">Salta</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2832,7 +2696,7 @@ da: %2</translation>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="329"/>
<source>Transfer list</source>
- <translation type="unfinished">Lista dei trasferimenti</translation>
+ <translation type="unfinished">Lista di trasferimento</translation>
</message>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="352"/>
@@ -2903,12 +2767,12 @@ da: %2</translation>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="722"/>
<source>Source</source>
- <translation type="unfinished">Cartella di origine</translation>
+ <translation type="unfinished">Origine</translation>
</message>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="727"/>
<source>Destination</source>
- <translation type="unfinished">Cartella di destinazione</translation>
+ <translation type="unfinished">Destinazione</translation>
</message>
<message>
<location filename="../../Themes/Oxygen/interface.ui" line="741"/>
diff --git a/plugins/Languages/ja/flag.png b/plugins/Languages/ja/flag.png
index 5ac331e..5ac331e 100644..100755
--- a/plugins/Languages/ja/flag.png
+++ b/plugins/Languages/ja/flag.png
Binary files differ
diff --git a/plugins/Languages/ja/informations.xml b/plugins/Languages/ja/informations.xml
index d54bd12..7eccb7e 100644..100755
--- a/plugins/Languages/ja/informations.xml
+++ b/plugins/Languages/ja/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to japanese. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>jp</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/Languages/ja/translation.qm b/plugins/Languages/ja/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Languages/ja/translation.qm
Binary files differ
diff --git a/plugins/Languages/ja/translation.ts b/plugins/Languages/ja/translation.ts
index bce88f7..a36d3a5 100644..100755
--- a/plugins/Languages/ja/translation.ts
+++ b/plugins/Languages/ja/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -980,82 +925,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1271,54 +1227,54 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1378,157 +1334,172 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/ko/flag.png b/plugins/Languages/ko/flag.png
index 1dfaf96..1dfaf96 100644..100755
--- a/plugins/Languages/ko/flag.png
+++ b/plugins/Languages/ko/flag.png
Binary files differ
diff --git a/plugins/Languages/ko/informations.xml b/plugins/Languages/ko/informations.xml
index b101bc7..ca7bdf8 100644..100755
--- a/plugins/Languages/ko/informations.xml
+++ b/plugins/Languages/ko/informations.xml
@@ -13,7 +13,7 @@
<description xml:lang="en"><![CDATA[File to define all English language related, Ultracopier is written in English, then not translation file needed]]></description>
<description xml:lang="ko"><![CDATA[Ultracopier의 한국어 번역입니다. 더 나은 번역이나 오타, 오역에 대한 제보는 이메일로 연락해주시면 감사하겠습니다.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>ko</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/Languages/ko/translation.qm b/plugins/Languages/ko/translation.qm
new file mode 100755
index 0000000..d35f3f2
--- /dev/null
+++ b/plugins/Languages/ko/translation.qm
Binary files differ
diff --git a/plugins/Languages/ko/translation.ts b/plugins/Languages/ko/translation.ts
index 7199299..bd3227f 100644..100755
--- a/plugins/Languages/ko/translation.ts
+++ b/plugins/Languages/ko/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1" language="ko_KR">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished">건너뛰기</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished">건너뛰기</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation>알림</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation>호환되는 엔진을 찾을 수 없습니다!</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation>오류</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation>인터페이스를 불러올 수 없음, 복사가 취소되었습니다</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation>복사 엔진을 불러올 수 없음, 복사가 취소되었습니다</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation>복사 엔진</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation>복사</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation>이동</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation>일시 중지</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation>다시 시작</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation>건너뛰기</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation>무제한</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation>초</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation>너무 큽니다</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation>B</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation>KB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation>MB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation>GB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation>TB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation>PB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation>EB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation>ZB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation>YB</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -980,82 +925,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation>Qt에 대해</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation>충돌 발생시</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation>버그 보고서 저장</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation>닫기</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation>http://portableapps.com을 위해</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation>포터블 버전</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation>일반 버전</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation>http://ultracopier.first-world.info/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation>알림</translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation>연결된 클라이언트로부터 데이터를 재구성하는 동안에 시간이 초과되었습니다</translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished">알림</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation>복사 엔진</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation>테마</translation>
</message>
@@ -1281,54 +1237,54 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation>이름</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation>버전</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation>언어</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation>리스너</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation>플러그인 로더</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation>섹션 로더</translation>
</message>
@@ -1378,157 +1334,172 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation>플러그인</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation>추가</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation>제거</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation>정보</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation>복사 엔진 순서 환경 설정:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation>테마:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation>테마 플러그인을 불러올 수 없습니다</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation>이 플러그인에 대한 옵션이 없습니다</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation>찾아보기</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation>변수는 %time%, %source%, %size%, %destination% 입니다</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation>변수는 %time%, %path%, %size%, %mtime%, %error% 입니다</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation>로그 파일 작성:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation>로그 따로 저장:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation>로그 동기화됨</translation>
</message>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation>informations.xml 파일에 연결할 수 없습니다</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation>종속된 부분이 잘못되었습니다</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation>플러그인 %2에 대한 %1 종속성이 충족되지 않습니다</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation>%1 제거</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation>오류</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation>정보</translation>
</message>
@@ -1704,75 +1675,75 @@ This version is compiled as version: %1.</source>
<translation>xml 파일을 위한 &quot;패키지&quot; 루트 태그를 찾을 수 없습니다</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation>중복된 플러그인 발견, 이미 호출되었습니다!</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation>태그를 찾을 수 없음: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation>%2 버전에서 %1을 제거하시겠습니까?</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation>이전의 가져오기가 진행중입니다...</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation>Ultracopier 플러그인 열기</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation>Ultracopier (*.urc)</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation>플러그인 로더</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation>플러그인 열기 불가: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation>플러그인 내용을 불러올 수 없습니다. 확인해주십시오: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation>플러그인을 설치할 폴더를 생성할 수 없음:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
@@ -1781,16 +1752,16 @@ since:%2</source>
since:%2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation>동일한 이름의 폴더가 존재합니다. 플러그인 설치 건너뛰기:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation>플러그인 컨태츠를 불러올 수 없습니다. 확인해주십시오</translation>
</message>
@@ -1862,24 +1833,17 @@ since:%2</translation>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1887,198 +1851,183 @@ since:%2</translation>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished">복사 리스너를 찾을 수 없습니다. 트레이 아이콘에서 우클릭하여 수동으로 복사하십시오.</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished">정보</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished">정보 검색중...</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished">알림</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2086,68 +2035,56 @@ since:%2</translation>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2180,323 +2117,243 @@ since:%2</translation>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished">KB</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
+ <translation type="unfinished">MB</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished">찾아보기</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2504,67 +2361,67 @@ since:%2</translation>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished">오류</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2572,141 +2429,153 @@ since:%2</translation>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2714,65 +2583,65 @@ since:%2</translation>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished">건너뛰기</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/nl/flag.png b/plugins/Languages/nl/flag.png
index 0d00e1a..0d00e1a 100644..100755
--- a/plugins/Languages/nl/flag.png
+++ b/plugins/Languages/nl/flag.png
Binary files differ
diff --git a/plugins/Languages/nl/informations.xml b/plugins/Languages/nl/informations.xml
index 98c307a..9b84641 100644..100755
--- a/plugins/Languages/nl/informations.xml
+++ b/plugins/Languages/nl/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to dutch. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>nl</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/Languages/nl/translation.qm b/plugins/Languages/nl/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Languages/nl/translation.qm
Binary files differ
diff --git a/plugins/Languages/nl/translation.ts b/plugins/Languages/nl/translation.ts
index cb636cf..b64f48b 100644..100755
--- a/plugins/Languages/nl/translation.ts
+++ b/plugins/Languages/nl/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -974,82 +919,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1281,38 +1237,38 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1362,172 +1318,187 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/no/flag.png b/plugins/Languages/no/flag.png
index 16ec28a..16ec28a 100644..100755
--- a/plugins/Languages/no/flag.png
+++ b/plugins/Languages/no/flag.png
Binary files differ
diff --git a/plugins/Languages/no/informations.xml b/plugins/Languages/no/informations.xml
index 6e7ecff..d6b2bb2 100644..100755
--- a/plugins/Languages/no/informations.xml
+++ b/plugins/Languages/no/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to norwegian. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>no</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/Languages/no/translation.qm b/plugins/Languages/no/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Languages/no/translation.qm
Binary files differ
diff --git a/plugins/Languages/no/translation.ts b/plugins/Languages/no/translation.ts
index cb636cf..b64f48b 100644..100755
--- a/plugins/Languages/no/translation.ts
+++ b/plugins/Languages/no/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -974,82 +919,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1281,38 +1237,38 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1362,172 +1318,187 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/pl/flag.png b/plugins/Languages/pl/flag.png
index 439ee97..439ee97 100644..100755
--- a/plugins/Languages/pl/flag.png
+++ b/plugins/Languages/pl/flag.png
Binary files differ
diff --git a/plugins/Languages/pl/informations.xml b/plugins/Languages/pl/informations.xml
index 0afef03..3d0dbd0 100644..100755
--- a/plugins/Languages/pl/informations.xml
+++ b/plugins/Languages/pl/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to polish. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>pl</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/Languages/pl/translation.qm b/plugins/Languages/pl/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Languages/pl/translation.qm
Binary files differ
diff --git a/plugins/Languages/pl/translation.ts b/plugins/Languages/pl/translation.ts
index cb636cf..b64f48b 100644..100755
--- a/plugins/Languages/pl/translation.ts
+++ b/plugins/Languages/pl/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -974,82 +919,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1281,38 +1237,38 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1362,172 +1318,187 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/pt/flag.png b/plugins/Languages/pt/flag.png
index 3fb1e36..3fb1e36 100644..100755
--- a/plugins/Languages/pt/flag.png
+++ b/plugins/Languages/pt/flag.png
Binary files differ
diff --git a/plugins/Languages/pt/informations.xml b/plugins/Languages/pt/informations.xml
index eb40152..a1ba519 100644..100755
--- a/plugins/Languages/pt/informations.xml
+++ b/plugins/Languages/pt/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to portuguese. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>pt</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/Languages/pt/translation.qm b/plugins/Languages/pt/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Languages/pt/translation.qm
Binary files differ
diff --git a/plugins/Languages/pt/translation.ts b/plugins/Languages/pt/translation.ts
index cb636cf..b64f48b 100644..100755
--- a/plugins/Languages/pt/translation.ts
+++ b/plugins/Languages/pt/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -974,82 +919,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1281,38 +1237,38 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1362,172 +1318,187 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/ru/flag.png b/plugins/Languages/ru/flag.png
index 583e627..583e627 100644..100755
--- a/plugins/Languages/ru/flag.png
+++ b/plugins/Languages/ru/flag.png
Binary files differ
diff --git a/plugins/Languages/ru/informations.xml b/plugins/Languages/ru/informations.xml
index f34d54e..f2adff0 100644..100755
--- a/plugins/Languages/ru/informations.xml
+++ b/plugins/Languages/ru/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to russian. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>ru</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/Languages/ru/translation.qm b/plugins/Languages/ru/translation.qm
new file mode 100755
index 0000000..340a846
--- /dev/null
+++ b/plugins/Languages/ru/translation.qm
Binary files differ
diff --git a/plugins/Languages/ru/translation.ts b/plugins/Languages/ru/translation.ts
index 6bc6e2d..fb0fb51 100644..100755
--- a/plugins/Languages/ru/translation.ts
+++ b/plugins/Languages/ru/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1" language="ru" sourcelanguage="en">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished">Не поддерживается на этой платформе</translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished">назначение</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished">просить</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished">пропускать</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished">переименовать</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished">переписывать</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Заменить, если новее</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished">просить</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished">пропускать</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished">переименовать</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished">переписывать</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Заменить, если новее</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation>Предупреждение</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation>Не могу найти любой совместимый двигатель!</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation>Не могу найти любой двигатель с таким именем: %1</translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation>ошибка</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation>Не удалось получить экземпляр копии двигателей</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation>Не удалось загрузить интерфейс, копирование прервана</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation>Не удается загрузить копию двигателя, скопируйте прервана</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation>режим передачи</translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation>Копировать двигатель</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation>копия</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation>двигаться</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation>пауза</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation>резюме</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation>пропускать</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation>неограниченный</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation>Слишком большой</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation>Менее %10 секунд</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation>О %10 секунды осталось</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation>О %1 минуты до конца</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation>О %1 часов, оставшихся</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation>источник</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation>размер</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation>назначение</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation>выход</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation>цель</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation>Оставшееся время:</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation>список</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation>копирование</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation>Листинг и копирования</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation>просить</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation>переписывать</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation>Заменить, если новее</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation>Заменить, если последняя даты модификации отличаются</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation>переименовать</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation>Выберите исходный каталог</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation>Выберите папку назначения</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation>Внутренняя ошибка</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation>Выберите один или более файлов, чтобы открыть</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation>Все файлы</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation>Сохранить трансфер</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation>Откройте трансфер</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation>Передача списка</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation>ошибка</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation>Не поддерживается на этой платформе</translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -974,82 +919,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation>О Qt</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation>У аварии</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation>Сохранить отчет об ошибке</translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation>закрывать</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation>для http://portableapps.com/</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation>Портативная версия</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation>Нормальная версия</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation>Предупреждение</translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation>Тайм-аут в то время как композицию кадра данных из подключенных клиентов</translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished">Предупреждение</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation>Копировать двигатель</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation>Темы</translation>
</message>
@@ -1281,38 +1237,38 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation>имя</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation>версия</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation>язык</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation>слушатель</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation>плагин погрузчика</translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation>сессия погрузчика</translation>
</message>
@@ -1362,172 +1318,187 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation>плагин</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation>добавлять</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation>удаление</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation>информация</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation>Скопируйте двигателя порядке предпочтения:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation>Темы:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation>Не удается загрузить плагин темы</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation>просматривать</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation>Переменные are %time%, %source%, %size%, %destination%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation>Переменные %time%, %path%, %size%, %mtime%, %error%</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation>Запись в файл журнала:</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation>ничего не делать</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation>Спросите источника папку</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation>Спросите источников в виде файлов</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation>никогда</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation>Когда же источник</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation>Когда же назначения</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation>Когда источника и назначения те же</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation>Когда источника или назначения те же</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation>всегда</translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation>Сохранить журналы, как: </translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation>Синхронное журнала</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation>Нет опции для этого плагина</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation>Переменные %path%, %operation%</translation>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation>informations.xml не доступен</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation>Зависимости часть неправильно</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation>Зависимости %1 не выполняется, для плагина: %2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation>удаление: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation>ошибка</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation>информация</translation>
</message>
@@ -1704,75 +1675,75 @@ This version is compiled as version: %1.</source>
<translation>&quot;package&quot; Корневой тег не найден для XML-файла</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation>Дублированный плагин нашел, уже загружены!</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation>Тег не найден: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation>Вы уверены, что об удалении &quot;%1&quot; в версии %2?</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation>Предыдущая импорта идет ...</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation>Открытое плагин Ultracopier</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation>Ultracopier плагина (*.urc)</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation>плагин погрузчика</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation>Невозможно открыть плагин: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation>Не удается загрузить плагин содержания, пожалуйста, проверьте его: %1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation>Невозможно создать папку для установки плагина:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
@@ -1781,16 +1752,16 @@ since:%2</source>
С: %2</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation>Папка с таким же именем существует, пропустить установки плагина:
%1</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation>Не удается загрузить плагин содержания, пожалуйста, проверьте его</translation>
</message>
@@ -1862,24 +1833,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1887,198 +1851,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished">Нет копии слушатель найдено. Сделайте копию вручную, щелкните правой кнопкой мыши один из иконки в системном трее.</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished">информация</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished">Поиск информации ...</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished">Предупреждение</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2086,68 +2035,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2180,323 +2117,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished">просматривать</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2504,67 +2361,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished">ошибка</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished">размер</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished">назначение</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2572,141 +2429,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished">источник</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished">назначение</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished">размер</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished">Заменить, если новее</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished">размер</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2714,65 +2583,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished">источник</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished">назначение</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished">пропускать</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/th/flag.png b/plugins/Languages/th/flag.png
index 76d9cc3..76d9cc3 100644..100755
--- a/plugins/Languages/th/flag.png
+++ b/plugins/Languages/th/flag.png
Binary files differ
diff --git a/plugins/Languages/th/informations.xml b/plugins/Languages/th/informations.xml
index 56eab32..ba01fb7 100644..100755
--- a/plugins/Languages/th/informations.xml
+++ b/plugins/Languages/th/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to thai. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>th</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/Languages/th/translation.qm b/plugins/Languages/th/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Languages/th/translation.qm
Binary files differ
diff --git a/plugins/Languages/th/translation.ts b/plugins/Languages/th/translation.ts
index cb636cf..b64f48b 100644..100755
--- a/plugins/Languages/th/translation.ts
+++ b/plugins/Languages/th/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -974,82 +919,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1281,38 +1237,38 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1362,172 +1318,187 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/tr/flag.png b/plugins/Languages/tr/flag.png
index e26b94b..e26b94b 100644..100755
--- a/plugins/Languages/tr/flag.png
+++ b/plugins/Languages/tr/flag.png
Binary files differ
diff --git a/plugins/Languages/tr/informations.xml b/plugins/Languages/tr/informations.xml
index 7048279..499dac8 100644..100755
--- a/plugins/Languages/tr/informations.xml
+++ b/plugins/Languages/tr/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to turkish. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>tr</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/Languages/tr/translation.qm b/plugins/Languages/tr/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Languages/tr/translation.qm
Binary files differ
diff --git a/plugins/Languages/tr/translation.ts b/plugins/Languages/tr/translation.ts
index cb636cf..b64f48b 100644..100755
--- a/plugins/Languages/tr/translation.ts
+++ b/plugins/Languages/tr/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -974,82 +919,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1281,38 +1237,38 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1362,172 +1318,187 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/zh/flag.png b/plugins/Languages/zh/flag.png
index 928b698..928b698 100644..100755
--- a/plugins/Languages/zh/flag.png
+++ b/plugins/Languages/zh/flag.png
Binary files differ
diff --git a/plugins/Languages/zh/informations.xml b/plugins/Languages/zh/informations.xml
index 897bb58..21f5d82 100644..100755
--- a/plugins/Languages/zh/informations.xml
+++ b/plugins/Languages/zh/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to chinese. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>ch</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/Languages/zh/translation.qm b/plugins/Languages/zh/translation.qm
new file mode 100755
index 0000000..e866968
--- /dev/null
+++ b/plugins/Languages/zh/translation.qm
Binary files differ
diff --git a/plugins/Languages/zh/translation.ts b/plugins/Languages/zh/translation.ts
index 8c7df64..0beabf9 100644..100755
--- a/plugins/Languages/zh/translation.ts
+++ b/plugins/Languages/zh/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="411"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="434"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="446"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="469"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="493"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="493"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="649"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="907"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="910"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="915"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="919"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="908"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="912"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="916"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="920"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="911"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="913"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="925"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="917"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="921"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="922"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="923"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="924"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="995"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="995"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,70 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="364"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="367"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="372"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="376"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="365"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="369"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="373"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="377"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="368"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="382"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="374"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="378"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="379"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="380"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="381"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="397"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +256,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation>警告</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +287,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +301,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +374,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +402,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +665,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +678,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="187"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="194"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="285"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="285"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +701,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="141"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="148"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="221"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="221"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +724,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +802,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="30"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="93"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="105"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="131"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="96"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="134"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="137"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="107"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="145"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="148"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="154"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="216"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="255"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +863,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="165"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="174"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="241"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="241"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +891,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="39"/>
<source>About Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -980,82 +920,82 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
+ <location filename="../../../HelpDialog.cpp" line="37"/>
<source>About Supercopier</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="84"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="87"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="89"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="94"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="96"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="113"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="146"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="152"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="158"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="119"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="411"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="418"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="268"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="275"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="284"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="293"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="299"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="363"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="371"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="129"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="399"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="192"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="215"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="232"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="260"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="283"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="314"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="320"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,52 @@ This version is compiled as version: %1.</source>
<translation type="unfinished">警告</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="129"/>
+ <source>Supercopier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1210,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
+ <location filename="../../../OptionDialog.ui" line="359"/>
<location filename="../../../OptionDialog.cpp" line="283"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="387"/>
<source>Themes</source>
<translation type="unfinished"></translation>
</message>
@@ -1271,53 +1232,53 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="349"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="354"/>
<source>Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="364"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="535"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="838"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="848"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
+ <location filename="../../../OptionDialog.ui" line="372"/>
<location filename="../../../OptionDialog.cpp" line="284"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
+ <location filename="../../../OptionDialog.ui" line="377"/>
<location filename="../../../OptionDialog.cpp" line="285"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
+ <location filename="../../../OptionDialog.ui" line="382"/>
<location filename="../../../OptionDialog.cpp" line="286"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
@@ -1378,79 +1339,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="313"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="395"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="414"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="427"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="437"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="464"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="591"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="653"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="703"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="753"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="765"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="778"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="808"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="734"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
@@ -1523,12 +1494,12 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="955"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="768"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
@@ -1658,27 +1629,27 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1698,95 +1669,95 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1811,6 +1782,19 @@ since:%2</source>
</message>
</context>
<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../Themes/Oxygen2/radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Themes/Oxygen2/radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>QXzDecode</name>
<message>
<location filename="../../../lib/qt-tar-xz/QXzDecode.cpp" line="38"/>
@@ -1856,225 +1840,193 @@ since:%2</source>
</message>
</context>
<context>
- <name>ReadThread</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
- <source>Internal error, please report it!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
+ <name>RadialMap::Widget</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
- <source>Unable to read the source file: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
- <source>File truncated during the read, possible data change</source>
+ <location filename="../../Themes/Oxygen2/radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../Themes/Oxygen2/radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="659"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished">警告</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,93 +2034,82 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="292"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="313"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="510"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="817"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="819"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="1320"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="1321"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="1322"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="1324"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="1519"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="1531"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="1543"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
- <source>%1 %2% of %3</source>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="1631"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="1642"/>
+ <location filename="../../Themes/Oxygen2/interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ThemesFactory</name>
<message>
- <location filename="../../Themes/Oxygen/ThemesFactory.cpp" line="284"/>
+ <location filename="../../Themes/Oxygen2/ThemesFactory.cpp" line="295"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/ThemesFactory.cpp" line="285"/>
+ <location filename="../../Themes/Oxygen2/ThemesFactory.cpp" line="296"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/ThemesFactory.cpp" line="286"/>
+ <location filename="../../Themes/Oxygen2/ThemesFactory.cpp" line="297"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/ThemesFactory.cpp" line="482"/>
- <location filename="../../Themes/Oxygen/ThemesFactory.cpp" line="497"/>
- <location filename="../../Themes/Oxygen/ThemesFactory.cpp" line="512"/>
+ <location filename="../../Themes/Oxygen2/ThemesFactory.cpp" line="493"/>
+ <location filename="../../Themes/Oxygen2/ThemesFactory.cpp" line="508"/>
+ <location filename="../../Themes/Oxygen2/ThemesFactory.cpp" line="523"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2117,173 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="181"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="494"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="501"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="529"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="767"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="767"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="803"/>
<source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>WriteThread</name>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
- <source>Path resolution error (Empty path)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="210"/>
+ <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="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="290"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="307"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="292"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="309"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
- <source>Move the whole folder</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="53"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="73"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="93"/>
+ <source>Less performance if checked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="96"/>
+ <source>Follow the strict order</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="106"/>
+ <source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="113"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="127"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="143"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="149"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="159"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="185"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="245"/>
<source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="276"/>
<source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="283"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="303"/>
<source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="316"/>
<source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="347"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="353"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="393"/>
+ <source>Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="409"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="415"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="425"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="437"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="459"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2291,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,88 +2359,88 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
@@ -2657,52 +2448,52 @@ since:%2</source>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2501,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2776,158 +2567,163 @@ since:%2</source>
<context>
<name>interfaceCopy</name>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="35"/>
- <source>From:</source>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="232"/>
+ <source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="65"/>
- <source>To:</source>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="252"/>
+ <source>100MB+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="118"/>
- <source>Close on transfer completion</source>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="301"/>
+ <source>&amp;More</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="226"/>
- <source>&amp;More</source>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="321"/>
+ <source>&amp;Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="246"/>
- <source>&amp;Pause</source>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="260"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="482"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="271"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="493"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="286"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="527"/>
<source>Limit copy speed to:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="329"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="570"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="352"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="593"/>
<source>Move the selected items to the top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="378"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="619"/>
<source>Move up the selected items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="404"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="645"/>
<source>Move down the selected items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="430"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="671"/>
<source>Move the selected items to the bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="456"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="697"/>
<source>Add file/folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="485"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="726"/>
<source>Delete the selected items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="511"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="752"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="540"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="781"/>
<source>Export the transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="566"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="807"/>
<source>Import the transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="621"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="862"/>
<source>Previous</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="628"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="869"/>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="663"/>
- <location filename="../../Themes/Oxygen/interface.ui" line="732"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="904"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="973"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="683"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="924"/>
<source>Export the errors into transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="722"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="963"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="727"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="968"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="741"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="982"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="778"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="1028"/>
<source>Add file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="787"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="1037"/>
<source>Add folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="796"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="1046"/>
<source>Move file(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="805"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="1055"/>
<source>Move folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="814"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="1064"/>
<source>Copy file(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.ui" line="823"/>
+ <location filename="../../Themes/Oxygen2/interface.ui" line="1073"/>
<source>Copy folder</source>
<translation type="unfinished"></translation>
</message>
@@ -2935,43 +2731,38 @@ since:%2</source>
<context>
<name>options</name>
<message>
- <location filename="../../Themes/Oxygen/options.ui" line="23"/>
- <source> KB/s</source>
+ <location filename="../../Themes/Oxygen2/options.ui" line="129"/>
+ <source>Speed with progress bar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/options.ui" line="55"/>
- <source>Progression color</source>
+ <location filename="../../Themes/Oxygen2/options.ui" line="155"/>
+ <source>Show speed as main information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/options.ui" line="62"/>
- <location filename="../../Themes/Oxygen/options.ui" line="132"/>
- <source>Limit copy speed at:</source>
+ <location filename="../../Themes/Oxygen2/options.ui" line="162"/>
+ <source>Progression color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/options.ui" line="85"/>
- <source>Speed with progress bar</source>
+ <location filename="../../Themes/Oxygen2/options.ui" line="169"/>
+ <location filename="../../Themes/Oxygen2/options.ui" line="215"/>
+ <source>Limit copy speed at:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/options.ui" line="92"/>
- <source>Start with the &quot;more button&quot; pushed</source>
+ <location filename="../../Themes/Oxygen2/options.ui" line="179"/>
+ <source> KB/s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/options.ui" line="112"/>
+ <location filename="../../Themes/Oxygen2/options.ui" line="208"/>
<source>Show dual progression</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/options.ui" line="122"/>
- <source>Show speed as main information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/options.ui" line="149"/>
+ <location filename="../../Themes/Oxygen2/options.ui" line="235"/>
<source>At the end of the copy: </source>
<translation type="unfinished"></translation>
</message>
@@ -2979,88 +2770,93 @@ since:%2</source>
<context>
<name>themesOptions</name>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="44"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="44"/>
<source>Use</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="53"/>
- <source>Start minimized</source>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="67"/>
- <source>Minimize on close to systray</source>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="77"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="94"/>
+ <source>Limit copy speed to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="96"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="87"/>
<source>At the end of the copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="103"/>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="137"/>
- <source>Limit copy speed to</source>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="104"/>
+ <source> KB/s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="147"/>
- <source> KB/s</source>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="117"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="173"/>
- <source>Start with the &quot;more button&quot; pushed</source>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="124"/>
+ <source>Start minimized</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="183"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="144"/>
<source>Always on top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="190"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="151"/>
<source>Save position</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="213"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="211"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="227"/>
<source>Informations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="219"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="233"/>
<source>Show speed as main information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="251"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="265"/>
<source>Display</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="257"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="271"/>
<source>Speed with progress bar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="267"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="281"/>
<source>Show dual progression</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="277"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="291"/>
<source>Show progression in the title</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="287"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="301"/>
<source>Progression color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/themesOptions.ui" line="306"/>
+ <location filename="../../Themes/Oxygen2/themesOptions.ui" line="320"/>
<source>Click to edit the color</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Languages/zh_TW/flag.png b/plugins/Languages/zh_TW/flag.png
index 4f00c2d..4f00c2d 100644..100755
--- a/plugins/Languages/zh_TW/flag.png
+++ b/plugins/Languages/zh_TW/flag.png
Binary files differ
diff --git a/plugins/Languages/zh_TW/informations.xml b/plugins/Languages/zh_TW/informations.xml
index 8d1a3d0..e06a397 100644..100755
--- a/plugins/Languages/zh_TW/informations.xml
+++ b/plugins/Languages/zh_TW/informations.xml
@@ -12,7 +12,7 @@
<!-- Detailed description -->
<description xml:lang="en"><![CDATA[Translation of Ultracopier to chinese traditional. For more details see the web site.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>zh_tw</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/Languages/zh_TW/translation.qm b/plugins/Languages/zh_TW/translation.qm
new file mode 100755
index 0000000..0d07322
--- /dev/null
+++ b/plugins/Languages/zh_TW/translation.qm
Binary files differ
diff --git a/plugins/Languages/zh_TW/translation.ts b/plugins/Languages/zh_TW/translation.ts
index 62c72d5..5d4de45 100644..100755
--- a/plugins/Languages/zh_TW/translation.ts
+++ b/plugins/Languages/zh_TW/translation.ts
@@ -2,41 +2,6 @@
<!DOCTYPE TS>
<TS version="2.1" language="zh_TW">
<context>
- <name>AvancedQFile</name>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="26"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="57"/>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="88"/>
- <source>Not supported on this platform</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="40"/>
- <source>Last modified date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="71"/>
- <source>Last access date is wrong</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="121"/>
- <source>Unknown error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="133"/>
- <source>Path conversion error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/AvancedQFile.cpp" line="187"/>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>CliParser</name>
<message>
<location filename="../../../CliParser.cpp" line="37"/>
@@ -128,106 +93,91 @@
<context>
<name>CopyEngine</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="429"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="451"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="461"/>
<source>The engine is forced to move, you can&apos;t copy with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="462"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="484"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="473"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="496"/>
<source>The engine is forced to copy, you can&apos;t move with it</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="508"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="520"/>
<source>Use the actual destination &quot;%1&quot;?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="732"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="685"/>
<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/Ultracopier/CopyEngine.cpp" line="1062"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1065"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1070"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1074"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="976"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="979"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="984"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="988"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1063"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1067"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1071"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1075"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="977"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="981"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="985"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="989"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1066"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="980"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1068"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1080"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="982"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="994"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1072"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="986"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1076"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="990"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1077"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="991"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1078"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="992"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1079"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="993"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1082"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1083"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1084"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngine.cpp" line="1185"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngine.cpp" line="1064"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -235,85 +185,75 @@
<context>
<name>CopyEngineFactory</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="430"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="435"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="303"/>
+ <source>Supported only on Windows</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="430"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="433"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="438"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="442"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="428"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="432"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="436"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="440"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="435"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="439"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="443"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="434"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="433"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="445"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="436"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="448"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="437"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="440"/>
<source>Put at the end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="441"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="444"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="445"/>
<source>Overwrite if different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="443"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="446"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="444"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="447"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="447"/>
- <source>Automatic</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="448"/>
- <source>Sequential</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="449"/>
- <source>Parallel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="500"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="463"/>
<source>Options engine is not loaded. Unable to access the filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/CopyEngineFactory.cpp" line="539"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/CopyEngineFactory.cpp" line="502"/>
<source>Options engine is not loaded, can&apos;t access to the filters</source>
<translation type="unfinished"></translation>
</message>
@@ -321,30 +261,30 @@
<context>
<name>CopyEngineManager</name>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Warning</source>
<translation>警告</translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="233"/>
+ <location filename="../../../CopyEngineManager.cpp" line="234"/>
<source>Cannot find any copy engine with move support</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="261"/>
+ <location filename="../../../CopyEngineManager.cpp" line="262"/>
<source>This copy engine does not support move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="238"/>
+ <location filename="../../../CopyEngineManager.cpp" line="239"/>
<source>Cannot find any compatible engine!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../CopyEngineManager.cpp" line="275"/>
+ <location filename="../../../CopyEngineManager.cpp" line="279"/>
<source>Cannot find any engine with this name: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -352,12 +292,12 @@
<context>
<name>CopyListener</name>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error</source>
<translation>錯誤</translation>
</message>
<message>
- <location filename="../../../CopyListener.cpp" line="159"/>
+ <location filename="../../../CopyListener.cpp" line="160"/>
<source>Error during the reception of the copy/move list
%1</source>
<translation type="unfinished"></translation>
@@ -366,72 +306,72 @@
<context>
<name>Core</name>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="117"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="217"/>
- <location filename="../../../Core.cpp" line="231"/>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="127"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="227"/>
+ <location filename="../../../Core.cpp" line="241"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Error</source>
<translation>錯誤</translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="46"/>
- <location filename="../../../Core.cpp" line="143"/>
- <location filename="../../../Core.cpp" line="158"/>
- <location filename="../../../Core.cpp" line="178"/>
- <location filename="../../../Core.cpp" line="192"/>
- <location filename="../../../Core.cpp" line="201"/>
- <location filename="../../../Core.cpp" line="210"/>
- <location filename="../../../Core.cpp" line="231"/>
+ <location filename="../../../Core.cpp" line="56"/>
+ <location filename="../../../Core.cpp" line="153"/>
+ <location filename="../../../Core.cpp" line="168"/>
+ <location filename="../../../Core.cpp" line="188"/>
+ <location filename="../../../Core.cpp" line="202"/>
+ <location filename="../../../Core.cpp" line="211"/>
+ <location filename="../../../Core.cpp" line="220"/>
+ <location filename="../../../Core.cpp" line="241"/>
<source>Unable to get a copy engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Group window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="94"/>
+ <location filename="../../../Core.cpp" line="104"/>
<source>Do you want group the transfer with another actual running transfer?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="117"/>
+ <location filename="../../../Core.cpp" line="127"/>
<source>Unable to get a engine instance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="217"/>
+ <location filename="../../../Core.cpp" line="227"/>
<source>The argument for the mode is not valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1145"/>
+ <location filename="../../../Core.cpp" line="1185"/>
<source>Do you want to copy? If no, it will be moved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="265"/>
- <location filename="../../../Core.cpp" line="402"/>
+ <location filename="../../../Core.cpp" line="275"/>
+ <location filename="../../../Core.cpp" line="413"/>
<source>Unable to load the interface, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="407"/>
+ <location filename="../../../Core.cpp" line="418"/>
<source>Unable to load the copy engine, copy aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../Core.cpp" line="1144"/>
+ <location filename="../../../Core.cpp" line="1184"/>
<source>Transfer mode</source>
<translation type="unfinished"></translation>
</message>
@@ -439,27 +379,27 @@
<context>
<name>DiskSpace</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="14"/>
<source>Disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="24"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="24"/>
<source>You need more space on this drive to finish this transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="49"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="49"/>
<source>Continue</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.ui" line="56"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/DiskSpace.cpp" line="23"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/DiskSpace.cpp" line="23"/>
<source>Drives %1 have %2 available but need %3</source>
<translation type="unfinished"></translation>
</message>
@@ -467,257 +407,262 @@
<context>
<name>FacilityEngine</name>
<message>
- <location filename="../../../FacilityEngine.cpp" line="54"/>
+ <location filename="../../../FacilityEngine.cpp" line="59"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="56"/>
+ <location filename="../../../FacilityEngine.cpp" line="61"/>
<source>Copy</source>
<extracomment>a copy</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="60"/>
+ <location filename="../../../FacilityEngine.cpp" line="65"/>
<source>Move</source>
<extracomment>a move</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="62"/>
+ <location filename="../../../FacilityEngine.cpp" line="67"/>
<source>Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="63"/>
+ <location filename="../../../FacilityEngine.cpp" line="68"/>
<source>Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="64"/>
- <location filename="../../../FacilityEngine.cpp" line="78"/>
+ <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="84"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="65"/>
+ <location filename="../../../FacilityEngine.cpp" line="70"/>
<source>Unlimited</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="38"/>
+ <location filename="../../../FacilityEngine.cpp" line="43"/>
<source>s</source>
<translation>秒</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="39"/>
+ <location filename="../../../FacilityEngine.cpp" line="44"/>
<source>Too big</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="40"/>
+ <location filename="../../../FacilityEngine.cpp" line="45"/>
<source>B</source>
<translation></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="41"/>
+ <location filename="../../../FacilityEngine.cpp" line="46"/>
<source>KB</source>
<translation></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="42"/>
+ <location filename="../../../FacilityEngine.cpp" line="47"/>
<source>MB</source>
<translation></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="43"/>
+ <location filename="../../../FacilityEngine.cpp" line="48"/>
<source>GB</source>
<translation></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="44"/>
+ <location filename="../../../FacilityEngine.cpp" line="49"/>
<source>TB</source>
<translation></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="45"/>
+ <location filename="../../../FacilityEngine.cpp" line="50"/>
<source>PB</source>
<translation></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="46"/>
+ <location filename="../../../FacilityEngine.cpp" line="51"/>
<source>EB</source>
<translation></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="47"/>
+ <location filename="../../../FacilityEngine.cpp" line="52"/>
<source>ZB</source>
<translation></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="48"/>
+ <location filename="../../../FacilityEngine.cpp" line="53"/>
<source>YB</source>
<translation></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="49"/>
+ <location filename="../../../FacilityEngine.cpp" line="54"/>
<source>Less than %10 seconds</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="50"/>
+ <location filename="../../../FacilityEngine.cpp" line="55"/>
<source>About %10 seconds remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="51"/>
+ <location filename="../../../FacilityEngine.cpp" line="56"/>
<source>About %1 minutes remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="52"/>
+ <location filename="../../../FacilityEngine.cpp" line="57"/>
<source>About %1 hours remaining</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="58"/>
+ <location filename="../../../FacilityEngine.cpp" line="63"/>
<source>Transfer</source>
<extracomment>a transfer</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="61"/>
+ <location filename="../../../FacilityEngine.cpp" line="66"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="66"/>
+ <location filename="../../../FacilityEngine.cpp" line="71"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="67"/>
+ <location filename="../../../FacilityEngine.cpp" line="72"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="68"/>
+ <location filename="../../../FacilityEngine.cpp" line="73"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="69"/>
+ <location filename="../../../FacilityEngine.cpp" line="74"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="70"/>
+ <location filename="../../../FacilityEngine.cpp" line="75"/>
<source>Target</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="71"/>
- <location filename="../../../FacilityEngine.cpp" line="75"/>
+ <location filename="../../../FacilityEngine.cpp" line="76"/>
+ <location filename="../../../FacilityEngine.cpp" line="80"/>
<source>Time remaining:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="72"/>
+ <location filename="../../../FacilityEngine.cpp" line="77"/>
<source>Listing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="73"/>
+ <location filename="../../../FacilityEngine.cpp" line="78"/>
<source>Copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="74"/>
+ <location filename="../../../FacilityEngine.cpp" line="79"/>
<source>Listing and copying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="77"/>
+ <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../FacilityEngine.cpp" line="83"/>
<source>Ask</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="79"/>
+ <location filename="../../../FacilityEngine.cpp" line="85"/>
<source>Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="80"/>
+ <location filename="../../../FacilityEngine.cpp" line="86"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="81"/>
+ <location filename="../../../FacilityEngine.cpp" line="87"/>
<source>Overwrite if the last modification dates are different</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="82"/>
+ <location filename="../../../FacilityEngine.cpp" line="88"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="83"/>
+ <location filename="../../../FacilityEngine.cpp" line="89"/>
<source>Put to the end of the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="84"/>
+ <location filename="../../../FacilityEngine.cpp" line="90"/>
<source>Select source directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="85"/>
+ <location filename="../../../FacilityEngine.cpp" line="91"/>
<source>Select destination directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="86"/>
+ <location filename="../../../FacilityEngine.cpp" line="92"/>
<source>Internal error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="87"/>
+ <location filename="../../../FacilityEngine.cpp" line="93"/>
<source>Select one or more files to open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="88"/>
+ <location filename="../../../FacilityEngine.cpp" line="94"/>
<source>All files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="89"/>
+ <location filename="../../../FacilityEngine.cpp" line="95"/>
<source>Save transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="90"/>
+ <location filename="../../../FacilityEngine.cpp" line="96"/>
<source>Open transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="91"/>
+ <location filename="../../../FacilityEngine.cpp" line="97"/>
<source>Transfer list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="92"/>
+ <location filename="../../../FacilityEngine.cpp" line="98"/>
<source>Error</source>
<translation type="unfinished">錯誤</translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="93"/>
+ <location filename="../../../FacilityEngine.cpp" line="99"/>
<source>Not supported on this platform</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../FacilityEngine.cpp" line="94"/>
+ <location filename="../../../FacilityEngine.cpp" line="100"/>
<source>Completed in %1</source>
<translation type="unfinished"></translation>
</message>
@@ -725,12 +670,12 @@
<context>
<name>FileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="54"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="87"/>
<source>Error on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileErrorDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileErrorDialog.cpp" line="90"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
@@ -738,22 +683,22 @@
<context>
<name>FileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="191"/>
<source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="144"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="198"/>
<source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Error</source>
<translation type="unfinished">錯誤</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileExistsDialog.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileExistsDialog.cpp" line="289"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -761,22 +706,22 @@
<context>
<name>FileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="111"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="140"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="118"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="147"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Error</source>
<translation type="unfinished">錯誤</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FileIsSameDialog.cpp" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FileIsSameDialog.cpp" line="220"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -784,77 +729,77 @@
<context>
<name>FilterRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="17"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="17"/>
<source>Filters dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="33"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="33"/>
<source>Search:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="43"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="43"/>
<source>Search type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="51"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="56"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="56"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="61"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="61"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="69"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="69"/>
<source>Apply on:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="77"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="77"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="82"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="87"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="87"/>
<source>File and folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="95"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="95"/>
<source>Whole string must match</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="102"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="102"/>
<source>Checking</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="108"/>
<source>The regex is valid</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="115"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="115"/>
<source>Test string:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FilterRules.ui" line="125"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FilterRules.ui" line="125"/>
<source>The test string matches with the regex</source>
<translation type="unfinished"></translation>
</message>
@@ -862,60 +807,60 @@
<context>
<name>Filters</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="14"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="30"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="39"/>
<source>Exclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="111"/>
<source>Inclusion filters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.ui" line="105"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.ui" line="132"/>
<source>None = Include all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="131"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="94"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="132"/>
<source>Raw text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="96"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="134"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="97"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="135"/>
<source>Simplified regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="137"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="100"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="138"/>
<source>Perl&apos;s regex</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="107"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="108"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="146"/>
<source>Only on file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="110"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="148"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="111"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="149"/>
<source>Only on folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="154"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="216"/>
- <location filename="../../CopyEngine/Ultracopier/Filters.cpp" line="255"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="117"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="217"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/Filters.cpp" line="256"/>
<source>Full match</source>
<translation type="unfinished"></translation>
</message>
@@ -923,27 +868,27 @@
<context>
<name>FolderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="84"/>
<source>Folder already exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="122"/>
- <source>%name% - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="164"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="131"/>
- <source>%name% - copy (%number%)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="173"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Error</source>
<translation type="unfinished">錯誤</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/FolderExistsDialog.cpp" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/FolderExistsDialog.cpp" line="240"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
@@ -951,7 +896,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../../../HelpDialog.cpp" line="38"/>
+ <location filename="../../../HelpDialog.cpp" line="36"/>
<source>About Ultracopier</source>
<translation>關於 Ultracopier</translation>
</message>
@@ -980,82 +925,77 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="128"/>
+ <location filename="../../../HelpDialog.ui" line="131"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="151"/>
+ <location filename="../../../HelpDialog.ui" line="154"/>
<source>Check update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="158"/>
+ <location filename="../../../HelpDialog.ui" line="161"/>
<source>Do a crash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="165"/>
+ <location filename="../../../HelpDialog.ui" line="168"/>
<source>Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.ui" line="172"/>
+ <location filename="../../../HelpDialog.ui" line="175"/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="36"/>
- <source>About Supercopier</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../../HelpDialog.cpp" line="83"/>
+ <location filename="../../../HelpDialog.cpp" line="80"/>
<source>For http://portableapps.com/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="86"/>
+ <location filename="../../../HelpDialog.cpp" line="83"/>
<source>Portable and all in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="88"/>
+ <location filename="../../../HelpDialog.cpp" line="85"/>
<source>Portable version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="93"/>
+ <location filename="../../../HelpDialog.cpp" line="90"/>
<source>All in one version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="95"/>
+ <location filename="../../../HelpDialog.cpp" line="92"/>
<source>Normal version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="112"/>
+ <location filename="../../../HelpDialog.cpp" line="109"/>
<source>http://ultracopier.first-world.info/</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="145"/>
+ <location filename="../../../HelpDialog.cpp" line="142"/>
<source>Update checking...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="151"/>
+ <location filename="../../../HelpDialog.cpp" line="148"/>
<source>Update: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="157"/>
+ <location filename="../../../HelpDialog.cpp" line="154"/>
<source>No update</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../HelpDialog.cpp" line="118"/>
+ <location filename="../../../HelpDialog.cpp" line="115"/>
<source>http://ultracopier.first-world.info/download.html</source>
<translation type="unfinished"></translation>
</message>
@@ -1063,49 +1003,49 @@ This version is compiled as version: %1.</source>
<context>
<name>ListThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1487"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2419"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="242"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="413"/>
<source>Unable do to move or copy item into wrong forced mode: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1494"/>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="2426"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="249"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="420"/>
<source>Unable to save the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1510"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="270"/>
<source>Problem reading file, or file-size is 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1517"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="277"/>
<source>Wrong header: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1526"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="286"/>
<source>The transfer list is in mixed mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1535"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="295"/>
<source>The transfer list is in copy mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1541"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="301"/>
<source>The transfer list is in move mode, but this instance is not in this mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1604"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="365"/>
<source>Some errors have been found during the line parsing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ListThread.cpp" line="1612"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ListThreadListChange.cpp" line="373"/>
<source>Unable to open the transfer list: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1121,12 +1061,12 @@ This version is compiled as version: %1.</source>
<context>
<name>LocalListener</name>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Warning</source>
<translation>警告</translation>
</message>
<message>
- <location filename="../../../LocalListener.cpp" line="162"/>
+ <location filename="../../../LocalListener.cpp" line="168"/>
<source>Timeout while recomposing data from connected clients</source>
<translation type="unfinished"></translation>
</message>
@@ -1155,36 +1095,42 @@ This version is compiled as version: %1.</source>
<context>
<name>MkPath</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="93"/>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="276"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="124"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="394"/>
<source>Unable to remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="142"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="210"/>
<source>Unable to create the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="227"/>
<source>The source folder don&apos;t exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="183"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="255"/>
<source>Unable to temporary rename the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="206"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="278"/>
<source>Unable to do the final real move the folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/MkPath.cpp" line="233"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="309"/>
<source>Unable to move the folder</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/MkPath.cpp" line="315"/>
+ <source>Unable to move the folder: errno: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>OSSpecific</name>
@@ -1194,37 +1140,47 @@ This version is compiled as version: %1.</source>
<translation>警告</translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="58"/>
+ <location filename="../../../OSSpecific.ui" line="119"/>
+ <source>Classic</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="124"/>
+ <source>Modern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OSSpecific.ui" line="177"/>
<source>Don&apos;t show again</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.ui" line="83"/>
+ <location filename="../../../OSSpecific.ui" line="202"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="23"/>
- <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
+ <location filename="../../../OSSpecific.cpp" line="29"/>
+ <source>The replacement of default copy/move system is not supported by the file manager (Dolphin, Nautilus, ...).&lt;br /&gt;Ask the developer of your file manager to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="25"/>
+ <location filename="../../../OSSpecific.cpp" line="31"/>
<source>Reboot the system if previously had similar software installed (like Teracopy, Supercopier or an earlier version of Ultracopier).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="27"/>
+ <location filename="../../../OSSpecific.cpp" line="33"/>
<source>The replacement of default copy/move system is not supported and blocked by finder of Mac OS X.&lt;br /&gt;You need do the copy/move manually by right clicking on the system tray icon near the clock (not the dock icon).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="29"/>
+ <location filename="../../../OSSpecific.cpp" line="35"/>
<source>The replacement of default copy/move system should be not supported by the file manager.&lt;br /&gt;Ask to the developer to support it.&lt;br /&gt;You need do the copy/move manually.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OSSpecific.cpp" line="32"/>
+ <location filename="../../../OSSpecific.cpp" line="38"/>
<source>Consider Supercopier as deprecated, prefer Ultracopier</source>
<translation type="unfinished"></translation>
</message>
@@ -1249,14 +1205,14 @@ This version is compiled as version: %1.</source>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="75"/>
- <location filename="../../../OptionDialog.ui" line="335"/>
- <location filename="../../../OptionDialog.cpp" line="283"/>
+ <location filename="../../../OptionDialog.ui" line="366"/>
+ <location filename="../../../OptionDialog.cpp" line="290"/>
<source>Copy engine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="101"/>
- <location filename="../../../OptionDialog.ui" line="363"/>
+ <location filename="../../../OptionDialog.ui" line="394"/>
<source>Themes</source>
<translation>佈景</translation>
</message>
@@ -1271,54 +1227,54 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="325"/>
+ <location filename="../../../OptionDialog.ui" line="356"/>
<source>Name</source>
<translation>名稱</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="330"/>
+ <location filename="../../../OptionDialog.ui" line="361"/>
<source>Version</source>
<translation>版本</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="340"/>
+ <location filename="../../../OptionDialog.ui" line="371"/>
<source>Language</source>
<translation>語言</translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="511"/>
+ <location filename="../../../OptionDialog.ui" line="542"/>
<source>Client connected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="814"/>
+ <location filename="../../../OptionDialog.ui" line="845"/>
<source>Write the folder operations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="824"/>
+ <location filename="../../../OptionDialog.ui" line="855"/>
<source>The variables are %path%, %operation%</source>
<extracomment>%path%, %operation% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="80"/>
- <location filename="../../../OptionDialog.ui" line="348"/>
- <location filename="../../../OptionDialog.cpp" line="284"/>
+ <location filename="../../../OptionDialog.ui" line="379"/>
+ <location filename="../../../OptionDialog.cpp" line="291"/>
<source>Listener</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="85"/>
- <location filename="../../../OptionDialog.ui" line="353"/>
- <location filename="../../../OptionDialog.cpp" line="285"/>
+ <location filename="../../../OptionDialog.ui" line="384"/>
+ <location filename="../../../OptionDialog.cpp" line="292"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../OptionDialog.ui" line="93"/>
- <location filename="../../../OptionDialog.ui" line="358"/>
- <location filename="../../../OptionDialog.cpp" line="286"/>
+ <location filename="../../../OptionDialog.ui" line="389"/>
+ <location filename="../../../OptionDialog.cpp" line="293"/>
<source>Session loader</source>
<translation type="unfinished"></translation>
</message>
@@ -1378,157 +1334,172 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="371"/>
+ <location filename="../../../OptionDialog.ui" line="304"/>
+ <source>default: finish.opus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="311"/>
+ <source>Play</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="320"/>
+ <source>Sound when finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../../OptionDialog.ui" line="402"/>
<source>Plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="390"/>
+ <location filename="../../../OptionDialog.ui" line="421"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="403"/>
+ <location filename="../../../OptionDialog.ui" line="434"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="413"/>
+ <location filename="../../../OptionDialog.ui" line="444"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="440"/>
+ <location filename="../../../OptionDialog.ui" line="471"/>
<source>Copy engine by order of preference:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="567"/>
+ <location filename="../../../OptionDialog.ui" line="598"/>
<source>Themes:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="629"/>
+ <location filename="../../../OptionDialog.ui" line="660"/>
<source>Unable to load the themes plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="679"/>
+ <location filename="../../../OptionDialog.ui" line="710"/>
<source>No option for this plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="729"/>
+ <location filename="../../../OptionDialog.ui" line="760"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="741"/>
+ <location filename="../../../OptionDialog.ui" line="772"/>
<source>Write directly to the file when it receive a new entry (can produce 50% of lost of performance)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="754"/>
+ <location filename="../../../OptionDialog.ui" line="785"/>
<source>Write the transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="761"/>
+ <location filename="../../../OptionDialog.ui" line="792"/>
<source>The variables are %time%, %source%, %size%, %destination%</source>
<extracomment>%time%, %source%, %size%, %destination% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="784"/>
+ <location filename="../../../OptionDialog.ui" line="815"/>
<source>Write the errors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="791"/>
+ <location filename="../../../OptionDialog.ui" line="822"/>
<source>The variables are %time%, %path%, %size%, %mtime%, %error%</source>
<extracomment>%time%, %path%, %size%, %mtime%, %error% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="710"/>
+ <location filename="../../../OptionDialog.ui" line="741"/>
<source>Write the log file into:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="190"/>
+ <location filename="../../../OptionDialog.cpp" line="197"/>
<source>Load the theme?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="204"/>
+ <location filename="../../../OptionDialog.cpp" line="211"/>
<source>Load the language?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="291"/>
+ <location filename="../../../OptionDialog.cpp" line="298"/>
<source>Do nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="292"/>
+ <location filename="../../../OptionDialog.cpp" line="299"/>
<source>Ask source as folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="293"/>
+ <location filename="../../../OptionDialog.cpp" line="300"/>
<source>Ask sources as files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="294"/>
+ <location filename="../../../OptionDialog.cpp" line="301"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="295"/>
+ <location filename="../../../OptionDialog.cpp" line="302"/>
<source>When source is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="296"/>
+ <location filename="../../../OptionDialog.cpp" line="303"/>
<source>When destination is same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="297"/>
+ <location filename="../../../OptionDialog.cpp" line="304"/>
<source>When source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="298"/>
+ <location filename="../../../OptionDialog.cpp" line="305"/>
<source>When source or destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="299"/>
+ <location filename="../../../OptionDialog.cpp" line="306"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="313"/>
- <location filename="../../../OptionDialog.cpp" line="314"/>
- <location filename="../../../OptionDialog.cpp" line="315"/>
+ <location filename="../../../OptionDialog.cpp" line="320"/>
+ <location filename="../../../OptionDialog.cpp" line="321"/>
+ <location filename="../../../OptionDialog.cpp" line="322"/>
<source>The variables are %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.cpp" line="945"/>
+ <location filename="../../../OptionDialog.cpp" line="962"/>
<source>Save logs as: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../OptionDialog.ui" line="744"/>
+ <location filename="../../../OptionDialog.ui" line="775"/>
<source>Synchronized log</source>
<translation type="unfinished"></translation>
</message>
@@ -1658,33 +1629,33 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="488"/>
+ <location filename="../../../PluginsManager.cpp" line="489"/>
<source>Dependencies part is wrong</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="509"/>
+ <location filename="../../../PluginsManager.cpp" line="510"/>
<source>Dependencies %1 are not satisfied, for plugin: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Remove %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error</source>
<translation type="unfinished">錯誤</translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="683"/>
+ <location filename="../../../PluginsManager.cpp" line="684"/>
<source>Error while the removing plugin, please check the rights on the folder:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,89 +1675,89 @@ This version is compiled as version: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="338"/>
+ <location filename="../../../PluginsManager.cpp" line="339"/>
<source>Duplicated plugin found, already loaded!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="399"/>
+ <location filename="../../../PluginsManager.cpp" line="400"/>
<source>English text missing in the informations.xml for the tag: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="407"/>
+ <location filename="../../../PluginsManager.cpp" line="408"/>
<source>Tag not found: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="672"/>
+ <location filename="../../../PluginsManager.cpp" line="673"/>
<source>Are you sure about removing &quot;%1&quot; in version %2?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="707"/>
+ <location filename="../../../PluginsManager.cpp" line="708"/>
<source>Previous import is in progress...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Open Ultracopier plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="710"/>
+ <location filename="../../../PluginsManager.cpp" line="711"/>
<source>Ultracopier plugin (*.urc)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="820"/>
- <location filename="../../../PluginsManager.cpp" line="833"/>
- <location filename="../../../PluginsManager.cpp" line="852"/>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Plugin loader</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="727"/>
+ <location filename="../../../PluginsManager.cpp" line="728"/>
<source>Unable to open the plugin: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="752"/>
- <location filename="../../../PluginsManager.cpp" line="870"/>
- <location filename="../../../PluginsManager.cpp" line="883"/>
+ <location filename="../../../PluginsManager.cpp" line="753"/>
+ <location filename="../../../PluginsManager.cpp" line="871"/>
+ <location filename="../../../PluginsManager.cpp" line="884"/>
<source>Unable to load the plugin content, please check it: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="820"/>
+ <location filename="../../../PluginsManager.cpp" line="821"/>
<source>Unable to create a folder to install the plugin:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="833"/>
+ <location filename="../../../PluginsManager.cpp" line="834"/>
<source>Unable to create a file to install the plugin:
%1
since:%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="852"/>
+ <location filename="../../../PluginsManager.cpp" line="853"/>
<source>Folder with same name is present, skip the plugin installation:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../PluginsManager.cpp" line="858"/>
- <location filename="../../../PluginsManager.cpp" line="864"/>
- <location filename="../../../PluginsManager.cpp" line="876"/>
+ <location filename="../../../PluginsManager.cpp" line="859"/>
+ <location filename="../../../PluginsManager.cpp" line="865"/>
+ <location filename="../../../PluginsManager.cpp" line="877"/>
<source>Unable to load the plugin content, please check it</source>
<translation type="unfinished"></translation>
</message>
@@ -1858,24 +1829,17 @@ since:%2</source>
<context>
<name>ReadThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="78"/>
<source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="188"/>
- <source>Internal error reading the source file:block size out of range</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="196"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="420"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="541"/>
<source>Unable to read the source file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="237"/>
- <location filename="../../CopyEngine/Ultracopier/ReadThread.cpp" line="468"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/ReadThread.cpp" line="595"/>
<source>File truncated during the read, possible data change</source>
<translation type="unfinished"></translation>
</message>
@@ -1883,198 +1847,183 @@ since:%2</source>
<context>
<name>RenamingRules</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="14"/>
<source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="35"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="35"/>
<source>First renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="41"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="41"/>
<source>%name% - copy%suffix%</source>
<extracomment>%name% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="51"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="51"/>
<source>Second renaming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="57"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="57"/>
<source>%name% - copy (%number%)%suffix%</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.ui" line="67"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.ui" line="67"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Variables: &lt;span style=&quot; font-weight:600;&quot;&gt;%name%&lt;/span&gt; for the original file name, &lt;span style=&quot; font-weight:600;&quot;&gt;%number%&lt;/span&gt; for the extra number, &lt;span style=&quot; font-weight:600;&quot;&gt;%suffix%&lt;/span&gt; file suffix&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<extracomment>%name%, %number% should not be translated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="39"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="62"/>
- <source>%1 - copy</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="46"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="71"/>
+ <source>%1 - copy%2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="43"/>
- <location filename="../../CopyEngine/Ultracopier/RenamingRules.cpp" line="73"/>
- <source>%1 - copy (%2)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/RenamingRules.cpp" line="84"/>
+ <source>%1 - copy (%2)%3</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ScanFileOrFolder</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="274"/>
- <source>Blacklisted folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="338"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="442"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="444"/>
<source>%1 - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="345"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="453"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="455"/>
<source>%1 - copy (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="401"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="566"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="568"/>
<source>%name% - copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="408"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="577"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="579"/>
<source>%name% - copy (%number%)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="444"/>
- <source>This is not a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="446"/>
- <source>The folder does exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="448"/>
- <source>The folder is not readable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/ScanFileOrFolder.cpp" line="459"/>
- <source>Problem with name encoding</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="663"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/ScanFileOrFolder.cpp" line="667"/>
+ <source>Problem with folder read</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SystrayIcon</name>
<message>
- <location filename="../../../SystrayIcon.cpp" line="169"/>
+ <location filename="../../../SystrayIcon.cpp" line="171"/>
<source>No copy listener found. Do the copy manually by right click one the system tray icon.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="175"/>
+ <location filename="../../../SystrayIcon.cpp" line="177"/>
<source>Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="194"/>
+ <location filename="../../../SystrayIcon.cpp" line="196"/>
<source>Searching information...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="207"/>
+ <location filename="../../../SystrayIcon.cpp" line="209"/>
<source>Do not replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="212"/>
+ <location filename="../../../SystrayIcon.cpp" line="214"/>
<source>Semi replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="217"/>
+ <location filename="../../../SystrayIcon.cpp" line="219"/>
<source>Replace the explorer copy/move</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>Warning</source>
<translation type="unfinished">警告</translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="393"/>
+ <location filename="../../../SystrayIcon.cpp" line="398"/>
<source>The action on the systray icon is unknown!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="441"/>
+ <location filename="../../../SystrayIcon.cpp" line="446"/>
<source>&amp;About/Debug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="443"/>
+ <location filename="../../../SystrayIcon.cpp" line="448"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="446"/>
+ <location filename="../../../SystrayIcon.cpp" line="451"/>
<source>&amp;Save bug report</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="448"/>
+ <location filename="../../../SystrayIcon.cpp" line="453"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="449"/>
+ <location filename="../../../SystrayIcon.cpp" line="454"/>
<source>&amp;Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="450"/>
+ <location filename="../../../SystrayIcon.cpp" line="455"/>
<source>&amp;Product key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>New version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="488"/>
+ <location filename="../../../SystrayIcon.cpp" line="493"/>
<source>Go to the download page:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="515"/>
+ <location filename="../../../SystrayIcon.cpp" line="520"/>
<source>A&amp;dd copy/moving</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="541"/>
+ <location filename="../../../SystrayIcon.cpp" line="546"/>
<source>Add &amp;copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="542"/>
+ <location filename="../../../SystrayIcon.cpp" line="547"/>
<source>Add &amp;transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../../SystrayIcon.cpp" line="543"/>
+ <location filename="../../../SystrayIcon.cpp" line="548"/>
<source>Add &amp;move</source>
<translation type="unfinished"></translation>
</message>
@@ -2082,68 +2031,56 @@ since:%2</source>
<context>
<name>Themes</name>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="303"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="306"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="325"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="410"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="644"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="646"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1067"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1068"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1069"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1071"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1265"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1277"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1289"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1274"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1286"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1364"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1368"/>
- <location filename="../../Themes/Oxygen/interface.cpp" line="1370"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1373"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1377"/>
+ <location filename="../../Themes/Oxygen/interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2176,323 +2113,243 @@ since:%2</source>
<context>
<name>TransferThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="228"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="179"/>
<source>Try rename with using special characters</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="244"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="673"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="745"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <source>File not found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="363"/>
- <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="421"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="444"/>
- <source>Internal error: Already opening</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="586"/>
- <source>Drive %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="588"/>
- <source>Unknown folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="592"/>
- <source>root</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="645"/>
- <source>%name% - copy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="652"/>
- <source>%name% - copy (%number%)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="711"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="826"/>
- <source>The source file doesn&apos;t exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="751"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="838"/>
- <source>Unable to do the folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="787"/>
- <source>The source doesn&apos;t exist</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="613"/>
+ <source>%name% - copy%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="832"/>
- <source>Another file exists at same place</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="620"/>
+ <source>%name% - copy (%number%)%suffix%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1134"/>
- <source>The checksums do not match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="648"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <source>File not found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1224"/>
- <source>Internal error: The destination is not closed</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="891"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/TransferThread.cpp" line="927"/>
+ <source>Unable to change the date</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>TransferThreadAsync</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1239"/>
- <source>Internal error: The size transfered doesn&apos;t match</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="340"/>
+ <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="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1250"/>
- <source>Internal error: The buffer is not empty</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="428"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="446"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1315"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1333"/>
- <location filename="../../CopyEngine/Ultracopier/TransferThread.cpp" line="1348"/>
- <source>Unable to change the date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="431"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/TransferThreadAsync.cpp" line="448"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WriteThread</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="83"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="135"/>
<source>Path resolution error (Empty path)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="277"/>
- <source>Internal error, please report it!</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="164"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="197"/>
+ <source>Unable to create the destination folder: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="680"/>
- <source>Unable to read the source file: </source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="175"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="199"/>
+ <source>Unable to create the destination folder, errno: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/WriteThread.cpp" line="705"/>
- <source>File truncated during read, possible data change</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/async/WriteThread.cpp" line="456"/>
+ <source>Internal error, please report it!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>copyEngineOptions</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="44"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="44"/>
<source>Transfer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="53"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="63"/>
<source>Move the whole folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="60"/>
- <source>Transfer the file rights</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="76"/>
+ <source>Keep the file date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="70"/>
- <source>Keep the file date</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="83"/>
+ <source>Auto start</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="83"/>
- <source>Autostart the transfer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="97"/>
+ <source>Transfer the file rights</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="90"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="110"/>
- <source>Less performance if checked</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="114"/>
+ <source>Create full path if not exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="113"/>
- <source>Follow the strict order</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="138"/>
+ <source>Checksum</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="139"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="154"/>
<source>Error and collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="145"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="160"/>
<source>When folder error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="155"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="170"/>
<source>When file error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="181"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="196"/>
<source>When file collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="241"/>
- <source>When folder collision</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="272"/>
- <source>Check if destination folder exists</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="279"/>
- <source>Renaming rules</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="299"/>
- <source>Delete partially transferred files</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="239"/>
+ <source>Overwrite if not same size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="312"/>
- <source>Rename the original destination</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="244"/>
+ <source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="343"/>
- <source>Control</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="266"/>
+ <source>When folder collision</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="349"/>
- <source>Checksum</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="297"/>
+ <source>Check if destination folder exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="358"/>
- <source>Only after error</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="304"/>
+ <source>Renaming rules</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="365"/>
- <source>Ignore if impossible</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="324"/>
+ <source>Delete partially transferred files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="382"/>
- <source>Verify checksums</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="337"/>
+ <source>Rename the original destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="414"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="368"/>
<source>Performance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="420"/>
- <source>Parallel buffer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="427"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="440"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="453"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="490"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="559"/>
- <source>KB</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="469"/>
- <source>Block size</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="387"/>
+ <source>Inode threads</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="476"/>
- <source>Sequential buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="397"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="413"/>
+ <source>MB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="483"/>
- <source>Enable OS buffer</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="429"/>
+ <source>Uncheck this under Windows create problem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="506"/>
- <source>OS buffer only if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="436"/>
+ <source>OS Buffer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="513"/>
- <source>Transfer algorithm</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="456"/>
+ <source>Disable parallel transfer when are different devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="552"/>
- <source>Parallelize if smaller than</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="463"/>
+ <source>Buffer for different device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="582"/>
- <source>Inode threads (unsafe &gt; 1)</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="470"/>
+ <source>OS FLags</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="589"/>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="599"/>
- <source>More cpu, but better organisation on the disk</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="477"/>
+ <source>Buffer for same device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="602"/>
- <source>Order the list</source>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="484"/>
+ <source>OS native copy (disable speed limitation)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="618"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="514"/>
<source>Misc</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="624"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="520"/>
<source>Check the disk space</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="634"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="530"/>
<source>Use this folder when destination is not set</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="646"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="542"/>
<source>Browse</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/copyEngineOptions.ui" line="668"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/copyEngineOptions.ui" line="564"/>
<source>Filters</source>
<translation type="unfinished"></translation>
</message>
@@ -2500,67 +2357,67 @@ since:%2</source>
<context>
<name>fileErrorDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="14"/>
<source>Error with file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="20"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="20"/>
<source>Error</source>
<translation type="unfinished">錯誤</translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="59"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="59"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="76"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="76"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="93"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="93"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="110"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="127"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="127"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="173"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="173"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="193"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="193"/>
<source>Try in with elevated privileges</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="200"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="200"/>
<source>Put to bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="207"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="207"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="214"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="214"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileErrorDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileErrorDialog.ui" line="221"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,141 +2425,153 @@ since:%2</source>
<context>
<name>fileExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="14"/>
<source>The file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="170"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="187"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="187"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="204"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="133"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="221"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="133"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="221"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="277"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="277"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="288"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="288"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="308"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="308"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="315"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="315"/>
<source>&amp;Overwrite</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="325"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="325"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="332"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="332"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="341"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="341"/>
<source>Overwrite if newer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="346"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="349"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="346"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="349"/>
<source>Overwrite if modification date differs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="354"/>
- <location filename="../../CopyEngine/Ultracopier/fileExistsDialog.ui" line="357"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="354"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="357"/>
<source>Overwrite if older</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="362"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="365"/>
+ <source>Overwrite if not same size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="370"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileExistsDialog.ui" line="373"/>
+ <source>Overwrite if not same size and date</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>fileIsSameDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="14"/>
<source>The source and destination are same</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="40"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="40"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="70"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="70"/>
<source>File name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="90"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="90"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="110"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="110"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="159"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="159"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="170"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="170"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="190"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="190"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="197"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="197"/>
<source>&amp;Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/fileIsSameDialog.ui" line="204"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/fileIsSameDialog.ui" line="204"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,65 +2579,65 @@ since:%2</source>
<context>
<name>folderExistsDialog</name>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="14"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="14"/>
<source>The source and destination is identical</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="34"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="34"/>
<source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="50"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="50"/>
<source>Destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="82"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="150"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="82"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="150"/>
<source>Modified</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="99"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="160"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="99"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="160"/>
<source>Folder name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="116"/>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="184"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="116"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="184"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="227"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="227"/>
<source>Suggest new &amp;name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="238"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="238"/>
<source>&amp;Always perform this action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="245"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="245"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="252"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="252"/>
<source>Merge</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="259"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="259"/>
<source>Skip</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../CopyEngine/Ultracopier/folderExistsDialog.ui" line="266"/>
+ <location filename="../../CopyEngine/Ultracopier-Spec/folderExistsDialog.ui" line="266"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Listener/README.md b/plugins/Listener/README.md
index 6d4efe9..6d4efe9 100644..100755
--- a/plugins/Listener/README.md
+++ b/plugins/Listener/README.md
diff --git a/plugins/Listener/catchcopy-v0002/DebugEngineMacro.h b/plugins/Listener/catchcopy-v0002/DebugEngineMacro.h
index 4582010..4582010 100644..100755
--- a/plugins/Listener/catchcopy-v0002/DebugEngineMacro.h
+++ b/plugins/Listener/catchcopy-v0002/DebugEngineMacro.h
diff --git a/plugins/Listener/catchcopy-v0002/Environment.h b/plugins/Listener/catchcopy-v0002/Environment.h
index 265a5a6..821e3de 100644..100755
--- a/plugins/Listener/catchcopy-v0002/Environment.h
+++ b/plugins/Listener/catchcopy-v0002/Environment.h
@@ -3,7 +3,7 @@
\author alpha_one_x86
\licence GPL3, see the file COPYING */
-#include "Variable.h"
+#include "Listenercatchcopy-v0002Variable.h"
/// \brief The global include
#include "StructEnumDefinition.h"
#include "DebugEngineMacro.h"
diff --git a/plugins/SessionLoader/Windows/Variable.h b/plugins/Listener/catchcopy-v0002/Listenercatchcopy-v0002Variable.h
index 963d0c8..075d4da 100644..100755
--- a/plugins/SessionLoader/Windows/Variable.h
+++ b/plugins/Listener/catchcopy-v0002/Listenercatchcopy-v0002Variable.h
@@ -7,7 +7,7 @@
#define VARIABLE_H
//Un-comment this next line to put ultracopier plugin in debug mode
-#define ULTRACOPIER_PLUGIN_DEBUG
+//#define ULTRACOPIER_PLUGIN_DEBUG
#endif // VARIABLE_H
diff --git a/plugins/Listener/catchcopy-v0002/README.md b/plugins/Listener/catchcopy-v0002/README.md
index 6c524ef..6c524ef 100644..100755
--- a/plugins/Listener/catchcopy-v0002/README.md
+++ b/plugins/Listener/catchcopy-v0002/README.md
diff --git a/plugins/Listener/catchcopy-v0002/StructEnumDefinition.h b/plugins/Listener/catchcopy-v0002/StructEnumDefinition.h
index c1758f4..c1758f4 100644..100755
--- a/plugins/Listener/catchcopy-v0002/StructEnumDefinition.h
+++ b/plugins/Listener/catchcopy-v0002/StructEnumDefinition.h
diff --git a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ClientCatchcopy.cpp b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ClientCatchcopy.cpp
index c466630..c466630 100644..100755
--- a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ClientCatchcopy.cpp
+++ b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ClientCatchcopy.cpp
diff --git a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ClientCatchcopy.h b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ClientCatchcopy.h
index 4c15890..4c15890 100644..100755
--- a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ClientCatchcopy.h
+++ b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ClientCatchcopy.h
diff --git a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ExtraSocketCatchcopy.cpp b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ExtraSocketCatchcopy.cpp
index 9cd8373..9cd8373 100644..100755
--- a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ExtraSocketCatchcopy.cpp
+++ b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ExtraSocketCatchcopy.cpp
diff --git a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ExtraSocketCatchcopy.h b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ExtraSocketCatchcopy.h
index fb4201c..fb4201c 100644..100755
--- a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ExtraSocketCatchcopy.h
+++ b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ExtraSocketCatchcopy.h
diff --git a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ServerCatchcopy.cpp b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ServerCatchcopy.cpp
index 6fd1172..6fd1172 100644..100755
--- a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ServerCatchcopy.cpp
+++ b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ServerCatchcopy.cpp
diff --git a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ServerCatchcopy.h b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ServerCatchcopy.h
index 85acff9..85acff9 100644..100755
--- a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ServerCatchcopy.h
+++ b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/ServerCatchcopy.h
diff --git a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/VariablesCatchcopy.h b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/VariablesCatchcopy.h
index 135c087..135c087 100644..100755
--- a/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/VariablesCatchcopy.h
+++ b/plugins/Listener/catchcopy-v0002/catchcopy-api-0002/VariablesCatchcopy.h
diff --git a/plugins/Listener/catchcopy-v0002/documentation.dox b/plugins/Listener/catchcopy-v0002/documentation.dox
index 51aa937..51aa937 100644..100755
--- a/plugins/Listener/catchcopy-v0002/documentation.dox
+++ b/plugins/Listener/catchcopy-v0002/documentation.dox
diff --git a/plugins/Listener/catchcopy-v0002/informations.xml b/plugins/Listener/catchcopy-v0002/informations.xml
index 822e6cc..77ceb69 100644..100755
--- a/plugins/Listener/catchcopy-v0002/informations.xml
+++ b/plugins/Listener/catchcopy-v0002/informations.xml
@@ -17,7 +17,7 @@
<description xml:lang="en"><![CDATA[Listener for catchcopy v0002. Allow to receive copy list from plugin/explorer compatible with catchcopy.]]></description>
<description xml:lang="fr"><![CDATA[Écouteur pour catchcopy v0002. Permet de recevoir un liste de copie venant d'un plugin/explorateur avec catchcopy.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>catchcopy-v0002</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/Listener/catchcopy-v0002/listener.cpp b/plugins/Listener/catchcopy-v0002/listener.cpp
index 64d240c..64d240c 100644..100755
--- a/plugins/Listener/catchcopy-v0002/listener.cpp
+++ b/plugins/Listener/catchcopy-v0002/listener.cpp
diff --git a/plugins/Listener/catchcopy-v0002/listener.h b/plugins/Listener/catchcopy-v0002/listener.h
index 8cab248..3d4c26f 100644..100755
--- a/plugins/Listener/catchcopy-v0002/listener.h
+++ b/plugins/Listener/catchcopy-v0002/listener.h
@@ -26,24 +26,24 @@ class Listener : public PluginInterface_Listener
public:
Listener();
/// \brief try listen the copy/move
- void listen();
+ void listen() override;
/// \brief stop listen to copy/move
- void close();
+ void close() override;
/// \brief return the error strong
- const std::string errorString() const;
+ const std::string errorString() const override;
/// \brief set resources for this plugins
- void setResources(OptionInterface * options,const std::string &writePath,const std::string &pluginPath,const bool &portableVersion);
+ void setResources(OptionInterface * options,const std::string &writePath,const std::string &pluginPath,const bool &portableVersion) override;
/// \brief to get the options widget, NULL if not have
- QWidget * options();
+ QWidget * options() override;
/// \brief to get a client list
- std::vector<std::string> clientsList() const;
+ std::vector<std::string> clientsList() const override;
public slots:
/// \brief say to the client that's the copy/move is finished
- void transferFinished(const uint32_t &orderId,const bool &withError);
+ void transferFinished(const uint32_t &orderId,const bool &withError) override;
/// \brief say to the client that's the copy/move is finished
- void transferCanceled(const uint32_t &orderId);
+ void transferCanceled(const uint32_t &orderId) override;
/// \brief to reload the translation, because the new language have been loaded
- void newLanguageLoaded();
+ void newLanguageLoaded() override;
private:
ServerCatchcopy server;
private slots:
diff --git a/plugins/Listener/catchcopy-v0002/listener.pro b/plugins/Listener/catchcopy-v0002/listener.pro
index b21289a..fc674f3 100644..100755
--- a/plugins/Listener/catchcopy-v0002/listener.pro
+++ b/plugins/Listener/catchcopy-v0002/listener.pro
@@ -12,7 +12,7 @@ HEADERS = \
$$PWD/catchcopy-api-0002/ServerCatchcopy.h \
$$PWD/catchcopy-api-0002/ExtraSocketCatchcopy.h \
$$PWD/Environment.h \
- $$PWD/Variable.h \
+ $$PWD/Listenercatchcopy-v0002Variable.h \
$$PWD/DebugEngineMacro.h \
$$PWD/StructEnumDefinition.h \
$$PWD/../../../interface/PluginInterface_Listener.h \
diff --git a/plugins/Listener/catchcopy-v0002/plugin.json b/plugins/Listener/catchcopy-v0002/plugin.json
index 9e26dfe..9e26dfe 100644..100755
--- a/plugins/Listener/catchcopy-v0002/plugin.json
+++ b/plugins/Listener/catchcopy-v0002/plugin.json
diff --git a/plugins/PluginLoader/README.md b/plugins/PluginLoader/README.md
index 40a0fba..40a0fba 100644..100755
--- a/plugins/PluginLoader/README.md
+++ b/plugins/PluginLoader/README.md
diff --git a/plugins/PluginLoader/catchcopy-v0002/DebugEngineMacro.h b/plugins/PluginLoader/catchcopy-v0002/DebugEngineMacro.h
index f9b5349..f9b5349 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/DebugEngineMacro.h
+++ b/plugins/PluginLoader/catchcopy-v0002/DebugEngineMacro.h
diff --git a/plugins/PluginLoader/catchcopy-v0002/Environment.h b/plugins/PluginLoader/catchcopy-v0002/Environment.h
index 265a5a6..f5d7a7f 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Environment.h
+++ b/plugins/PluginLoader/catchcopy-v0002/Environment.h
@@ -3,7 +3,7 @@
\author alpha_one_x86
\licence GPL3, see the file COPYING */
-#include "Variable.h"
+#include "PluginLoadercatchcopy-v0002Variable.h"
/// \brief The global include
#include "StructEnumDefinition.h"
#include "DebugEngineMacro.h"
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/ar/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/ar/translation.qm
new file mode 100755
index 0000000..62327be
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/ar/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/ar/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/ar/translation.ts
index bbe32fc..33c14da 100644
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/ar/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/ar/translation.ts
@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1">
+<TS version="2.1" language="ar_JO">
<context>
<name>OptionsWidget</name>
<message>
<location filename="../../OptionsWidget.ui" line="17"/>
<source>In normal case, only the dll 64Bits is important with 64Bits OS, and 32Bits dll with 32Bits OS. When it&apos;s important, the UAC can be opened to load the dll.</source>
- <translation type="unfinished"></translation>
+ <translation>Dll.يمكن فتح لتحميلUAC عندما يكون الأمر مهما ،32Bits OS. مع 32Bits dll و 64Bits OS,من المهم مع dll 64Bits في الحالة العادية فقط..</translation>
</message>
<message>
<location filename="../../OptionsWidget.ui" line="20"/>
<source>All the dlls are importants</source>
- <translation type="unfinished"></translation>
+ <translation>هي المستوردين dlls كافة</translation>
</message>
<message>
<location filename="../../OptionsWidget.ui" line="34"/>
<source>Register for all users</source>
- <translation type="unfinished"></translation>
+ <translation>مكتب التسجيل لكل المستخدمين</translation>
</message>
</context>
</TS>
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/de/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/de/translation.qm
new file mode 100755
index 0000000..d8b0880
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/de/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/de/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/de/translation.ts
index f377223..b63b334 100644
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/de/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/de/translation.ts
@@ -6,7 +6,7 @@
<message>
<location filename="../../OptionsWidget.ui" line="17"/>
<source>In normal case, only the dll 64Bits is important with 64Bits OS, and 32Bits dll with 32Bits OS. When it&apos;s important, the UAC can be opened to load the dll.</source>
- <translation>Im Normalfall ist für 32 oder 64-Bit-Beriebsysteme nur die jeweilige dll wichtig. Die UAC kann geöffnet werden um die dll zu laden.</translation>
+ <translation>Im Normalfall ist für 32 oder 64-Bit-Beriebsysteme nur die jeweilige DLL wichtig. Möglicherweise muss die Windows UAC bestätigt werden, um die DLL zu laden.</translation>
</message>
<message>
<location filename="../../OptionsWidget.ui" line="20"/>
@@ -17,7 +17,7 @@
<message>
<location filename="../../OptionsWidget.ui" line="34"/>
<source>Register for all users</source>
- <translation type="unfinished"></translation>
+ <translation>Für alle Benutzer registrieren</translation>
</message>
</context>
</TS>
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/el/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/el/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/el/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/el/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/el/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/el/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/el/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/en/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/en/translation.qm
new file mode 100755
index 0000000..d925dd6
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/en/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/en/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/en/translation.ts
index 5f0d6e6..5f0d6e6 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/en/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/en/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/es/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/es/translation.qm
new file mode 100755
index 0000000..543b9c0
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/es/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/es/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/es/translation.ts
index f6480eb..f6480eb 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/es/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/es/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/fr/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/fr/translation.qm
new file mode 100755
index 0000000..5f0a7f4
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/fr/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/fr/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/fr/translation.ts
index fa231b7..fa231b7 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/fr/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/fr/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/hi/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/hi/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/hi/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/hi/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/hi/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/hi/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/hi/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/hu/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/hu/translation.qm
new file mode 100755
index 0000000..d05e9c3
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/hu/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/hu/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/hu/translation.ts
index c000d05..c000d05 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/hu/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/hu/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/id/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/id/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/id/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/id/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/id/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/id/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/id/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/it/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/it/translation.qm
new file mode 100755
index 0000000..3974c3a
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/it/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/it/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/it/translation.ts
index f45ef55..256518d 100644
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/it/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/it/translation.ts
@@ -6,17 +6,17 @@
<message>
<location filename="../../OptionsWidget.ui" line="17"/>
<source>In normal case, only the dll 64Bits is important with 64Bits OS, and 32Bits dll with 32Bits OS. When it&apos;s important, the UAC can be opened to load the dll.</source>
- <translation>Solitamente, la dll 64Bit è indispensabile solo per sistemi operativi a 64Bit, e la dll 32Bit per sistemi operativi a 32Bits. Quando è necessario, l&apos; UAC (il controllo dell&apos;account utente) può essere aperto per caricare la dll.</translation>
+ <translation>Solitamente, le librerie dll 64bit sono indispensabili solo per sistemi operativi a x64, e le librerie 32bit per sistemi operativi a x86. Quando è necessario, l&apos; UAC (il controllo dell&apos;account utente) può essere aperto per caricare le dll</translation>
</message>
<message>
<location filename="../../OptionsWidget.ui" line="20"/>
<source>All the dlls are importants</source>
- <translation>Tutte le dll sono necessarie</translation>
+ <translation>Tutte le librerie dll sono necessarie</translation>
</message>
<message>
<location filename="../../OptionsWidget.ui" line="34"/>
<source>Register for all users</source>
- <translation type="unfinished"></translation>
+ <translation>Registrare per tutti gli utenti</translation>
</message>
</context>
</TS>
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/ja/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/ja/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/ja/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/ja/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/ja/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/ja/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/ja/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/ko/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/ko/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/ko/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/ko/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/ko/translation.ts
index 2ed4bbb..2ed4bbb 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/ko/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/ko/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/nl/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/nl/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/nl/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/nl/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/nl/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/nl/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/nl/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/no/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/no/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/no/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/no/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/no/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/no/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/no/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/pl/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/pl/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/pl/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/pl/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/pl/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/pl/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/pl/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/pt/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/pt/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/pt/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/pt/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/pt/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/pt/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/pt/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/ru/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/ru/translation.qm
new file mode 100755
index 0000000..00c9703
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/ru/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/ru/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/ru/translation.ts
index 7f1edb9..7f1edb9 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/ru/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/ru/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/th/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/th/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/th/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/th/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/th/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/th/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/th/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/tr/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/tr/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/tr/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/tr/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/tr/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/tr/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/tr/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/zh/translation.qm b/plugins/PluginLoader/catchcopy-v0002/Languages/zh/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/zh/translation.qm
Binary files differ
diff --git a/plugins/PluginLoader/catchcopy-v0002/Languages/zh/translation.ts b/plugins/PluginLoader/catchcopy-v0002/Languages/zh/translation.ts
index bbe32fc..bbe32fc 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Languages/zh/translation.ts
+++ b/plugins/PluginLoader/catchcopy-v0002/Languages/zh/translation.ts
diff --git a/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.cpp b/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.cpp
index e2c817c..e2c817c 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.cpp
+++ b/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.cpp
diff --git a/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.h b/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.h
index c5d0671..c5d0671 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.h
+++ b/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.h
diff --git a/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.ui b/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.ui
index 3bd4288..3bd4288 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.ui
+++ b/plugins/PluginLoader/catchcopy-v0002/OptionsWidget.ui
diff --git a/plugins/PluginLoader/catchcopy-v0002/PlatformMacro.h b/plugins/PluginLoader/catchcopy-v0002/PlatformMacro.h
index f7586b0..f7586b0 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/PlatformMacro.h
+++ b/plugins/PluginLoader/catchcopy-v0002/PlatformMacro.h
diff --git a/plugins/PluginLoader/catchcopy-v0002/Variable.h b/plugins/PluginLoader/catchcopy-v0002/PluginLoadercatchcopy-v0002Variable.h
index 90e1557..6f0d9aa 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/Variable.h
+++ b/plugins/PluginLoader/catchcopy-v0002/PluginLoadercatchcopy-v0002Variable.h
@@ -7,7 +7,7 @@
#define VARIABLE_H
//Un-comment this next line to put ultracopier plugin in debug mode
-#define ULTRACOPIER_PLUGIN_DEBUG
+//#define ULTRACOPIER_PLUGIN_DEBUG
//#define ULTRACOPIER_PLUGIN_ALL_IN_ONE
#endif // VARIABLE_H
diff --git a/plugins/PluginLoader/catchcopy-v0002/README.md b/plugins/PluginLoader/catchcopy-v0002/README.md
index cf96048..cf96048 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/README.md
+++ b/plugins/PluginLoader/catchcopy-v0002/README.md
diff --git a/plugins/PluginLoader/catchcopy-v0002/StructEnumDefinition.h b/plugins/PluginLoader/catchcopy-v0002/StructEnumDefinition.h
index c1758f4..c1758f4 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/StructEnumDefinition.h
+++ b/plugins/PluginLoader/catchcopy-v0002/StructEnumDefinition.h
diff --git a/plugins/PluginLoader/catchcopy-v0002/documentation.dox b/plugins/PluginLoader/catchcopy-v0002/documentation.dox
index b9c9d13..b9c9d13 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/documentation.dox
+++ b/plugins/PluginLoader/catchcopy-v0002/documentation.dox
diff --git a/plugins/PluginLoader/catchcopy-v0002/informations.xml b/plugins/PluginLoader/catchcopy-v0002/informations.xml
index d60ebe6..ed8ed49 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/informations.xml
+++ b/plugins/PluginLoader/catchcopy-v0002/informations.xml
@@ -17,7 +17,7 @@
<description xml:lang="en"><![CDATA[Plugin loader for catchcopy v0002. Allow to receive copy list from plugin/explorer compatible with catchcopy.]]></description>
<description xml:lang="fr"><![CDATA[Chargeur de plugin pour catchcopy v0002. Permet de recevoir un liste de copie venant d'un plugin/explorateur avec catchcopy.]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>catchcopy-v0002</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/PluginLoader/catchcopy-v0002/plugin.json b/plugins/PluginLoader/catchcopy-v0002/plugin.json
index 9e26dfe..9e26dfe 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/plugin.json
+++ b/plugins/PluginLoader/catchcopy-v0002/plugin.json
diff --git a/plugins/PluginLoader/catchcopy-v0002/pluginLoader.cpp b/plugins/PluginLoader/catchcopy-v0002/pluginLoader.cpp
index e06b1f4..e06b1f4 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/pluginLoader.cpp
+++ b/plugins/PluginLoader/catchcopy-v0002/pluginLoader.cpp
diff --git a/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h b/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h
index 48e3d06..e87904a 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h
+++ b/plugins/PluginLoader/catchcopy-v0002/pluginLoader.h
@@ -38,14 +38,14 @@ public:
WindowsExplorerLoader();
~WindowsExplorerLoader();
/// \brief try enable/disable the catching
- void setEnabled(const bool &needBeRegistred);
+ void setEnabled(const bool &needBeRegistred) override;
/// \brief to set resources, writePath can be empty if read only mode
- void setResources(OptionInterface * options,const std::string &writePath,const std::string &pluginPath,const bool &portableVersion);
+ void setResources(OptionInterface * options,const std::string &writePath,const std::string &pluginPath,const bool &portableVersion) override;
/// \brief to get the options widget, NULL if not have
- QWidget * options();
+ QWidget * options() override;
public slots:
/// \brief to reload the translation, because the new language have been loaded
- void newLanguageLoaded();
+ void newLanguageLoaded() override;
private:
std::string pluginPath;
std::vector<std::string> importantDll,secondDll;
diff --git a/plugins/PluginLoader/catchcopy-v0002/pluginLoader.pro b/plugins/PluginLoader/catchcopy-v0002/pluginLoader.pro
index 40d5e5e..f7541f4 100644..100755
--- a/plugins/PluginLoader/catchcopy-v0002/pluginLoader.pro
+++ b/plugins/PluginLoader/catchcopy-v0002/pluginLoader.pro
@@ -10,7 +10,7 @@ HEADERS = \
$$PWD/pluginLoader.h \
$$PWD/DebugEngineMacro.h \
$$PWD/Environment.h \
- $$PWD/Variable.h \
+ $$PWD/PluginLoadercatchcopy-v0002Variable.h \
$$PWD/PlatformMacro.h \
$$PWD/../../../interface/PluginInterface_PluginLoader.h \
$$PWD/../../../cpp11addition.h \
diff --git a/plugins/README.md b/plugins/README.md
index f69fcf3..f69fcf3 100644..100755
--- a/plugins/README.md
+++ b/plugins/README.md
diff --git a/plugins/SessionLoader/README.md b/plugins/SessionLoader/README.md
index eb8aedf..eb8aedf 100644..100755
--- a/plugins/SessionLoader/README.md
+++ b/plugins/SessionLoader/README.md
diff --git a/plugins/SessionLoader/Windows/DebugEngineMacro.h b/plugins/SessionLoader/Windows/DebugEngineMacro.h
index 4582010..4582010 100644..100755
--- a/plugins/SessionLoader/Windows/DebugEngineMacro.h
+++ b/plugins/SessionLoader/Windows/DebugEngineMacro.h
diff --git a/plugins/SessionLoader/Windows/Environment.h b/plugins/SessionLoader/Windows/Environment.h
index 265a5a6..ca5a7e7 100644..100755
--- a/plugins/SessionLoader/Windows/Environment.h
+++ b/plugins/SessionLoader/Windows/Environment.h
@@ -3,7 +3,7 @@
\author alpha_one_x86
\licence GPL3, see the file COPYING */
-#include "Variable.h"
+#include "SessionLoaderWindowsVariable.h"
/// \brief The global include
#include "StructEnumDefinition.h"
#include "DebugEngineMacro.h"
diff --git a/plugins/SessionLoader/Windows/README.md b/plugins/SessionLoader/Windows/README.md
index 42b0a24..42b0a24 100644..100755
--- a/plugins/SessionLoader/Windows/README.md
+++ b/plugins/SessionLoader/Windows/README.md
diff --git a/plugins/Listener/catchcopy-v0002/Variable.h b/plugins/SessionLoader/Windows/SessionLoaderWindowsVariable.h
index 963d0c8..075d4da 100644..100755
--- a/plugins/Listener/catchcopy-v0002/Variable.h
+++ b/plugins/SessionLoader/Windows/SessionLoaderWindowsVariable.h
@@ -7,7 +7,7 @@
#define VARIABLE_H
//Un-comment this next line to put ultracopier plugin in debug mode
-#define ULTRACOPIER_PLUGIN_DEBUG
+//#define ULTRACOPIER_PLUGIN_DEBUG
#endif // VARIABLE_H
diff --git a/plugins/SessionLoader/Windows/StructEnumDefinition.h b/plugins/SessionLoader/Windows/StructEnumDefinition.h
index c1758f4..c1758f4 100644..100755
--- a/plugins/SessionLoader/Windows/StructEnumDefinition.h
+++ b/plugins/SessionLoader/Windows/StructEnumDefinition.h
diff --git a/plugins/SessionLoader/Windows/documentation.dox b/plugins/SessionLoader/Windows/documentation.dox
index bfe77f3..bfe77f3 100644..100755
--- a/plugins/SessionLoader/Windows/documentation.dox
+++ b/plugins/SessionLoader/Windows/documentation.dox
diff --git a/plugins/SessionLoader/Windows/informations.xml b/plugins/SessionLoader/Windows/informations.xml
index ab5b852..7101277 100644..100755
--- a/plugins/SessionLoader/Windows/informations.xml
+++ b/plugins/SessionLoader/Windows/informations.xml
@@ -17,7 +17,7 @@
<description xml:lang="en"><![CDATA[This plugin allow Ultracopier to be loaded at the session opening under windows]]></description>
<description xml:lang="fr"><![CDATA[Ce plugin permet de charger Ultracopier à l'ouverture de la sessions sous 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>1.6.1.3</version>
+ <version>2.2.4.4</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>Windows</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/SessionLoader/Windows/plugin.json b/plugins/SessionLoader/Windows/plugin.json
index 9e26dfe..9e26dfe 100644..100755
--- a/plugins/SessionLoader/Windows/plugin.json
+++ b/plugins/SessionLoader/Windows/plugin.json
diff --git a/plugins/SessionLoader/Windows/sessionLoader.cpp b/plugins/SessionLoader/Windows/sessionLoader.cpp
index 121bae0..121bae0 100644..100755
--- a/plugins/SessionLoader/Windows/sessionLoader.cpp
+++ b/plugins/SessionLoader/Windows/sessionLoader.cpp
diff --git a/plugins/SessionLoader/Windows/sessionLoader.h b/plugins/SessionLoader/Windows/sessionLoader.h
index b064e50..b064e50 100644..100755
--- a/plugins/SessionLoader/Windows/sessionLoader.h
+++ b/plugins/SessionLoader/Windows/sessionLoader.h
diff --git a/plugins/SessionLoader/Windows/sessionLoader.pro b/plugins/SessionLoader/Windows/sessionLoader.pro
index 1059692..c058dee 100644..100755
--- a/plugins/SessionLoader/Windows/sessionLoader.pro
+++ b/plugins/SessionLoader/Windows/sessionLoader.pro
@@ -8,7 +8,7 @@ LIBS += -ladvapi32
HEADERS = \
$$PWD/sessionLoader.h \
$$PWD/StructEnumDefinition.h \
- $$PWD/Variable.h \
+ $$PWD/SessionLoaderWindowsVariable.h \
$$PWD/Environment.h \
$$PWD/DebugEngineMacro.h \
$$PWD/../../../interface/PluginInterface_SessionLoader.h
diff --git a/plugins/SessionLoader/Windows/sessionLoader.pro.user.4.8-pre1 b/plugins/SessionLoader/Windows/sessionLoader.pro.user.4.8-pre1
new file mode 100755
index 0000000..2a9bc34
--- /dev/null
+++ b/plugins/SessionLoader/Windows/sessionLoader.pro.user.4.8-pre1
@@ -0,0 +1,333 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 4.6.2, 2019-07-02T14:07:35. -->
+<qtcreator>
+ <data>
+ <variable>EnvironmentId</variable>
+ <value type="QByteArray">{74ab603f-f657-4135-92cf-c93af71b2f91}</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+ <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+ <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+ <value type="QString" key="language">Cpp</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+ </valuemap>
+ </valuemap>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+ <value type="QString" key="language">QmlJS</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+ </valuemap>
+ </valuemap>
+ <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+ <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+ <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+ <value type="int" key="EditorConfiguration.IndentSize">4</value>
+ <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+ <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+ <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+ <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+ <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+ <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+ <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+ <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+ <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+ <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+ <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+ <value type="int" key="EditorConfiguration.TabSize">8</value>
+ <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+ <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+ <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+ <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+ <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+ <value type="bool" key="EditorConfiguration.inEntireDocument">true</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.PluginSettings</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{23178a1c-09be-4e9f-9aab-ff55e05e7637}</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+ <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/SessionLoader/build-sessionLoader-Desktop-Debug</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+ <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/SessionLoader/build-sessionLoader-Desktop-Release</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
+ <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/SessionLoader/build-sessionLoader-Desktop-Profile</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+ <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+ <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+ <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+ <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+ <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+ <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+ <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+ <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+ <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+ <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+ <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+ <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+ <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+ <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+ <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+ <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+ <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+ <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+ <value type="int">0</value>
+ <value type="int">1</value>
+ <value type="int">2</value>
+ <value type="int">3</value>
+ <value type="int">4</value>
+ <value type="int">5</value>
+ <value type="int">6</value>
+ <value type="int">7</value>
+ <value type="int">8</value>
+ <value type="int">9</value>
+ <value type="int">10</value>
+ <value type="int">11</value>
+ <value type="int">12</value>
+ <value type="int">13</value>
+ <value type="int">14</value>
+ </valuelist>
+ <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+ <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+ <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
+ <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
+ <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
+ <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+ <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+ <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">18</value>
+ </data>
+ <data>
+ <variable>Version</variable>
+ <value type="int">18</value>
+ </data>
+</qtcreator>
diff --git a/plugins/SessionLoader/Windows/sessionLoader.pro.user.74ab603.4.8-pre1 b/plugins/SessionLoader/Windows/sessionLoader.pro.user.74ab603.4.8-pre1
new file mode 100755
index 0000000..2a9bc34
--- /dev/null
+++ b/plugins/SessionLoader/Windows/sessionLoader.pro.user.74ab603.4.8-pre1
@@ -0,0 +1,333 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 4.6.2, 2019-07-02T14:07:35. -->
+<qtcreator>
+ <data>
+ <variable>EnvironmentId</variable>
+ <value type="QByteArray">{74ab603f-f657-4135-92cf-c93af71b2f91}</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+ <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+ <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+ <value type="QString" key="language">Cpp</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+ </valuemap>
+ </valuemap>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+ <value type="QString" key="language">QmlJS</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+ </valuemap>
+ </valuemap>
+ <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+ <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+ <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+ <value type="int" key="EditorConfiguration.IndentSize">4</value>
+ <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+ <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+ <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+ <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+ <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+ <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+ <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+ <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+ <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+ <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+ <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+ <value type="int" key="EditorConfiguration.TabSize">8</value>
+ <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+ <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+ <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+ <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+ <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+ <value type="bool" key="EditorConfiguration.inEntireDocument">true</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.PluginSettings</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{23178a1c-09be-4e9f-9aab-ff55e05e7637}</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+ <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/SessionLoader/build-sessionLoader-Desktop-Debug</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+ <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/SessionLoader/build-sessionLoader-Desktop-Release</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
+ <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/SessionLoader/build-sessionLoader-Desktop-Profile</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+ <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+ <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+ <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+ <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+ <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+ <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+ <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+ <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+ <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+ <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+ <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+ <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+ <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+ <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+ <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+ <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+ <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+ <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+ <value type="int">0</value>
+ <value type="int">1</value>
+ <value type="int">2</value>
+ <value type="int">3</value>
+ <value type="int">4</value>
+ <value type="int">5</value>
+ <value type="int">6</value>
+ <value type="int">7</value>
+ <value type="int">8</value>
+ <value type="int">9</value>
+ <value type="int">10</value>
+ <value type="int">11</value>
+ <value type="int">12</value>
+ <value type="int">13</value>
+ <value type="int">14</value>
+ </valuelist>
+ <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+ <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+ <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
+ <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
+ <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
+ <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+ <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+ <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">18</value>
+ </data>
+ <data>
+ <variable>Version</variable>
+ <value type="int">18</value>
+ </data>
+</qtcreator>
diff --git a/plugins/Themes/Oxygen/DebugEngineMacro.h b/plugins/Themes/Oxygen/DebugEngineMacro.h
index 4582010..4582010 100644..100755
--- a/plugins/Themes/Oxygen/DebugEngineMacro.h
+++ b/plugins/Themes/Oxygen/DebugEngineMacro.h
diff --git a/plugins/Themes/Oxygen/Environment.h b/plugins/Themes/Oxygen/Environment.h
index 265a5a6..bc3418e 100644..100755
--- a/plugins/Themes/Oxygen/Environment.h
+++ b/plugins/Themes/Oxygen/Environment.h
@@ -3,7 +3,7 @@
\author alpha_one_x86
\licence GPL3, see the file COPYING */
-#include "Variable.h"
+#include "OxygenVariable.h"
/// \brief The global include
#include "StructEnumDefinition.h"
#include "DebugEngineMacro.h"
diff --git a/plugins/Themes/Oxygen/Languages/ar/translation.qm b/plugins/Themes/Oxygen/Languages/ar/translation.qm
new file mode 100755
index 0000000..2ac6267
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/ar/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/ar/translation.ts b/plugins/Themes/Oxygen/Languages/ar/translation.ts
index 2af674e..7db7d8a 100644
--- a/plugins/Themes/Oxygen/Languages/ar/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/ar/translation.ts
@@ -1,73 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1">
+<TS version="2.1" language="ar_JO">
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
- <translation type="unfinished"></translation>
+ <translation>شراء النسخة النهائية لتمويل التنمية</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
- <translation type="unfinished"></translation>
+ <translation>الملف %1/%2 ، الحجم: %3/%4</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
- <translation type="unfinished"></translation>
+ <translation>قائمة النسخ</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
- <translation type="unfinished"></translation>
+ <translation>قائمة النقل</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
- <translation type="unfinished"></translation>
+ <translation>عدم الإغلاق في حاله العثور على أخطاء</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
- <translation type="unfinished"></translation>
+ <translation>لا تغلق أبدا</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
- <translation type="unfinished"></translation>
+ <translation>إغلاق دائم</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
- <translation type="unfinished"></translation>
+ <translation>اسم الملف ، 0KB</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
- <translation type="unfinished"></translation>
+ <translation>تحديد لون</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
- <translation type="unfinished"></translation>
+ <translation>%1 %2% من %3</translation>
</message>
</context>
<context>
@@ -75,24 +63,24 @@
<message>
<location filename="../../ThemesFactory.cpp" line="284"/>
<source>Don&apos;t close if errors are found</source>
- <translation type="unfinished"></translation>
+ <translation>عدم الإغلاق في حاله العثور على أخطاء</translation>
</message>
<message>
<location filename="../../ThemesFactory.cpp" line="285"/>
<source>Never close</source>
- <translation type="unfinished"></translation>
+ <translation>لا تغلق أبدا</translation>
</message>
<message>
<location filename="../../ThemesFactory.cpp" line="286"/>
<source>Always close</source>
- <translation type="unfinished"></translation>
+ <translation>إغلاق دائم</translation>
</message>
<message>
<location filename="../../ThemesFactory.cpp" line="482"/>
<location filename="../../ThemesFactory.cpp" line="497"/>
<location filename="../../ThemesFactory.cpp" line="512"/>
<source>Select a color</source>
- <translation type="unfinished"></translation>
+ <translation>تحديد لون</translation>
</message>
</context>
<context>
@@ -100,158 +88,158 @@
<message>
<location filename="../../interface.ui" line="35"/>
<source>From:</source>
- <translation type="unfinished"></translation>
+ <translation>من:</translation>
</message>
<message>
<location filename="../../interface.ui" line="65"/>
<source>To:</source>
- <translation type="unfinished"></translation>
+ <translation>الى:</translation>
</message>
<message>
<location filename="../../interface.ui" line="226"/>
<source>&amp;More</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;تحريك</translation>
</message>
<message>
<location filename="../../interface.ui" line="246"/>
<source>&amp;Pause</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;مهلة</translation>
</message>
<message>
<location filename="../../interface.ui" line="260"/>
<source>&amp;Skip</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;تخطي</translation>
</message>
<message>
<location filename="../../interface.ui" line="271"/>
<source>&amp;Cancel</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;الغاء الامر</translation>
</message>
<message>
<location filename="../../interface.ui" line="118"/>
<source>Close on transfer completion</source>
- <translation type="unfinished"></translation>
+ <translation>إغلاق عند إتمام النقل</translation>
</message>
<message>
<location filename="../../interface.ui" line="286"/>
<source>Limit copy speed to:</source>
- <translation type="unfinished"></translation>
+ <translation>الحد من سرعه النسخ إلى:</translation>
</message>
<message>
<location filename="../../interface.ui" line="329"/>
<source>Transfer list</source>
- <translation type="unfinished"></translation>
+ <translation>قائمه النقل</translation>
</message>
<message>
<location filename="../../interface.ui" line="352"/>
<source>Move the selected items to the top</source>
- <translation type="unfinished"></translation>
+ <translation>تحريك المواد المحددة إلى الأعلى</translation>
</message>
<message>
<location filename="../../interface.ui" line="378"/>
<source>Move up the selected items</source>
- <translation type="unfinished"></translation>
+ <translation>تحريك المواد المحددة لاعلي</translation>
</message>
<message>
<location filename="../../interface.ui" line="404"/>
<source>Move down the selected items</source>
- <translation type="unfinished"></translation>
+ <translation>تحريك المواد المحددة لاسفل</translation>
</message>
<message>
<location filename="../../interface.ui" line="430"/>
<source>Move the selected items to the bottom</source>
- <translation type="unfinished"></translation>
+ <translation>تحريك العناصر المحددة إلى الأسفل</translation>
</message>
<message>
<location filename="../../interface.ui" line="456"/>
<source>Add file/folder</source>
- <translation type="unfinished"></translation>
+ <translation>أضافه ملف/مجلد</translation>
</message>
<message>
<location filename="../../interface.ui" line="485"/>
<source>Delete the selected items</source>
- <translation type="unfinished"></translation>
+ <translation>حذف المواد المحددة</translation>
</message>
<message>
<location filename="../../interface.ui" line="511"/>
<source>Search</source>
- <translation type="unfinished"></translation>
+ <translation>بحث</translation>
</message>
<message>
<location filename="../../interface.ui" line="540"/>
<source>Export the transfer list</source>
- <translation type="unfinished"></translation>
+ <translation>تصدير قائمه النقل</translation>
</message>
<message>
<location filename="../../interface.ui" line="566"/>
<source>Import the transfer list</source>
- <translation type="unfinished"></translation>
+ <translation>استيراد قائمه النقل</translation>
</message>
<message>
<location filename="../../interface.ui" line="621"/>
<source>Previous</source>
- <translation type="unfinished"></translation>
+ <translation>السابق</translation>
</message>
<message>
<location filename="../../interface.ui" line="628"/>
<source>Next</source>
- <translation type="unfinished"></translation>
+ <translation>التالي</translation>
</message>
<message>
<location filename="../../interface.ui" line="663"/>
<location filename="../../interface.ui" line="732"/>
<source>Error</source>
- <translation type="unfinished"></translation>
+ <translation>الخطا</translation>
</message>
<message>
<location filename="../../interface.ui" line="683"/>
<source>Export the errors into transfer list</source>
- <translation type="unfinished"></translation>
+ <translation>تصدير الأخطاء إلى قائمه النقل</translation>
</message>
<message>
<location filename="../../interface.ui" line="722"/>
<source>Source</source>
- <translation type="unfinished"></translation>
+ <translation>المصدر</translation>
</message>
<message>
<location filename="../../interface.ui" line="727"/>
<source>Destination</source>
- <translation type="unfinished"></translation>
+ <translation>الوجهة</translation>
</message>
<message>
<location filename="../../interface.ui" line="741"/>
<source>Interface</source>
- <translation type="unfinished"></translation>
+ <translation>الواجهه</translation>
</message>
<message>
<location filename="../../interface.ui" line="778"/>
<source>Add file</source>
- <translation type="unfinished"></translation>
+ <translation>اضافة ملف</translation>
</message>
<message>
<location filename="../../interface.ui" line="787"/>
<source>Add folder</source>
- <translation type="unfinished"></translation>
+ <translation>اضافة مجلد</translation>
</message>
<message>
<location filename="../../interface.ui" line="796"/>
<source>Move file(s)</source>
- <translation type="unfinished"></translation>
+ <translation>تحريك الملفات</translation>
</message>
<message>
<location filename="../../interface.ui" line="805"/>
<source>Move folder</source>
- <translation type="unfinished"></translation>
+ <translation>تحريك المجلد</translation>
</message>
<message>
<location filename="../../interface.ui" line="814"/>
<source>Copy file(s)</source>
- <translation type="unfinished"></translation>
+ <translation>نسخ الملفات</translation>
</message>
<message>
<location filename="../../interface.ui" line="823"/>
<source>Copy folder</source>
- <translation type="unfinished"></translation>
+ <translation>نسخ المجلد</translation>
</message>
</context>
<context>
@@ -259,88 +247,88 @@
<message>
<location filename="../../themesOptions.ui" line="267"/>
<source>Show dual progression</source>
- <translation type="unfinished"></translation>
+ <translation>إظهار التقدم المزدوج</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="219"/>
<source>Show speed as main information</source>
- <translation type="unfinished"></translation>
+ <translation>إظهار السرعة كمعلومات رئيسيه</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="44"/>
<source>Use</source>
- <translation type="unfinished"></translation>
+ <translation>استخدام</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="173"/>
<source>Start with the &quot;more button&quot; pushed</source>
- <translation type="unfinished"></translation>
+ <translation>تبدا مع &quot;أكثر زر&quot; دفعت</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="67"/>
<source>Minimize on close to systray</source>
- <translation type="unfinished"></translation>
+ <translation>تصغير بالقرب من الدرج النظام</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="96"/>
<source>At the end of the copy</source>
- <translation type="unfinished"></translation>
+ <translation>في نهاية النسخ</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="103"/>
<location filename="../../themesOptions.ui" line="137"/>
<source>Limit copy speed to</source>
- <translation type="unfinished"></translation>
+ <translation>الحد من سرعه النسخ إلى</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="147"/>
<source> KB/s</source>
- <translation type="unfinished"></translation>
+ <translation>KB/s</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="53"/>
<source>Start minimized</source>
- <translation type="unfinished"></translation>
+ <translation>بدء التصغير</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="190"/>
<source>Save position</source>
- <translation type="unfinished"></translation>
+ <translation>حفظ الموضع</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="213"/>
<source>Informations</source>
- <translation type="unfinished"></translation>
+ <translation>المعلومات</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="251"/>
<source>Display</source>
- <translation type="unfinished"></translation>
+ <translation>عرض</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="257"/>
<source>Speed with progress bar</source>
- <translation type="unfinished"></translation>
+ <translation>السرعة مع شريط التقدم</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="287"/>
<source>Progression color</source>
- <translation type="unfinished"></translation>
+ <translation>تدرج اللون</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="306"/>
<source>Click to edit the color</source>
- <translation type="unfinished"></translation>
+ <translation>انقر لتحرير اللون</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="277"/>
<source>Show progression in the title</source>
- <translation type="unfinished"></translation>
+ <translation>إظهار التقدم في العنوان</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="183"/>
<source>Always on top</source>
- <translation type="unfinished"></translation>
+ <translation>دائما في القمه</translation>
</message>
</context>
</TS>
diff --git a/plugins/Themes/Oxygen/Languages/de/translation.qm b/plugins/Themes/Oxygen/Languages/de/translation.qm
new file mode 100755
index 0000000..6bbb305
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/de/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/de/translation.ts b/plugins/Themes/Oxygen/Languages/de/translation.ts
index af05eee..c4e5996 100644
--- a/plugins/Themes/Oxygen/Languages/de/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/de/translation.ts
@@ -4,70 +4,58 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation>Kaufe die Ultimate Version um die Entwicklung zu finanzieren</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation>Datei %1/%2, Größe:%3/%4</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation>Zu kopierende Dateien</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation>Zu verschiebende Dateien</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation>Nicht schließen, wenn Fehler aufgetreten sind</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation>Niemals schließen</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation>Immer schließen</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation>Dateiname, 0KB</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation>Farbe auswählen</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
- <translation type="unfinished"></translation>
+ <translation>%1 %2% von %3</translation>
</message>
</context>
<context>
@@ -259,7 +247,7 @@
<message>
<location filename="../../themesOptions.ui" line="267"/>
<source>Show dual progression</source>
- <translation>Zweifachen Fortschritt anzeigen</translation>
+ <translation></translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="219"/>
@@ -295,7 +283,7 @@
<message>
<location filename="../../themesOptions.ui" line="53"/>
<source>Start minimized</source>
- <translation type="unfinished"></translation>
+ <translation>Minimiert starten</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="306"/>
@@ -310,7 +298,7 @@
<message>
<location filename="../../themesOptions.ui" line="190"/>
<source>Save position</source>
- <translation type="unfinished"></translation>
+ <translation>Speichere Fensterposition</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="213"/>
@@ -340,7 +328,7 @@
<message>
<location filename="../../themesOptions.ui" line="183"/>
<source>Always on top</source>
- <translation>Fenster immer im Vordergrund</translation>
+ <translation>Fenster immer im Vordergrund halten</translation>
</message>
</context>
</TS>
diff --git a/plugins/Themes/Oxygen/Languages/el/translation.qm b/plugins/Themes/Oxygen/Languages/el/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/el/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/el/translation.ts b/plugins/Themes/Oxygen/Languages/el/translation.ts
index 2af674e..07732b2 100644..100755
--- a/plugins/Themes/Oxygen/Languages/el/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/el/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/en/translation.qm b/plugins/Themes/Oxygen/Languages/en/translation.qm
new file mode 100755
index 0000000..d925dd6
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/en/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/en/translation.ts b/plugins/Themes/Oxygen/Languages/en/translation.ts
index 8889b16..adebfce 100644..100755
--- a/plugins/Themes/Oxygen/Languages/en/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/en/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/es/translation.qm b/plugins/Themes/Oxygen/Languages/es/translation.qm
new file mode 100755
index 0000000..5d258b3
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/es/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/es/translation.ts b/plugins/Themes/Oxygen/Languages/es/translation.ts
index caf9b49..ce6281a 100644..100755
--- a/plugins/Themes/Oxygen/Languages/es/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/es/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation>Comprar la versión Ultimate para financiar el desarrollo</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation>El archivo %1/%2, el tamaño: %3/%4</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation>Lista de copia</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation>Lista de movimiento</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation>No cierre si se encuentran errores</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation>Nunca cierre</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation>Siempre cerrar</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation>Nombre de archivo, 0KB</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation>Seleccione un color</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/fr/translation.qm b/plugins/Themes/Oxygen/Languages/fr/translation.qm
new file mode 100755
index 0000000..3db8765
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/fr/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/fr/translation.ts b/plugins/Themes/Oxygen/Languages/fr/translation.ts
index 3eff652..0171ad9 100644..100755
--- a/plugins/Themes/Oxygen/Languages/fr/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/fr/translation.ts
@@ -4,19 +4,7 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="+303"/>
- <location line="+17"/>
- <source>%1 is deprecated, Use %2</source>
- <translation>%1 est obsolète, utilisez %2</translation>
- </message>
- <message>
- <location line="-14"/>
- <location line="+17"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation>Ce sera la dernière version pour Mac, mais vous pouvez compiler à partir des sources</translation>
- </message>
- <message>
- <location line="+2"/>
+ <location filename="../../interface.cpp" line="+327"/>
<source>Buy the Ultimate version to fund development</source>
<translation>Achetez la version Ultimate pour financer le développement</translation>
</message>
@@ -36,7 +24,7 @@
<translation>Liste de déplacements</translation>
</message>
<message>
- <location line="+421"/>
+ <location line="+428"/>
<source>Don&apos;t close if errors are found</source>
<translation>Garder ouvert s&apos;il y a des erreurs</translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/hi/translation.qm b/plugins/Themes/Oxygen/Languages/hi/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/hi/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/hi/translation.ts b/plugins/Themes/Oxygen/Languages/hi/translation.ts
index 2af674e..07732b2 100644..100755
--- a/plugins/Themes/Oxygen/Languages/hi/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/hi/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/hu/translation.qm b/plugins/Themes/Oxygen/Languages/hu/translation.qm
new file mode 100755
index 0000000..55200d4
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/hu/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/hu/translation.ts b/plugins/Themes/Oxygen/Languages/hu/translation.ts
index 426a524..04c522a 100644..100755
--- a/plugins/Themes/Oxygen/Languages/hu/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/hu/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation>Vásárold meg az Ultimate verziót a fejlesztés támogatásához</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation>Fájl %1/%2, méret: %3/%4</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation>Lista másolása</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation>Lista mozgatása</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation>Ne zárja be, ha hiba történik</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation>Sose zárja be</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation>Mindig zárja be</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation>Fájlnév, 0KB</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation>Válassz egy színt</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/id/translation.qm b/plugins/Themes/Oxygen/Languages/id/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/id/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/id/translation.ts b/plugins/Themes/Oxygen/Languages/id/translation.ts
index 2af674e..07732b2 100644..100755
--- a/plugins/Themes/Oxygen/Languages/id/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/id/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/it/translation.qm b/plugins/Themes/Oxygen/Languages/it/translation.qm
new file mode 100755
index 0000000..003803d
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/it/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/it/translation.ts b/plugins/Themes/Oxygen/Languages/it/translation.ts
index 5eb14bf..6738ae9 100644
--- a/plugins/Themes/Oxygen/Languages/it/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/it/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
- <translation>Acquista la versione Ultimate per finanziare lo sviluppo del programma</translation>
+ <translation>Acquista versione ultimate per finanziare lo sviluppo</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation>File %1/%2, dimensione: %3/%4</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
- <translation>Lista della copia</translation>
+ <translation>Lista di copia</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
- <translation>Lista dello spostamento</translation>
+ <translation>Lista di spostamento</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
- <translation>Non chiudere se vengono rilevati errori</translation>
+ <translation>Non chiudere se vengono trovati errori</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation>Non chiudere mai</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation>Chiudere sempre</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
- <translation>Nome del file, 0KB</translation>
+ <translation>Nome file, 0KB</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
- <translation>Scegliere un colore</translation>
+ <translation>Selezionare colore</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation>%1 %2% di %3</translation>
</message>
@@ -92,7 +80,7 @@
<location filename="../../ThemesFactory.cpp" line="497"/>
<location filename="../../ThemesFactory.cpp" line="512"/>
<source>Select a color</source>
- <translation>Scegliere un colore</translation>
+ <translation>Selezionare colore</translation>
</message>
</context>
<context>
@@ -105,72 +93,72 @@
<message>
<location filename="../../interface.ui" line="65"/>
<source>To:</source>
- <translation>a:</translation>
+ <translation>A:</translation>
</message>
<message>
<location filename="../../interface.ui" line="226"/>
<source>&amp;More</source>
- <translation>Altr&amp;o</translation>
+ <translation>Avanzate</translation>
</message>
<message>
<location filename="../../interface.ui" line="246"/>
<source>&amp;Pause</source>
- <translation>&amp;Pausa</translation>
+ <translation>Pausa</translation>
</message>
<message>
<location filename="../../interface.ui" line="260"/>
<source>&amp;Skip</source>
- <translation>&amp;Salta</translation>
+ <translation>Salta</translation>
</message>
<message>
<location filename="../../interface.ui" line="271"/>
<source>&amp;Cancel</source>
- <translation>&amp;Annulla</translation>
+ <translation>Annulla</translation>
</message>
<message>
<location filename="../../interface.ui" line="118"/>
<source>Close on transfer completion</source>
- <translation>Arresta il sistema a trasferimento comletato</translation>
+ <translation>Chiudi a trasferimento completato</translation>
</message>
<message>
<location filename="../../interface.ui" line="286"/>
<source>Limit copy speed to:</source>
- <translation>Limitare la velocità di copia a:</translation>
+ <translation>Limitare velocità di copia a:</translation>
</message>
<message>
<location filename="../../interface.ui" line="329"/>
<source>Transfer list</source>
- <translation>Lista dei trasferimenti</translation>
+ <translation>Lista di trasferimento</translation>
</message>
<message>
<location filename="../../interface.ui" line="352"/>
<source>Move the selected items to the top</source>
- <translation>Sposta in cima gli elementi selezionati</translation>
+ <translation>Metti elementi selezionati in cima</translation>
</message>
<message>
<location filename="../../interface.ui" line="378"/>
<source>Move up the selected items</source>
- <translation>Sposta sopra gli elementi selezionati</translation>
+ <translation>Sposta elementi selezionati in sù</translation>
</message>
<message>
<location filename="../../interface.ui" line="404"/>
<source>Move down the selected items</source>
- <translation>Sposta sotto gli elementi selezionati</translation>
+ <translation>Sposta elementi selezionati in giù</translation>
</message>
<message>
<location filename="../../interface.ui" line="430"/>
<source>Move the selected items to the bottom</source>
- <translation>Sposta in coda gli elementi selezionati</translation>
+ <translation>Metti elementi selezionati in coda</translation>
</message>
<message>
<location filename="../../interface.ui" line="456"/>
<source>Add file/folder</source>
- <translation>Aggiungi file/cartelle</translation>
+ <translation>Aggiungi file/cartella</translation>
</message>
<message>
<location filename="../../interface.ui" line="485"/>
<source>Delete the selected items</source>
- <translation>Elimina gli elementi selezionati</translation>
+ <translation>Elimina elementi selezionati</translation>
</message>
<message>
<location filename="../../interface.ui" line="511"/>
@@ -180,12 +168,12 @@
<message>
<location filename="../../interface.ui" line="540"/>
<source>Export the transfer list</source>
- <translation>Esporta la lista dei trasferimenti</translation>
+ <translation>Esporta lista di trasferimento</translation>
</message>
<message>
<location filename="../../interface.ui" line="566"/>
<source>Import the transfer list</source>
- <translation>Importa la lista dei trasferimenti</translation>
+ <translation>Importa lista di trasferimento</translation>
</message>
<message>
<location filename="../../interface.ui" line="621"/>
@@ -206,17 +194,17 @@
<message>
<location filename="../../interface.ui" line="683"/>
<source>Export the errors into transfer list</source>
- <translation>Esporta gli errori nella lista dei trasferimenti</translation>
+ <translation>Esporta errori in lista di trasferimento</translation>
</message>
<message>
<location filename="../../interface.ui" line="722"/>
<source>Source</source>
- <translation>Cartella di origine</translation>
+ <translation>Origine</translation>
</message>
<message>
<location filename="../../interface.ui" line="727"/>
<source>Destination</source>
- <translation>Cartella di destinazione</translation>
+ <translation>Destinazione</translation>
</message>
<message>
<location filename="../../interface.ui" line="741"/>
@@ -236,22 +224,22 @@
<message>
<location filename="../../interface.ui" line="796"/>
<source>Move file(s)</source>
- <translation>Sposta file</translation>
+ <translation>Spostare file</translation>
</message>
<message>
<location filename="../../interface.ui" line="805"/>
<source>Move folder</source>
- <translation>Sposta la cartella</translation>
+ <translation>Spostare cartella/e</translation>
</message>
<message>
<location filename="../../interface.ui" line="814"/>
<source>Copy file(s)</source>
- <translation>Copia file</translation>
+ <translation>Copiare file</translation>
</message>
<message>
<location filename="../../interface.ui" line="823"/>
<source>Copy folder</source>
- <translation>Copia la cartella</translation>
+ <translation>Copiare cartella/e</translation>
</message>
</context>
<context>
@@ -259,48 +247,48 @@
<message>
<location filename="../../themesOptions.ui" line="267"/>
<source>Show dual progression</source>
- <translation>Mostrare la doppia progressione</translation>
+ <translation>Mostrare progressione duale</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="219"/>
<source>Show speed as main information</source>
- <translation>Mostrare la velocità come principale informazione</translation>
+ <translation>Mostrare velocità come informazione principale</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="44"/>
<source>Use</source>
- <translation>Utilità</translation>
+ <translation>Funzionalità</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="173"/>
<source>Start with the &quot;more button&quot; pushed</source>
- <translation>Iniziare col pulsante &quot;Altro&quot; attivo</translation>
+ <translation>Avvio con bottone &quot;Avanzate&quot; premuto</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="67"/>
<source>Minimize on close to systray</source>
- <translation>Alla chiusura riduci nella&apos;area di notifica</translation>
+ <translation>Alla chiusura riduci nell&apos;area di notifica</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="96"/>
<source>At the end of the copy</source>
- <translation>Al termine della copia</translation>
+ <translation>A fine copia</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="103"/>
<location filename="../../themesOptions.ui" line="137"/>
<source>Limit copy speed to</source>
- <translation>Limitare la velocità di copia a</translation>
+ <translation>Limitare velocità di copia a</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="53"/>
<source>Start minimized</source>
- <translation type="unfinished"></translation>
+ <translation>Avvia ridotto a icona</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="306"/>
<source>Click to edit the color</source>
- <translation>Clicca per modificare il colore</translation>
+ <translation>Cliccare per modificare colore</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="147"/>
@@ -310,7 +298,7 @@
<message>
<location filename="../../themesOptions.ui" line="190"/>
<source>Save position</source>
- <translation type="unfinished"></translation>
+ <translation>Salva posizione</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="213"/>
@@ -320,22 +308,22 @@
<message>
<location filename="../../themesOptions.ui" line="251"/>
<source>Display</source>
- <translation>Visualizza</translation>
+ <translation>Visualizzazione</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="257"/>
<source>Speed with progress bar</source>
- <translation>Velocità nella barra di progresso</translation>
+ <translation>Velocità in barra progresso</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="287"/>
<source>Progression color</source>
- <translation>Colore della progressione</translation>
+ <translation>Colore progressione</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="277"/>
<source>Show progression in the title</source>
- <translation>Mostrare la percentuale di progresso sul titolo</translation>
+ <translation>Mostra percentuale di progresso nel titolo</translation>
</message>
<message>
<location filename="../../themesOptions.ui" line="183"/>
diff --git a/plugins/Themes/Oxygen/Languages/ja/translation.qm b/plugins/Themes/Oxygen/Languages/ja/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/ja/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/ja/translation.ts b/plugins/Themes/Oxygen/Languages/ja/translation.ts
index 526af3f..6f9cbf8 100644..100755
--- a/plugins/Themes/Oxygen/Languages/ja/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/ja/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/ko/translation.qm b/plugins/Themes/Oxygen/Languages/ko/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/ko/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/ko/translation.ts b/plugins/Themes/Oxygen/Languages/ko/translation.ts
index e1280d7..4581886 100644..100755
--- a/plugins/Themes/Oxygen/Languages/ko/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/ko/translation.ts
@@ -4,19 +4,7 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="+303"/>
- <location line="+17"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-14"/>
- <location line="+17"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
+ <location filename="../../interface.cpp" line="+327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
@@ -36,7 +24,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+421"/>
+ <location line="+428"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished">오류 발견시 종료 안함</translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/nl/translation.qm b/plugins/Themes/Oxygen/Languages/nl/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/nl/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/nl/translation.ts b/plugins/Themes/Oxygen/Languages/nl/translation.ts
index 2af674e..07732b2 100644..100755
--- a/plugins/Themes/Oxygen/Languages/nl/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/nl/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/no/translation.qm b/plugins/Themes/Oxygen/Languages/no/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/no/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/no/translation.ts b/plugins/Themes/Oxygen/Languages/no/translation.ts
index 2af674e..07732b2 100644..100755
--- a/plugins/Themes/Oxygen/Languages/no/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/no/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/pl/translation.qm b/plugins/Themes/Oxygen/Languages/pl/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/pl/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/pl/translation.ts b/plugins/Themes/Oxygen/Languages/pl/translation.ts
index 2af674e..07732b2 100644..100755
--- a/plugins/Themes/Oxygen/Languages/pl/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/pl/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/pt/translation.qm b/plugins/Themes/Oxygen/Languages/pt/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/pt/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/pt/translation.ts b/plugins/Themes/Oxygen/Languages/pt/translation.ts
index 2af674e..07732b2 100644..100755
--- a/plugins/Themes/Oxygen/Languages/pt/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/pt/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/ru/translation.qm b/plugins/Themes/Oxygen/Languages/ru/translation.qm
new file mode 100755
index 0000000..ff20604
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/ru/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/ru/translation.ts b/plugins/Themes/Oxygen/Languages/ru/translation.ts
index 3fd1814..0347921 100644..100755
--- a/plugins/Themes/Oxygen/Languages/ru/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/ru/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation>Файл %1/%2, размер: %3/%4</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished">Копировать список</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished">Не закрывать, если найдены ошибки</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished">Никогда не закрывать</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished">Всегда закрывайте</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation>Имя файла, 0KB</translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/th/translation.qm b/plugins/Themes/Oxygen/Languages/th/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/th/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/th/translation.ts b/plugins/Themes/Oxygen/Languages/th/translation.ts
index 2af674e..07732b2 100644..100755
--- a/plugins/Themes/Oxygen/Languages/th/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/th/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/tr/translation.qm b/plugins/Themes/Oxygen/Languages/tr/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/tr/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/tr/translation.ts b/plugins/Themes/Oxygen/Languages/tr/translation.ts
index 2af674e..07732b2 100644..100755
--- a/plugins/Themes/Oxygen/Languages/tr/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/tr/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Languages/zh/translation.qm b/plugins/Themes/Oxygen/Languages/zh/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen/Languages/zh/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen/Languages/zh/translation.ts b/plugins/Themes/Oxygen/Languages/zh/translation.ts
index 526af3f..6f9cbf8 100644..100755
--- a/plugins/Themes/Oxygen/Languages/zh/translation.ts
+++ b/plugins/Themes/Oxygen/Languages/zh/translation.ts
@@ -4,68 +4,56 @@
<context>
<name>Themes</name>
<message>
- <location filename="../../interface.cpp" line="303"/>
- <location filename="../../interface.cpp" line="320"/>
- <source>%1 is deprecated, Use %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="306"/>
- <location filename="../../interface.cpp" line="323"/>
- <source>This will be the last version for Mac, but you can compile from source</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../interface.cpp" line="325"/>
+ <location filename="../../interface.cpp" line="327"/>
<source>Buy the Ultimate version to fund development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="410"/>
+ <location filename="../../interface.cpp" line="412"/>
<source>File %1/%2, size: %3/%4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="644"/>
+ <location filename="../../interface.cpp" line="646"/>
<source>Copy list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="646"/>
+ <location filename="../../interface.cpp" line="648"/>
<source>Move list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1067"/>
+ <location filename="../../interface.cpp" line="1076"/>
<source>Don&apos;t close if errors are found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1068"/>
+ <location filename="../../interface.cpp" line="1077"/>
<source>Never close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1069"/>
+ <location filename="../../interface.cpp" line="1078"/>
<source>Always close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1071"/>
+ <location filename="../../interface.cpp" line="1080"/>
<source>File Name, 0KB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1265"/>
- <location filename="../../interface.cpp" line="1277"/>
- <location filename="../../interface.cpp" line="1289"/>
+ <location filename="../../interface.cpp" line="1274"/>
+ <location filename="../../interface.cpp" line="1286"/>
+ <location filename="../../interface.cpp" line="1298"/>
<source>Select a color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../interface.cpp" line="1364"/>
- <location filename="../../interface.cpp" line="1368"/>
- <location filename="../../interface.cpp" line="1370"/>
+ <location filename="../../interface.cpp" line="1373"/>
+ <location filename="../../interface.cpp" line="1377"/>
+ <location filename="../../interface.cpp" line="1379"/>
<source>%1 %2% of %3</source>
<translation type="unfinished"></translation>
</message>
diff --git a/plugins/Themes/Oxygen/Variable.h b/plugins/Themes/Oxygen/OxygenVariable.h
index 9f9af0d..029f6c3 100644..100755
--- a/plugins/Themes/Oxygen/Variable.h
+++ b/plugins/Themes/Oxygen/OxygenVariable.h
@@ -9,7 +9,7 @@
//Un-comment this next line to put ultracopier plugin in debug mode
#ifndef ULTRACOPIER_NODEBUG
-#define ULTRACOPIER_PLUGIN_DEBUG
+//#define ULTRACOPIER_PLUGIN_DEBUG
#endif
#endif // VARIABLE_H
diff --git a/plugins/Themes/Oxygen/README.md b/plugins/Themes/Oxygen/README.md
index b529701..b529701 100644..100755
--- a/plugins/Themes/Oxygen/README.md
+++ b/plugins/Themes/Oxygen/README.md
diff --git a/plugins/Themes/Oxygen/StructEnumDefinition.h b/plugins/Themes/Oxygen/StructEnumDefinition.h
index c1758f4..c1758f4 100644..100755
--- a/plugins/Themes/Oxygen/StructEnumDefinition.h
+++ b/plugins/Themes/Oxygen/StructEnumDefinition.h
diff --git a/plugins/Themes/Oxygen/ThemesFactory.cpp b/plugins/Themes/Oxygen/ThemesFactory.cpp
index 8d3c090..8d3c090 100644..100755
--- a/plugins/Themes/Oxygen/ThemesFactory.cpp
+++ b/plugins/Themes/Oxygen/ThemesFactory.cpp
diff --git a/plugins/Themes/Oxygen/ThemesFactory.h b/plugins/Themes/Oxygen/ThemesFactory.h
index e29d430..e29d430 100644..100755
--- a/plugins/Themes/Oxygen/ThemesFactory.h
+++ b/plugins/Themes/Oxygen/ThemesFactory.h
diff --git a/plugins/Themes/Oxygen/TransferModel.cpp b/plugins/Themes/Oxygen/TransferModel.cpp
index 2959598..2959598 100644..100755
--- a/plugins/Themes/Oxygen/TransferModel.cpp
+++ b/plugins/Themes/Oxygen/TransferModel.cpp
diff --git a/plugins/Themes/Oxygen/TransferModel.h b/plugins/Themes/Oxygen/TransferModel.h
index e572f9e..e572f9e 100644..100755
--- a/plugins/Themes/Oxygen/TransferModel.h
+++ b/plugins/Themes/Oxygen/TransferModel.h
diff --git a/plugins/Themes/Oxygen/documentation.dox b/plugins/Themes/Oxygen/documentation.dox
index d94ce0b..d94ce0b 100644..100755
--- a/plugins/Themes/Oxygen/documentation.dox
+++ b/plugins/Themes/Oxygen/documentation.dox
diff --git a/plugins/Themes/Oxygen/informations.xml b/plugins/Themes/Oxygen/informations.xml
index 1b2222e..048caa3 100644..100755
--- a/plugins/Themes/Oxygen/informations.xml
+++ b/plugins/Themes/Oxygen/informations.xml
@@ -17,7 +17,7 @@
<description xml:lang="en"><![CDATA[Oxygen style for Ultracopier]]></description>
<description xml:lang="fr"><![CDATA[Style oxygen pour Ultracopier]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>Oxygen</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/Themes/Oxygen/interface.cpp b/plugins/Themes/Oxygen/interface.cpp
index 22d1b24..4a8b83e 100644..100755
--- a/plugins/Themes/Oxygen/interface.cpp
+++ b/plugins/Themes/Oxygen/interface.cpp
@@ -56,13 +56,31 @@ Themes::Themes(const bool &alwaysOnTop,
const bool &minimizeToSystray,
const bool &startMinimized,
const bool &savePosition) :
+ duration(0),
+ durationStarted(false),
ui(new Ui::interfaceCopy()),
- uiOptions(new Ui::themesOptions())
+ uiOptions(new Ui::themesOptions()),
+ currentFile(0),
+ totalFile(0),
+ currentSize(0),
+ totalSize(0),
+ getOldProgression(0),
+ sysTrayIcon(NULL),
+ menu(NULL),
+ action(Ultracopier::EngineActionInProgress::Idle),
+ currentSpeed(0),
+ storeIsInPause(false),
+ modeIsForced(false),
+ type(Ultracopier::CopyType::FileAndFolder),
+ mode(Ultracopier::CopyMode::Copy),
+ haveStarted(false),
+ haveError(false)
{
this->facilityEngine=facilityEngine;
ui->setupUi(this);
uiOptions->setupUi(ui->optionsTab);
+ m_havePause=false;
currentFile = 0;
totalFile = 0;
currentSize = 0;
@@ -298,17 +316,7 @@ Themes::Themes(const bool &alwaysOnTop,
uiOptions->alwaysOnTop->hide();
#endif*/
if(facilityEngine->isUltimate())
- {
- #ifdef SUPERCOPIER
- ui->ad_ultimate->setText(tr("%1 is deprecated, Use %2").arg("<span style=\"color:#ee0000\">Super</span><span style=\"color:#0000cc\">Copier</span>").arg("<a href=\"http://ultracopier.first-world.info/\">Ultracopier</a>"));
- #else
- #ifdef Q_OS_MACOS
- ui->ad_ultimate->setText(tr("This will be the last version for Mac, but you can compile from source"));
- #else
- ui->ad_ultimate->hide();
- #endif
- #endif
- }
+ ui->ad_ultimate->hide();
else
{
QString ultimateUrl=QString::fromStdString(facilityEngine->ultimateUrl());
@@ -316,12 +324,6 @@ Themes::Themes(const bool &alwaysOnTop,
ui->ad_ultimate->hide();
else
ui->ad_ultimate->setText(
- #ifdef SUPERCOPIER
- tr("%1 is deprecated, Use %2").arg("<span style=\"color:#ee0000\">Super</span><span style=\"color:#0000cc\">copier</span>").arg("<a href=\"http://ultracopier.first-world.info/\">Ultracopier</a><br />")+
- #endif
- #ifdef Q_OS_MACOS
- tr("This will be the last version for Mac, but you can compile from source")+
- #endif
QStringLiteral("<a href=\"%1\">%2</a>").arg(ultimateUrl).arg(tr("Buy the Ultimate version to fund development")));
}
@@ -668,6 +670,13 @@ void Themes::isInPause(const bool &isInPause)
updatePause();
}
+/// \brief set have pause
+void Themes::havePause(const bool &havePause)
+{
+ ui->pauseButton->setEnabled(havePause);
+ m_havePause=havePause;
+}
+
void Themes::updatePause()
{
if(storeIsInPause)
@@ -1510,3 +1519,6 @@ void Themes::on_exportErrorToTransferList_clicked()
emit exportErrorIntoTransferList();
}
+void Themes::doneTime(const std::vector<std::pair<uint64_t,uint32_t> > &)
+{
+}
diff --git a/plugins/Themes/Oxygen/interface.h b/plugins/Themes/Oxygen/interface.h
index 10e7a00..41849bd 100644..100755
--- a/plugins/Themes/Oxygen/interface.h
+++ b/plugins/Themes/Oxygen/interface.h
@@ -95,6 +95,8 @@ public:
void haveExternalOrder();
/// \brief set if is in pause
void isInPause(const bool &);
+ /// \brief set if have pause
+ void havePause(const bool &);
/// \brief get the widget for the copy engine
QWidget * getOptionsEngineWidget();
/// \brief to set if the copy engine is found
@@ -104,6 +106,8 @@ public:
public slots:
/// \brief set the translate
void newLanguageLoaded();
+ /// to get by file speed
+ void doneTime(const std::vector<std::pair<uint64_t,uint32_t> > &);
private slots:
void on_putOnTop_clicked();
void on_pushUp_clicked();
@@ -188,6 +192,7 @@ private:
QModelIndexList selectedItems;
/// \brief the custom transfer model
TransferModel transferModel;
+ bool m_havePause;
static QIcon player_play,player_pause,tempExitIcon,editDelete,skinIcon,editFind,documentOpen,documentSave,listAdd;
static bool iconLoaded;
diff --git a/plugins/Themes/Oxygen/interface.pro b/plugins/Themes/Oxygen/interface.pro
index 9b4923d..f5f4fde 100644..100755
--- a/plugins/Themes/Oxygen/interface.pro
+++ b/plugins/Themes/Oxygen/interface.pro
@@ -1,4 +1,6 @@
include($$PWD/../Oxygen/interfaceInclude.pri)
+TEMPLATE = lib
+CONFIG += plugin
!CONFIG(static) {
RESOURCES += \
diff --git a/plugins/Themes/Oxygen/interface.ui b/plugins/Themes/Oxygen/interface.ui
index ef07b17..ef07b17 100644..100755
--- a/plugins/Themes/Oxygen/interface.ui
+++ b/plugins/Themes/Oxygen/interface.ui
diff --git a/plugins/Themes/Oxygen/interfaceInclude.pri b/plugins/Themes/Oxygen/interfaceInclude.pri
index 5f7317b..54507c6 100644..100755
--- a/plugins/Themes/Oxygen/interfaceInclude.pri
+++ b/plugins/Themes/Oxygen/interfaceInclude.pri
@@ -3,14 +3,12 @@ QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra"
mac:QMAKE_CXXFLAGS+="-stdlib=libc++"
QT += widgets
-TEMPLATE = lib
-CONFIG += plugin
HEADERS = \
$$PWD/ThemesFactory.h \
$$PWD/StructEnumDefinition.h \
$$PWD/DebugEngineMacro.h \
$$PWD/Environment.h \
- $$PWD/Variable.h \
+ $$PWD/OxygenVariable.h \
$$PWD/../../../interface/PluginInterface_Themes.h \
$$PWD/../../../interface/FacilityInterface.h \
$$PWD/../../../interface/OptionInterface.h \
diff --git a/plugins/Themes/Oxygen/interfaceResources.qrc b/plugins/Themes/Oxygen/interfaceResources.qrc
index 60060b3..60060b3 100644..100755
--- a/plugins/Themes/Oxygen/interfaceResources.qrc
+++ b/plugins/Themes/Oxygen/interfaceResources.qrc
diff --git a/plugins/Themes/Oxygen/interfaceResources_unix.qrc b/plugins/Themes/Oxygen/interfaceResources_unix.qrc
index 27fb1d2..27fb1d2 100644..100755
--- a/plugins/Themes/Oxygen/interfaceResources_unix.qrc
+++ b/plugins/Themes/Oxygen/interfaceResources_unix.qrc
diff --git a/plugins/Themes/Oxygen/interfaceResources_windows.qrc b/plugins/Themes/Oxygen/interfaceResources_windows.qrc
index f917ac3..f917ac3 100644..100755
--- a/plugins/Themes/Oxygen/interfaceResources_windows.qrc
+++ b/plugins/Themes/Oxygen/interfaceResources_windows.qrc
diff --git a/plugins/Themes/Oxygen/options.ui b/plugins/Themes/Oxygen/options.ui
index 23b4ac5..23b4ac5 100644..100755
--- a/plugins/Themes/Oxygen/options.ui
+++ b/plugins/Themes/Oxygen/options.ui
diff --git a/plugins/Themes/Oxygen/plugin.json b/plugins/Themes/Oxygen/plugin.json
index 9e26dfe..9e26dfe 100644..100755
--- a/plugins/Themes/Oxygen/plugin.json
+++ b/plugins/Themes/Oxygen/plugin.json
diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/add.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/add.png
index 7932127..7932127 100644..100755
--- a/plugins/Themes/Oxygen/resources/SystemTrayIcon/add.png
+++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/add.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/exit.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/exit.png
index ae3c4e8..ae3c4e8 100644..100755
--- a/plugins/Themes/Oxygen/resources/SystemTrayIcon/exit.png
+++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/exit.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/informations.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/informations.png
index 5b7b255..5b7b255 100644..100755
--- a/plugins/Themes/Oxygen/resources/SystemTrayIcon/informations.png
+++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/informations.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/options.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/options.png
index 23ec531..23ec531 100644..100755
--- a/plugins/Themes/Oxygen/resources/SystemTrayIcon/options.png
+++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/options.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Unix.png
index 6f5d1cf..6f5d1cf 100644..100755
--- a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Unix.png
+++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Unix.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Windows.png
index 5464856..5464856 100644..100755
--- a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Windows.png
+++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Windows.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
index b2bb2e3..b2bb2e3 100644..100755
--- a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
+++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
index 0abeb5f..0abeb5f 100644..100755
--- a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
+++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Unix.png
index 5e313b9..5e313b9 100644..100755
--- a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Unix.png
+++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Unix.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Windows.png
index 828e7e6..828e7e6 100644..100755
--- a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Windows.png
+++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Windows.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/add.png b/plugins/Themes/Oxygen/resources/add.png
index 7932127..7932127 100644..100755
--- a/plugins/Themes/Oxygen/resources/add.png
+++ b/plugins/Themes/Oxygen/resources/add.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/cancel.png b/plugins/Themes/Oxygen/resources/cancel.png
index ae3c4e8..ae3c4e8 100644..100755
--- a/plugins/Themes/Oxygen/resources/cancel.png
+++ b/plugins/Themes/Oxygen/resources/cancel.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/export-transfer-list.png b/plugins/Themes/Oxygen/resources/export-transfer-list.png
index 3a0aac6..3a0aac6 100644..100755
--- a/plugins/Themes/Oxygen/resources/export-transfer-list.png
+++ b/plugins/Themes/Oxygen/resources/export-transfer-list.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/import-transfer-list.png b/plugins/Themes/Oxygen/resources/import-transfer-list.png
index ee47f0d..ee47f0d 100644..100755
--- a/plugins/Themes/Oxygen/resources/import-transfer-list.png
+++ b/plugins/Themes/Oxygen/resources/import-transfer-list.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/main.png b/plugins/Themes/Oxygen/resources/main.png
index 5464856..5464856 100644..100755
--- a/plugins/Themes/Oxygen/resources/main.png
+++ b/plugins/Themes/Oxygen/resources/main.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/moveDown.png b/plugins/Themes/Oxygen/resources/moveDown.png
index 82a312c..82a312c 100644..100755
--- a/plugins/Themes/Oxygen/resources/moveDown.png
+++ b/plugins/Themes/Oxygen/resources/moveDown.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/moveUp.png b/plugins/Themes/Oxygen/resources/moveUp.png
index 7f7ba72..7f7ba72 100644..100755
--- a/plugins/Themes/Oxygen/resources/moveUp.png
+++ b/plugins/Themes/Oxygen/resources/moveUp.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/player_end.png b/plugins/Themes/Oxygen/resources/player_end.png
index 18982db..18982db 100644..100755
--- a/plugins/Themes/Oxygen/resources/player_end.png
+++ b/plugins/Themes/Oxygen/resources/player_end.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/player_pause.png b/plugins/Themes/Oxygen/resources/player_pause.png
index 68ee21f..68ee21f 100644..100755
--- a/plugins/Themes/Oxygen/resources/player_pause.png
+++ b/plugins/Themes/Oxygen/resources/player_pause.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/player_play.png b/plugins/Themes/Oxygen/resources/player_play.png
index a1c5b83..a1c5b83 100644..100755
--- a/plugins/Themes/Oxygen/resources/player_play.png
+++ b/plugins/Themes/Oxygen/resources/player_play.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/putOnBottom.png b/plugins/Themes/Oxygen/resources/putOnBottom.png
index 512286e..512286e 100644..100755
--- a/plugins/Themes/Oxygen/resources/putOnBottom.png
+++ b/plugins/Themes/Oxygen/resources/putOnBottom.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/putOnTop.png b/plugins/Themes/Oxygen/resources/putOnTop.png
index 30fe96b..30fe96b 100644..100755
--- a/plugins/Themes/Oxygen/resources/putOnTop.png
+++ b/plugins/Themes/Oxygen/resources/putOnTop.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/remove.png b/plugins/Themes/Oxygen/resources/remove.png
index b711740..b711740 100644..100755
--- a/plugins/Themes/Oxygen/resources/remove.png
+++ b/plugins/Themes/Oxygen/resources/remove.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/resources/search.png b/plugins/Themes/Oxygen/resources/search.png
index cef1836..cef1836 100644..100755
--- a/plugins/Themes/Oxygen/resources/search.png
+++ b/plugins/Themes/Oxygen/resources/search.png
Binary files differ
diff --git a/plugins/Themes/Oxygen/themesOptions.ui b/plugins/Themes/Oxygen/themesOptions.ui
index 366ca68..366ca68 100644..100755
--- a/plugins/Themes/Oxygen/themesOptions.ui
+++ b/plugins/Themes/Oxygen/themesOptions.ui
diff --git a/plugins/Themes/Oxygen2/DarkButton.cpp b/plugins/Themes/Oxygen2/DarkButton.cpp
new file mode 100755
index 0000000..06b09f1
--- /dev/null
+++ b/plugins/Themes/Oxygen2/DarkButton.cpp
@@ -0,0 +1,99 @@
+#include "DarkButton.h"
+#include <QPainter>
+
+DarkButton::DarkButton(QWidget *parent) :
+ QPushButton(parent)
+{
+ setMinimumHeight(36);
+ setMaximumHeight(36);
+ setStyleSheet("border:none;color:#afb;");
+ over=false;
+ enabled=true;
+}
+
+void DarkButton::paintEvent(QPaintEvent * event)
+{
+ if(backgroundLeft.isNull() || backgroundLeft.height()!=height())
+ {
+ QPixmap background(":/Themes/Oxygen2/resources/darkButton.png");
+ if(background.isNull())
+ abort();
+ QPixmap backgroundPushed(":/Themes/Oxygen2/resources/darkButtonPushed.png");
+ if(backgroundPushed.isNull())
+ abort();
+ QPixmap over(":/Themes/Oxygen2/resources/darkButtonOver.png");
+ if(over.isNull())
+ abort();
+ if(height()==background.height())
+ {
+ backgroundLeft=background.copy(0,0,10,36);
+ backgroundMiddle=background.copy(10,0,46,36);
+ backgroundRight=background.copy(56,0,10,36);
+ backgroundPushedLeft=backgroundPushed.copy(0,0,10,36);
+ backgroundPushedMiddle=backgroundPushed.copy(10,0,46,36);
+ backgroundPushedRight=backgroundPushed.copy(56,0,10,36);
+ overLeft=over.copy(0,0,10,36);
+ overMiddle=over.copy(10,0,46,36);
+ overRight=over.copy(56,0,10,36);
+ }
+ else
+ {
+ backgroundLeft=background.copy(0,0,10,36).scaledToHeight(height(),Qt::SmoothTransformation);
+ backgroundMiddle=background.copy(10,0,46,36).scaledToHeight(height(),Qt::SmoothTransformation);
+ backgroundRight=background.copy(56,0,10,36).scaledToHeight(height(),Qt::SmoothTransformation);
+ backgroundPushedLeft=backgroundPushed.copy(0,0,10,36).scaledToHeight(height(),Qt::SmoothTransformation);
+ backgroundPushedMiddle=backgroundPushed.copy(10,0,46,36).scaledToHeight(height(),Qt::SmoothTransformation);
+ backgroundPushedRight=backgroundPushed.copy(56,0,10,36).scaledToHeight(height(),Qt::SmoothTransformation);
+ overLeft=over.copy(0,0,10,36).scaledToHeight(height(),Qt::SmoothTransformation);
+ overMiddle=over.copy(10,0,46,36).scaledToHeight(height(),Qt::SmoothTransformation);
+ overRight=over.copy(56,0,10,36).scaledToHeight(height(),Qt::SmoothTransformation);
+ }
+ }
+ QPainter paint;
+ paint.begin(this);
+ if(enabled && !isEnabled())
+ {
+ setStyleSheet("border:none;color:#fab;");
+ enabled=false;
+ }
+ if(!enabled && isEnabled())
+ {
+ setStyleSheet("border:none;color:#afb;");
+ enabled=true;
+ }
+ if(isDown() && isEnabled())
+ {
+ paint.drawPixmap(0,0,backgroundPushedLeft.width(), backgroundPushedLeft.height(), backgroundPushedLeft);
+ paint.drawPixmap(backgroundPushedLeft.width(), 0,
+ width()-backgroundPushedLeft.width()-backgroundPushedRight.width(), backgroundPushedLeft.height(),backgroundPushedMiddle);
+ paint.drawPixmap(width()-backgroundPushedRight.width(),0, backgroundPushedRight.width(), backgroundPushedRight.height(),backgroundPushedRight);
+ }
+ else
+ {
+ paint.drawPixmap(0,0,backgroundLeft.width(), backgroundLeft.height(), backgroundLeft);
+ paint.drawPixmap(backgroundLeft.width(), 0,
+ width()-backgroundLeft.width()-backgroundRight.width(), backgroundLeft.height(),backgroundMiddle);
+ paint.drawPixmap(width()-backgroundRight.width(),0, backgroundRight.width(), backgroundRight.height(),backgroundRight);
+ }
+ if(over && isEnabled())
+ {
+ paint.drawPixmap(0,0,overLeft.width(), overLeft.height(), overLeft);
+ paint.drawPixmap(overLeft.width(), 0,
+ width()-overLeft.width()-overRight.width(), overLeft.height(),overMiddle);
+ paint.drawPixmap(width()-overRight.width(),0, overRight.width(), overRight.height(),overRight);
+ }
+ QPushButton::paintEvent(event);
+}
+
+void DarkButton::enterEvent(QEvent *e)
+{
+ over=true;
+ QWidget::enterEvent(e);
+ update();
+}
+void DarkButton::leaveEvent(QEvent *e)
+{
+ over=false;
+ QWidget::leaveEvent(e);
+ update();
+}
diff --git a/plugins/Themes/Oxygen2/DarkButton.h b/plugins/Themes/Oxygen2/DarkButton.h
new file mode 100755
index 0000000..38dbb60
--- /dev/null
+++ b/plugins/Themes/Oxygen2/DarkButton.h
@@ -0,0 +1,22 @@
+#ifndef DarkButton_H
+#define DarkButton_H
+
+#include <QPushButton>
+
+class DarkButton : public QPushButton
+{
+public:
+ DarkButton(QWidget *parent = nullptr);
+ void paintEvent(QPaintEvent *) override;
+protected:
+ void enterEvent(QEvent *e) override;
+ void leaveEvent(QEvent *e) override;
+private:
+ QPixmap backgroundLeft,backgroundMiddle,backgroundRight;
+ QPixmap backgroundPushedLeft,backgroundPushedMiddle,backgroundPushedRight;
+ QPixmap overLeft,overMiddle,overRight;
+ bool over;
+ bool enabled;
+};
+
+#endif // PROGRESSBARDARK_H
diff --git a/plugins/Themes/Oxygen2/DebugEngineMacro.h b/plugins/Themes/Oxygen2/DebugEngineMacro.h
new file mode 100755
index 0000000..4582010
--- /dev/null
+++ b/plugins/Themes/Oxygen2/DebugEngineMacro.h
@@ -0,0 +1,28 @@
+/** \file DebugEngineMacro.h
+\brief Define the macro for the debug
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef DEBUGENGINEMACRO_H
+#define DEBUGENGINEMACRO_H
+
+#ifdef WIN32
+# define __func__ __FUNCTION__
+#endif
+
+/// \brief Macro for the debug log
+#ifdef ULTRACOPIER_PLUGIN_DEBUG
+ #if defined (__FILE__) && defined (__LINE__)
+ #define ULTRACOPIER_DEBUGCONSOLE(a,b) emit debugInformation(a,__func__,b,__FILE__,__LINE__)
+ #else
+ #define ULTRACOPIER_DEBUGCONSOLE(a,b) emit debugInformation(a,__func__,b)
+ #endif
+#else // ULTRACOPIER_DEBUG
+ #define ULTRACOPIER_DEBUGCONSOLE(a,b) void()
+#endif // ULTRACOPIER_DEBUG
+
+#endif // DEBUGENGINEMACRO_H
+
+
+
+
diff --git a/plugins/Themes/Oxygen2/Environment.h b/plugins/Themes/Oxygen2/Environment.h
new file mode 100755
index 0000000..265a5a6
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Environment.h
@@ -0,0 +1,10 @@
+/** \file Environment.h
+\brief Define the environment variable and global function
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#include "Variable.h"
+/// \brief The global include
+#include "StructEnumDefinition.h"
+#include "DebugEngineMacro.h"
+
diff --git a/plugins/Themes/Oxygen2/Languages/ar/translation.qm b/plugins/Themes/Oxygen2/Languages/ar/translation.qm
new file mode 100755
index 0000000..563a429
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/ar/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/ar/translation.ts b/plugins/Themes/Oxygen2/Languages/ar/translation.ts
new file mode 100644
index 0000000..383e6a3
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/ar/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ar_JO">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation>ملفات %1</translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation>%1 ملف ، بمتوسط حجم %2</translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation>إلى ملفات %1</translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation>شراء النسخة النهائية لتمويل التنمية</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation>الملف %1/%2 ، الحجم: %3/%4</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation>قائمة النسخ</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation>قائمة التحريك</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>لا تغلق إذا تم العثور على أخطاء</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation>لا تغلق</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation>إغلاق دائما</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation>اسم الملف ، 0KB</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation>تحديد لون</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation>%1 %2% من %3 إلى ملفات %4</translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>عدم الإغلاق في حاله العثور على أخطاء</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation>لا تغلق أبدا</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation>إغلاق دائما</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation>تحديد لون</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation>من:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation>&amp;اكثر </translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation>&amp;مهلة</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation>&amp;تخطي</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;الغاء الامر</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation>إغلاق عند إتمام النقل</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation>0</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation>100MB+</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation>الحد من سرعه النسخ إلى:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation>قائمه النقل</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation>تحريك المواد المحددة إلى الأعلى</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation>تحريك المواد المحددة لاعلى</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation>تحريك المواد المحددة لأسفل</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation>تحريك العناصر المحددة إلى الأسفل</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation>أضافه ملف/مجلد</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation>حذف المواد المحددة</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation>بحث</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation>تصدير قائمه النقل</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation>استيراد قائمه النقل</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation>السابق</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation>التالي</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation>خطا</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation>تصدير الأخطاء إلى قائمه النقل</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation>المصدر</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation>الوجهه</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation>الواجهه</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation>اضافة ملف</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation>اضافة مجلد</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation>نقل الملفات</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation>نقل المجلد</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation>نسخ الملفات</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation>نسخ المجلد</translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation>إظهار التقدم المزدوج</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation>إظهار السرعة كمعلومات رئيسيه</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation>استخدام</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation>تبدا مع &quot;أكثر زر&quot; دفعت</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation>تصغير بالقرب من درج النظام</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation>في نهاية النسخ</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation>الحد من سرعه النسخ إلى</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation>KB/s</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation>بدء التصغير</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation>الموضع في البداية</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation>واجهه مستخدم داكنه</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation>افتراضي</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation>حفظ كسابق</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation>في الوسط</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation>المعلومات</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation>عرض</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation>السرعة مع شريط التقدم</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation>تدرج اللون</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation>انقر لتحرير اللون</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation>إظهار التقدم في العنوان</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation>دائما في القمه</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/de/translation.qm b/plugins/Themes/Oxygen2/Languages/de/translation.qm
new file mode 100755
index 0000000..ef742de
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/de/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/de/translation.ts b/plugins/Themes/Oxygen2/Languages/de/translation.ts
new file mode 100644
index 0000000..db34222
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/de/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="de" sourcelanguage="en">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation>%1 Dateien</translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation>%1 Datei, mit einer ungefähren Größe von %2</translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation> in%1 Dateien</translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation>Kaufe die Ultimate Version um die Entwicklung zu finanzieren</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation>Datei %1/%2, Größe:%3/%4</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation>Zu kopierende Dateien</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation>Zu verschiebende Dateien</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>Nicht schließen, wenn Fehler aufgetreten sind</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation>Niemals schließen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation>Immer schließen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation>Dateiname, 0KB</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation>Farbe auswählen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation>%1 %2 von %3 in %4 Dateien</translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>Nicht schließen, wenn Fehler aufgetreten sind</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation>Niemals schließen</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation>Immer schließen</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation>Wählen Sie eine Farbe</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation>Von:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation>&amp;Mehr</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation>&amp;Pause</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation>Über&amp;springen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation>Abbrechen (&amp;C)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation>Dateiliste</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation>Ausgewählte Einträge löschen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation>Dateiliste exportieren</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation>Dateiliste importieren</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation>Vorherige</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation>Nächste</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation>Darstellungsoptionen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation>Ausgewählte Einträge an den Listenanfang verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation>0</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation>100MB+</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation>Am Ende des Transfers schließen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation>Begrenze Kopiergeschwindigkeit auf:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation>Ausgewählte Einträge einen Platz nach oben verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation>Ausgewählte Einträge einen Platz nach unten verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation>Ausgewählte Einträge an das Listenende verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation>Datei/Ordner hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation>In Dateiliste suchen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation>Fehlerprotokoll</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation>Fehlgeschlagene Dateien exportieren</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation>Quelle</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation>Ziel</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation>Datei hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation>Ordner hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation>Datei(en) verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation>Ordner verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation>Datei(en) kopieren</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation>Verzeichnis kopieren</translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation>Zweifachen Fortschrittsbalken anzeigen</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation>Geschwindigkeitsbegrenzungsschieberegler anzeigen</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation>Benutzung</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation>Standardmäßig &quot;Mehr&quot; Informationen anzeigen</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation>Beim Schließen ins Systray minimieren</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation>Am Ende des Vorgangs</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation>Begrenze Übertragungsgeschwindigkeit auf</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation>Minimiert starten</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation>Zum Bearbeiten der Farbe klicken</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation> KB/s</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation>Dunkles Design</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation>Informationen</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation>Anzeige</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation>Geschwindigkeit als Fortschrittsbalken anzeigen</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation>Farbe des Fortschrittsbalken</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation>Fortschritt im Fenstertitel zeigen</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation>Fenster immer im Vordergrund halten</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/el/translation.qm b/plugins/Themes/Oxygen2/Languages/el/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/el/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/el/translation.ts b/plugins/Themes/Oxygen2/Languages/el/translation.ts
new file mode 100755
index 0000000..24ac139
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/el/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/en/translation.qm b/plugins/Themes/Oxygen2/Languages/en/translation.qm
new file mode 100755
index 0000000..d925dd6
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/en/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/en/translation.ts b/plugins/Themes/Oxygen2/Languages/en/translation.ts
new file mode 100755
index 0000000..4b62856
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/en/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/es/translation.qm b/plugins/Themes/Oxygen2/Languages/es/translation.qm
new file mode 100755
index 0000000..e18e87a
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/es/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/es/translation.ts b/plugins/Themes/Oxygen2/Languages/es/translation.ts
new file mode 100755
index 0000000..43e63df
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/es/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="es" sourcelanguage="en">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation>Comprar la versión Ultimate para financiar el desarrollo</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation>El archivo %1/%2, el tamaño: %3/%4</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation>Lista de copia</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation>Lista de movimiento</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>No cierre si se encuentran errores</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation>Nunca cierre</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation>Siempre cerrar</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation>Nombre de archivo, 0KB</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation>Seleccione un color</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>No cierre si se encuentran errores</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation>Nunca cierre</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation>Siempre cerrar</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation>Seleccione un color</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation>De:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation>&amp;Más</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation>&amp;Pausa</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation>&amp;Omitir</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Cancelar</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation>Cerca de finalización de transferencia</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation>Limitar la velocidad de copia en:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation>Lista de transferencia</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation>Mueve los elementos seleccionados a la parte superior</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation>Mueva los elementos seleccionados</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation>Bajar los elementos seleccionados</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation>Mueve los elementos seleccionados a la parte inferior</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation>Agregar archivo/carpeta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation>Eliminar los elementos seleccionados</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation>Buscar</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation>Exportar la lista de transferencias</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation>Importe la lista de transferencias</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation>Anterior</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation>Próximo</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation>Error</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation>Exportar los errores en la lista de transferencias</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation>Fuente</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation>Destino</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation>Interfaz</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation>Añadir archivo</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation>Añadir carpeta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation>Mover archivo(s)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation>Mueva la carpeta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation>Copia el archivo(s)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation>Copia la carpeta</translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation>Mostrar progresión dual</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation>Mostrar la velocidad como principales informaciones</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation>Uso</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation>Comience con el &quot;botón más&quot; empujada</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation>Minimizar en cerca de la bandeja del sistema</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation>Al final de la copia</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation>Limitar la velocidad de copia de</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation>Haga clic para editar el color</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation> KB/s</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation>Informations</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation>Visualización</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation>Velocidad con barra de progreso</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation>Progresión de color</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation>Mostrar progresión en el título</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation>Siempre visible</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/fr/translation.qm b/plugins/Themes/Oxygen2/Languages/fr/translation.qm
new file mode 100755
index 0000000..c6039f5
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/fr/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/fr/translation.ts b/plugins/Themes/Oxygen2/Languages/fr/translation.ts
new file mode 100755
index 0000000..2fedb8b
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/fr/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="fr" sourcelanguage="en">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="+108"/>
+ <source>%1 files</source>
+ <translation>%1 fichiers</translation>
+ </message>
+ <message>
+ <location line="+96"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation>%1 fichiers, avec une taille moyenne de %2</translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="+194"/>
+ <location line="+2"/>
+ <source> into %1 files</source>
+ <translation> dans %1 fichiers</translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="+292"/>
+ <location line="+21"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation>Achetez la version Ultimate pour financer le développement</translation>
+ </message>
+ <message>
+ <location line="+197"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation>Fichier %1/%2, taille: %3/%4</translation>
+ </message>
+ <message>
+ <location line="+307"/>
+ <source>Copy list</source>
+ <translation>Liste de copies</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Move list</source>
+ <translation>Liste de déplacements</translation>
+ </message>
+ <message>
+ <location line="+501"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>Garder ouvert s&apos;il y a des erreurs</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Never close</source>
+ <translation>Ne jamais fermer</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Always close</source>
+ <translation>Toujours fermer</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>File Name, 0KB</source>
+ <translation>Nom de fichier, 0Ko</translation>
+ </message>
+ <message>
+ <location line="+195"/>
+ <location line="+12"/>
+ <location line="+12"/>
+ <source>Select a color</source>
+ <translation>Selectionner une coleur</translation>
+ </message>
+ <message>
+ <location line="+88"/>
+ <location line="+11"/>
+ <location line="+9"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation>%1 %2% de %3 dans %4 fichiers</translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="+320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>Garder ouvert s&apos;il y a des erreurs</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Never close</source>
+ <translation>Ne jamais fermer</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Always close</source>
+ <translation>Toujours fermer</translation>
+ </message>
+ <message>
+ <location line="+196"/>
+ <location line="+15"/>
+ <location line="+15"/>
+ <source>Select a color</source>
+ <translation>Selectionner une coleur</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="+420"/>
+ <source>From:</source>
+ <translation>Depuis:</translation>
+ </message>
+ <message>
+ <location line="-119"/>
+ <source>&amp;More</source>
+ <translation>Pl&amp;us</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>&amp;Pause</source>
+ <translation>&amp;Pause</translation>
+ </message>
+ <message>
+ <location line="+161"/>
+ <source>&amp;Skip</source>
+ <translation>&amp;Passer</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Close on transfer completion</source>
+ <translation>Fermer à la fin des transferts</translation>
+ </message>
+ <message>
+ <location line="-157"/>
+ <source>0</source>
+ <translation>0</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>100MB+</source>
+ <translation>100Mo+</translation>
+ </message>
+ <message>
+ <location line="+275"/>
+ <source>Limit copy speed to:</source>
+ <translation>Limiter la vitesse de copie à:</translation>
+ </message>
+ <message>
+ <location line="+43"/>
+ <source>Transfer list</source>
+ <translation>Liste de transferts</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Move the selected items to the top</source>
+ <translation>Déplacer l&apos;item selectionné au debut</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Move up the selected items</source>
+ <translation>Déplacer l&apos;item selectionné vers le haut</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Move down the selected items</source>
+ <translation>Déplacer l&apos;item selectionné vers le bas</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Move the selected items to the bottom</source>
+ <translation>Déplacer l&apos;item selectionné à la fin</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Add file/folder</source>
+ <translation>Ajouter fichier/dossier</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Delete the selected items</source>
+ <translation>Supprimer les items sélectionnés</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Search</source>
+ <translation>Rechercher</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Export the transfer list</source>
+ <translation>Exporter la liste de transfert</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Import the transfer list</source>
+ <translation>Importer la liste de transfert</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Previous</source>
+ <translation>Précédent</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Next</source>
+ <translation>Suivant</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <location line="+69"/>
+ <source>Error</source>
+ <translation>Erreur</translation>
+ </message>
+ <message>
+ <location line="-49"/>
+ <source>Export the errors into transfer list</source>
+ <translation>Exporter les erreurs dans une liste de transfert</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>Source</source>
+ <translation>Source</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Destination</source>
+ <translation>Destination</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Interface</source>
+ <translation>Interface</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Add file</source>
+ <translation>Ajouter un fichier</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Add folder</source>
+ <translation>Ajouter un répertoire</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Move file(s)</source>
+ <translation>Déplacer le(s) fichier(s)</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Move folder</source>
+ <translation>Déplacer un répertoire</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Copy file(s)</source>
+ <translation>Copier le(s) fichier(s)</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Copy folder</source>
+ <translation>Copier un répertoire</translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="+293"/>
+ <source>Show dual progression</source>
+ <translation>Afficher une double progression</translation>
+ </message>
+ <message>
+ <location line="-48"/>
+ <source>Show speed as main information</source>
+ <translation>Afficher la vitesse comme information principale</translation>
+ </message>
+ <message>
+ <location line="-201"/>
+ <source>Use</source>
+ <translation>Utilisation</translation>
+ </message>
+ <message>
+ <location line="+66"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation>Déplier automatiquement les détails</translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>Minimize on close to systray</source>
+ <translation>Minimiser à la fermeture dans le systray</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>At the end of the copy</source>
+ <translation>À la fin de la copie</translation>
+ </message>
+ <message>
+ <location line="-10"/>
+ <location line="+17"/>
+ <source>Limit copy speed to</source>
+ <translation>Limiter la vitesse de copie à</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Start minimized</source>
+ <translation>Démarrer minimisé</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+188"/>
+ <source>Click to edit the color</source>
+ <translation>Cliquer pour éditer la couleur</translation>
+ </message>
+ <message>
+ <location line="-235"/>
+ <source> KB/s</source>
+ <translation> Ko/s</translation>
+ </message>
+ <message>
+ <location line="+107"/>
+ <source>Dark UI</source>
+ <translation>UI obscure</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Informations</source>
+ <translation>Informations</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Display</source>
+ <translation>Affichage</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Speed with progress bar</source>
+ <translation>Vitesse avec barre de progression</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Progression color</source>
+ <translation>Couleur de progression</translation>
+ </message>
+ <message>
+ <location line="-10"/>
+ <source>Show progression in the title</source>
+ <translation>Afficher la progression dans le titre</translation>
+ </message>
+ <message>
+ <location line="-166"/>
+ <source>Always on top</source>
+ <translation>Toujours au 1er plan</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/hi/translation.qm b/plugins/Themes/Oxygen2/Languages/hi/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/hi/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/hi/translation.ts b/plugins/Themes/Oxygen2/Languages/hi/translation.ts
new file mode 100755
index 0000000..24ac139
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/hi/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/hu/translation.qm b/plugins/Themes/Oxygen2/Languages/hu/translation.qm
new file mode 100755
index 0000000..6567c41
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/hu/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/hu/translation.ts b/plugins/Themes/Oxygen2/Languages/hu/translation.ts
new file mode 100755
index 0000000..1d6d670
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/hu/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="hu">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation>Vásárold meg az Ultimate verziót a fejlesztés támogatásához</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation>Fájl %1/%2, méret: %3/%4</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation>Lista másolása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation>Lista mozgatása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>Ne zárja be, ha hiba történik</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation>Sose zárja be</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation>Mindig zárja be</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation>Fájlnév, 0KB</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation>Válassz egy színt</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>Ne zárja be, ha hiba történik</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation>Sose zárja be</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation>Mindig zárja be</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation>Válassz egy színt</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation>Forrás:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation>&amp;Több</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation>&amp;Szünet</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation>&amp;Kihagy</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Mégse</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation>Átviteli lista</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation>Előző</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation>Következő</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation>Kezelőfelület</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation>Kijelölések elemek mozgatása legfelülre</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation>Átvitel végeztével zárja be</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation>Másolási sebesség korlátozása:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation>Kijelölt elemek mozgatása fel</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation>Kijelölt elemek mozgatása le</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation>Kijelölések elemek mozgatása legalulra</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation>Fájl/mappa hozzáadása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation>Kijelölt elemek törlése</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation>Keresés</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation>Átviteli lista exportálása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation>Átviteli lista importálása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation>Hiba</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation>Hibák exportálása az átviteli listába</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation>Forrás</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation>Cél</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation>Fájl hozzáadása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation>Mappa hozzáadása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation>Fájl(ok) mozgatása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation>Mappa mozgatása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation>Fájl(ok) másolása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation>Mappa másolása</translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation>Páros folyamat mutatása</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation>Sebesség mutatása, mint fő információ</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation>Használ</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation>Indítás a &quot;több gomb&quot; lenyomásával</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation>Bezáráskor minimalizálás a tálcára</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation>A másolás befejezésekor</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation>Másolási sebesség korlátozása</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation>Kattints a szín szerkesztéséhez</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation> KB/s</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation>Információk</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation>Megjelenítés</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation>Sebesség folyamatsávval</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation>Folyamat színe</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation>Folyamat mutatása a címsorban</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation>Mindig legfelül</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/id/translation.qm b/plugins/Themes/Oxygen2/Languages/id/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/id/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/id/translation.ts b/plugins/Themes/Oxygen2/Languages/id/translation.ts
new file mode 100755
index 0000000..24ac139
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/id/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/it/translation.qm b/plugins/Themes/Oxygen2/Languages/it/translation.qm
new file mode 100755
index 0000000..5afbca5
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/it/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/it/translation.ts b/plugins/Themes/Oxygen2/Languages/it/translation.ts
new file mode 100644
index 0000000..1c6eb21
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/it/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="it" sourcelanguage="en">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation>%1 file</translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation>%1 file, con una dimensione media di %2</translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation> in %1 file</translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation>Acquista la versione Ultimate per finanziare lo sviluppo del programma</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation>File %1/%2, dimensione: %3/%4</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation>Lista della copia</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation>Lista dello spostamento</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>Non chiudere se vengono rilevati errori</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation>Non chiudere mai</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation>Chiudere sempre</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation>Nome del file, 0KB</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation>Scegliere un colore</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation>%1 %2% di %3 in %4 file</translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation>Non chiudere se vengono rilevati errori</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation>Non chiudere mai</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation>Chiudere sempre</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation>Scegliere un colore</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation>Da:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation>Avanzate</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation>Pausa</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation>Salta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation>Annulla</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation>Arresta il sistema a trasferimento comletato</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation>0</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation>100MB+</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation>Limitare la velocità di copia a:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation>Lista dei trasferimenti</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation>Sposta in cima gli elementi selezionati</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation>Sposta sopra gli elementi selezionati</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation>Sposta sotto gli elementi selezionati</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation>Sposta in coda gli elementi selezionati</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation>Aggiungi file/cartelle</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation>Elimina gli elementi selezionati</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation>Cerca</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation>Esporta la lista dei trasferimenti</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation>Importa la lista dei trasferimenti</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation>Precedente</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation>Successivo</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation>Errore</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation>Esporta gli errori nella lista dei trasferimenti</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation>Cartella di origine</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation>Cartella di destinazione</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation>Interfaccia</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation>Aggiungi file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation>Aggiungi cartella</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation>Sposta file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation>Sposta la cartella</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation>Copia file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation>Copia la cartella</translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation>Mostrare la doppia progressione</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation>Mostrare la velocità come principale informazione</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation>Utilità</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation>Iniziare col pulsante &quot;Altro&quot; attivo</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation>Alla chiusura riduci nella&apos;area di notifica</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation>Al termine della copia</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation>Limitare velocità di copia a:</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation>Avvia ridotto a icona</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation>Posizione di partenza</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation>Clicca per modificare il colore</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation> KB/s</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation>Interfaccia utente scura</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation>Predefinito</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation>Mantenere come precedente</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation>Centrale</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation>Informazioni</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation>Visualizza</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation>Velocità nella barra di progresso</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation>Colore della progressione</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation>Mostrare la percentuale di progresso sul titolo</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation>Sempre in primo piano</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/ja/translation.qm b/plugins/Themes/Oxygen2/Languages/ja/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/ja/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/ja/translation.ts b/plugins/Themes/Oxygen2/Languages/ja/translation.ts
new file mode 100755
index 0000000..851343e
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/ja/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/ko/translation.qm b/plugins/Themes/Oxygen2/Languages/ko/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/ko/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/ko/translation.ts b/plugins/Themes/Oxygen2/Languages/ko/translation.ts
new file mode 100755
index 0000000..689ea9e
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/ko/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ko_KR">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="+108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+96"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="+194"/>
+ <location line="+2"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="+292"/>
+ <location line="+21"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+197"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished">파일 %1/%2, 크기: %3/%4</translation>
+ </message>
+ <message>
+ <location line="+307"/>
+ <source>Copy list</source>
+ <translation type="unfinished">복사 목록</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+501"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished">오류 발견시 종료 안함</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Never close</source>
+ <translation type="unfinished">절대 종료 안함</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Always close</source>
+ <translation type="unfinished">항상 종료</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished">파일명, 0KB</translation>
+ </message>
+ <message>
+ <location line="+195"/>
+ <location line="+12"/>
+ <location line="+12"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+88"/>
+ <location line="+11"/>
+ <location line="+9"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="+320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished">오류 발견시 종료 안함</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Never close</source>
+ <translation type="unfinished">절대 종료 안함</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Always close</source>
+ <translation type="unfinished">항상 종료</translation>
+ </message>
+ <message>
+ <location line="+196"/>
+ <location line="+15"/>
+ <location line="+15"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="+420"/>
+ <source>From:</source>
+ <translation type="unfinished">원본:</translation>
+ </message>
+ <message>
+ <location line="-119"/>
+ <source>&amp;More</source>
+ <translation type="unfinished">&amp;자세히</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished">&amp;일시 정지</translation>
+ </message>
+ <message>
+ <location line="+161"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished">&amp;건너뛰기</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;취소</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+156"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Previous</source>
+ <translation type="unfinished">이전</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Next</source>
+ <translation type="unfinished">다음</translation>
+ </message>
+ <message>
+ <location line="+113"/>
+ <source>Interface</source>
+ <translation type="unfinished">인터페이스</translation>
+ </message>
+ <message>
+ <location line="-389"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-361"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+137"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+138"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+92"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+152"/>
+ <location line="+69"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-49"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Add file</source>
+ <translation type="unfinished">파일 추가</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Add folder</source>
+ <translation type="unfinished">폴더 추가</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished">파일 이동</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Move folder</source>
+ <translation type="unfinished">폴더 이동</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished">파일 복사</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Copy folder</source>
+ <translation type="unfinished">폴더 복사</translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="+293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-48"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished">메인 정보에 속도 표시</translation>
+ </message>
+ <message>
+ <location line="-201"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+66"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-10"/>
+ <location line="+17"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+188"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-235"/>
+ <source> KB/s</source>
+ <translation type="unfinished"> KB/초</translation>
+ </message>
+ <message>
+ <location line="+107"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-10"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-166"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/nl/translation.qm b/plugins/Themes/Oxygen2/Languages/nl/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/nl/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/nl/translation.ts b/plugins/Themes/Oxygen2/Languages/nl/translation.ts
new file mode 100755
index 0000000..24ac139
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/nl/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/no/translation.qm b/plugins/Themes/Oxygen2/Languages/no/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/no/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/no/translation.ts b/plugins/Themes/Oxygen2/Languages/no/translation.ts
new file mode 100755
index 0000000..24ac139
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/no/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/pl/translation.qm b/plugins/Themes/Oxygen2/Languages/pl/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/pl/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/pl/translation.ts b/plugins/Themes/Oxygen2/Languages/pl/translation.ts
new file mode 100755
index 0000000..24ac139
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/pl/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/pt/translation.qm b/plugins/Themes/Oxygen2/Languages/pt/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/pt/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/pt/translation.ts b/plugins/Themes/Oxygen2/Languages/pt/translation.ts
new file mode 100755
index 0000000..24ac139
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/pt/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/ru/translation.qm b/plugins/Themes/Oxygen2/Languages/ru/translation.qm
new file mode 100755
index 0000000..59964bb
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/ru/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/ru/translation.ts b/plugins/Themes/Oxygen2/Languages/ru/translation.ts
new file mode 100755
index 0000000..512bece
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/ru/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru" sourcelanguage="en">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation>Файл %1/%2, размер: %3/%4</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished">Копировать список</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished">Не закрывать, если найдены ошибки</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished">Никогда не закрывать</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished">Всегда закрывайте</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation>Имя файла, 0KB</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished">Не закрывать, если найдены ошибки</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished">Никогда не закрывать</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished">Всегда закрывайте</translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation>С:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation>больше</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation>пауза</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation>пропускать</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation>отменить</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation>предыдущий</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation>следующий</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation>интерфейс</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation>Добавить файл</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation>Добавить папку</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation>Перемещение файла(ов)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation>Перемещение папки</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation>Копировать файл (ы)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation>Копировать папку</translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished">Показать скорости в качестве основной информации</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"> Кб/с</translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/th/translation.qm b/plugins/Themes/Oxygen2/Languages/th/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/th/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/th/translation.ts b/plugins/Themes/Oxygen2/Languages/th/translation.ts
new file mode 100755
index 0000000..24ac139
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/th/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/tr/translation.qm b/plugins/Themes/Oxygen2/Languages/tr/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/tr/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/tr/translation.ts b/plugins/Themes/Oxygen2/Languages/tr/translation.ts
new file mode 100755
index 0000000..24ac139
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/tr/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Languages/zh/translation.qm b/plugins/Themes/Oxygen2/Languages/zh/translation.qm
new file mode 100755
index 0000000..3738845
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/zh/translation.qm
Binary files differ
diff --git a/plugins/Themes/Oxygen2/Languages/zh/translation.ts b/plugins/Themes/Oxygen2/Languages/zh/translation.ts
new file mode 100755
index 0000000..851343e
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Languages/zh/translation.ts
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="108"/>
+ <source>%1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../radialMap/map.cpp" line="204"/>
+ <source>%1 file, with an average size of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RadialMap::Widget</name>
+ <message>
+ <location filename="../../radialMap/widgetEvents.cpp" line="194"/>
+ <location filename="../../radialMap/widgetEvents.cpp" line="196"/>
+ <source> into %1 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="292"/>
+ <location filename="../../interface.cpp" line="313"/>
+ <source>Buy the Ultimate version to fund development</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="510"/>
+ <source>File %1/%2, size: %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="817"/>
+ <source>Copy list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="819"/>
+ <source>Move list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1324"/>
+ <source>File Name, 0KB</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1519"/>
+ <location filename="../../interface.cpp" line="1531"/>
+ <location filename="../../interface.cpp" line="1543"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="1631"/>
+ <location filename="../../interface.cpp" line="1642"/>
+ <location filename="../../interface.cpp" line="1651"/>
+ <source>%1 %2% of %3 into %4 files</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ThemesFactory</name>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="320"/>
+ <source>Don&apos;t close if errors are found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="321"/>
+ <source>Never close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="322"/>
+ <source>Always close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../ThemesFactory.cpp" line="518"/>
+ <location filename="../../ThemesFactory.cpp" line="533"/>
+ <location filename="../../ThemesFactory.cpp" line="548"/>
+ <source>Select a color</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="420"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="301"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="321"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="482"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="493"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="570"/>
+ <source>Transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="726"/>
+ <source>Delete the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="781"/>
+ <source>Export the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="807"/>
+ <source>Import the transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="862"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="869"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="982"/>
+ <source>Interface</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="593"/>
+ <source>Move the selected items to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="252"/>
+ <source>100MB+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="389"/>
+ <source>Close on transfer completion</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="527"/>
+ <source>Limit copy speed to:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="619"/>
+ <source>Move up the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="645"/>
+ <source>Move down the selected items</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="671"/>
+ <source>Move the selected items to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="697"/>
+ <source>Add file/folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="752"/>
+ <source>Search</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="904"/>
+ <location filename="../../interface.ui" line="973"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="924"/>
+ <source>Export the errors into transfer list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="963"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="968"/>
+ <source>Destination</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1028"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1037"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1046"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1055"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1064"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="1073"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>themesOptions</name>
+ <message>
+ <location filename="../../themesOptions.ui" line="293"/>
+ <source>Show dual progression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="245"/>
+ <source>Show speed as main information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="44"/>
+ <source>Use</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="110"/>
+ <source>Start with the &quot;more button&quot; pushed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="57"/>
+ <source>Minimize on close to systray</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="80"/>
+ <source>At the end of the copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="70"/>
+ <location filename="../../themesOptions.ui" line="87"/>
+ <source>Limit copy speed to</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="97"/>
+ <source> KB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="117"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="144"/>
+ <source>Position at start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="204"/>
+ <source>Dark UI</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="212"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="217"/>
+ <source>Save as previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="222"/>
+ <source>At Center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="239"/>
+ <source>Informations</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="277"/>
+ <source>Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="283"/>
+ <source>Speed with progress bar</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="313"/>
+ <source>Progression color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="332"/>
+ <source>Click to edit the color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="303"/>
+ <source>Show progression in the title</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../themesOptions.ui" line="137"/>
+ <source>Always on top</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins/Themes/Oxygen2/Oxygen2Environment.h b/plugins/Themes/Oxygen2/Oxygen2Environment.h
new file mode 100755
index 0000000..71b9141
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Oxygen2Environment.h
@@ -0,0 +1,10 @@
+/** \file Environment.h
+\brief Define the environment variable and global function
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#include "Oxygen2Variable.h"
+/// \brief The global include
+#include "StructEnumDefinition.h"
+#include "DebugEngineMacro.h"
+
diff --git a/plugins/Themes/Oxygen2/Oxygen2Variable.h b/plugins/Themes/Oxygen2/Oxygen2Variable.h
new file mode 100755
index 0000000..81a97d7
--- /dev/null
+++ b/plugins/Themes/Oxygen2/Oxygen2Variable.h
@@ -0,0 +1,18 @@
+/** \file Variable.h
+\brief Define the environment variable
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef VARIABLEINTERFACEO2_H
+#define VARIABLEINTERFACEO2_H
+
+
+//Un-comment this next line to put ultracopier plugin in debug mode
+#ifndef ULTRACOPIER_NODEBUG
+//#define ULTRACOPIER_PLUGIN_DEBUG
+#endif
+
+#endif // VARIABLEINTERFACEO2_H
+
+
+
diff --git a/plugins/Themes/Oxygen2/ProgressBarDark.cpp b/plugins/Themes/Oxygen2/ProgressBarDark.cpp
new file mode 100755
index 0000000..3a6b414
--- /dev/null
+++ b/plugins/Themes/Oxygen2/ProgressBarDark.cpp
@@ -0,0 +1,69 @@
+#include "ProgressBarDark.h"
+#include <QPainter>
+
+ProgressBarDark::ProgressBarDark(QWidget *parent) :
+ QProgressBar(parent)
+{
+ setMinimumHeight(22);
+ setMaximumHeight(55);
+}
+
+ProgressBarDark::~ProgressBarDark()
+{
+}
+
+void ProgressBarDark::paintEvent(QPaintEvent *)
+{
+ if(backgroundLeft.isNull() || backgroundLeft.height()!=height())
+ {
+ QPixmap background(":/Themes/Oxygen2/resources/progressBarout.png");
+ if(background.isNull())
+ abort();
+ QPixmap bar(":/Themes/Oxygen2/resources/progressBarin.png");
+ if(bar.isNull())
+ abort();
+ if(height()==background.height())
+ {
+ backgroundLeft=background.copy(0,0,24,55);
+ backgroundMiddle=background.copy(24,0,701,55);
+ backgroundRight=background.copy(725,0,24,55);
+ barLeft=bar.copy(0,0,24,55);
+ barMiddle=bar.copy(24,0,701,55);
+ barRight=bar.copy(725,0,24,55);
+ }
+ else
+ {
+ backgroundLeft=background.copy(0,0,24,55).scaledToHeight(height(),Qt::SmoothTransformation);
+ backgroundMiddle=background.copy(24,0,701,55).scaledToHeight(height(),Qt::SmoothTransformation);
+ backgroundRight=background.copy(725,0,24,55).scaledToHeight(height(),Qt::SmoothTransformation);
+ barLeft=bar.copy(0,0,24,55).scaledToHeight(height(),Qt::SmoothTransformation);
+ barMiddle=bar.copy(24,0,701,55).scaledToHeight(height(),Qt::SmoothTransformation);
+ barRight=bar.copy(725,0,24,55).scaledToHeight(height(),Qt::SmoothTransformation);
+ }
+ }
+ QPainter paint;
+ paint.begin(this);
+
+ if(maximum()<=0)
+ {
+ paint.drawPixmap(0,0,backgroundLeft.width(), backgroundLeft.height(), backgroundLeft);
+ paint.drawPixmap(backgroundLeft.width(), 0,
+ width()-backgroundLeft.width()-backgroundRight.width(), backgroundLeft.height(),backgroundMiddle);
+ paint.drawPixmap(width()-backgroundRight.width(),0, backgroundRight.width(), backgroundRight.height(),backgroundRight);
+ return;
+ }
+
+ int size=width()-barLeft.width()-barRight.width();
+ int inpixel=value()*size/maximum();
+
+ paint.drawPixmap(0,0,backgroundLeft.width(), backgroundLeft.height(), backgroundLeft);
+ paint.drawPixmap(0,0,barLeft.width(), barLeft.height(), barLeft);
+
+ paint.drawPixmap(backgroundLeft.width(), 0,
+ width()-backgroundLeft.width()-backgroundRight.width(), backgroundLeft.height(),backgroundMiddle);
+ paint.drawPixmap(barLeft.width(), 0,
+ inpixel, barLeft.height(),barMiddle);
+
+ paint.drawPixmap(width()-backgroundRight.width(),0, backgroundRight.width(), backgroundRight.height(),backgroundRight);
+ paint.drawPixmap(barLeft.width()+inpixel, 0, barRight.width(), barRight.height(),barRight);
+}
diff --git a/plugins/Themes/Oxygen2/ProgressBarDark.h b/plugins/Themes/Oxygen2/ProgressBarDark.h
new file mode 100755
index 0000000..7c8e168
--- /dev/null
+++ b/plugins/Themes/Oxygen2/ProgressBarDark.h
@@ -0,0 +1,17 @@
+#ifndef PROGRESSBARDARK_H
+#define PROGRESSBARDARK_H
+
+#include <QProgressBar>
+
+class ProgressBarDark : public QProgressBar
+{
+public:
+ ProgressBarDark(QWidget *parent = nullptr);
+ ~ProgressBarDark();
+ void paintEvent(QPaintEvent *) override;
+private:
+ QPixmap backgroundLeft,backgroundMiddle,backgroundRight;
+ QPixmap barLeft,barMiddle,barRight;
+};
+
+#endif // PROGRESSBARDARK_H
diff --git a/plugins/Themes/Oxygen2/README.md b/plugins/Themes/Oxygen2/README.md
new file mode 100755
index 0000000..b529701
--- /dev/null
+++ b/plugins/Themes/Oxygen2/README.md
@@ -0,0 +1,4 @@
+# Themes: Oxygen
+
+This theme is based on the the Oxygen project for KDE Plasma desktops. It is the
+default theme for _Ultracopier_.
diff --git a/plugins/Themes/Oxygen2/StructEnumDefinition.h b/plugins/Themes/Oxygen2/StructEnumDefinition.h
new file mode 100755
index 0000000..c1758f4
--- /dev/null
+++ b/plugins/Themes/Oxygen2/StructEnumDefinition.h
@@ -0,0 +1 @@
+#include "../../../StructEnumDefinition.h"
diff --git a/plugins/Themes/Oxygen2/ThemesFactory.cpp b/plugins/Themes/Oxygen2/ThemesFactory.cpp
new file mode 100755
index 0000000..111cbaa
--- /dev/null
+++ b/plugins/Themes/Oxygen2/ThemesFactory.cpp
@@ -0,0 +1,573 @@
+/** \file factory.cpp
+\brief Define the factory core
+\author alpha_one_x86 */
+
+#include <QColorDialog>
+#include <QDesktopWidget>
+#include <QScreen>
+
+#include "ThemesFactory.h"
+#include "../../../cpp11addition.h"
+
+ThemesFactory::ThemesFactory()
+{
+ optionsEngine=NULL;
+ tempWidget=new QWidget();
+ ui=new Ui::themesOptions();
+ ui->setupUi(tempWidget);
+ ui->toolBox->setCurrentIndex(0);
+ currentSpeed = 0;
+ updateSpeed();
+
+ qRegisterMetaType<QList<QPersistentModelIndex> >("QList<QPersistentModelIndex>");
+}
+
+ThemesFactory::~ThemesFactory()
+{
+}
+
+PluginInterface_Themes * ThemesFactory::getInstance()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, currentSpeed: "+std::to_string(currentSpeed));
+
+ Themes * newInterface=new Themes(
+ ui->alwaysOnTop->isChecked(),
+ ui->showProgressionInTheTitle->isChecked(),
+ progressColorWrite,progressColorRead,progressColorRemaining,
+ ui->showDualProgression->isChecked(),
+ ui->comboBox_copyEnd->currentIndex(),
+ ui->speedWithProgressBar->isChecked(),
+ currentSpeed,
+ ui->checkBoxShowSpeed->isChecked(),
+ facilityEngine,
+ ui->checkBoxStartWithMoreButtonPushed->isChecked(),
+ ui->minimizeToSystray->isChecked(),
+ ui->startMinimized->isChecked(),
+ ui->savePosition->currentIndex(),
+ ui->dark->isChecked()
+ );
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(!connect(newInterface,&Themes::debugInformation,this,&PluginInterface_ThemesFactory::debugInformation))
+ abort();
+ #endif
+ if(!connect(this,&ThemesFactory::reloadLanguage,newInterface,&Themes::newLanguageLoaded))
+ abort();
+ if(!connect(newInterface,&Themes::destroyed,this,&ThemesFactory::savePositionBeforeClose))
+ abort();
+ switch(ui->savePosition->currentIndex())
+ {
+ default:
+ case 0:
+ break;
+ case 1:
+ newInterface->move(
+ stringtouint32(optionsEngine->getOptionValue("savePositionX")),
+ stringtouint32(optionsEngine->getOptionValue("savePositionY"))
+ );
+ break;
+ case 2:
+ if(!qApp->screens().isEmpty())
+ newInterface->setGeometry(
+ QStyle::alignedRect(
+ Qt::LeftToRight,
+ Qt::AlignCenter,
+ newInterface->size(),
+ #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0)
+ qApp->desktop()->availableGeometry()
+ #else
+ qApp->screens().front()->geometry()
+ #endif
+ )
+ );
+ break;
+ }
+ return newInterface;
+}
+
+void ThemesFactory::savePositionBeforeClose(QObject *obj)
+{
+ if(ui->savePosition->currentIndex()!=1)
+ return;
+ if(obj == nullptr)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"obj == nullptr");
+ return;
+ }
+ const QWidget * const widget=static_cast<QWidget *>(obj);
+ optionsEngine->setOptionValue("savePositionX",std::to_string(widget->x()));
+ optionsEngine->setOptionValue("savePositionY",std::to_string(widget->y()));
+}
+
+void ThemesFactory::setResources(OptionInterface * optionsEngine,const std::string &
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ writePath
+ #endif
+ ,const std::string &
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ pluginPath
+ #endif
+ ,FacilityInterface * facilityEngine,const bool &
+ )
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, writePath: "+writePath+", pluginPath: "+pluginPath);
+ this->facilityEngine=facilityEngine;
+ if(optionsEngine!=NULL)
+ {
+ this->optionsEngine=optionsEngine;
+ //load the options
+ std::vector<std::pair<std::string, std::string> > KeysList;
+ KeysList.push_back(std::pair<std::string, std::string>("checkBoxShowSpeed","false"));
+ KeysList.push_back(std::pair<std::string, std::string>("moreButtonPushed","false"));
+ KeysList.push_back(std::pair<std::string, std::string>("speedWithProgressBar","true"));
+ KeysList.push_back(std::pair<std::string, std::string>("currentSpeed","0"));
+ KeysList.push_back(std::pair<std::string, std::string>("comboBox_copyEnd","0"));
+ KeysList.push_back(std::pair<std::string, std::string>("showDualProgression","false"));
+ KeysList.push_back(std::pair<std::string, std::string>("showProgressionInTheTitle","true"));
+ KeysList.push_back(std::pair<std::string, std::string>("progressColorWrite",QApplication::palette().color(QPalette::Highlight).name().toStdString()));
+ KeysList.push_back(std::pair<std::string, std::string>("progressColorRead",QApplication::palette().color(QPalette::AlternateBase).name().toStdString()));
+ KeysList.push_back(std::pair<std::string, std::string>("progressColorRemaining",QApplication::palette().color(QPalette::Base).name().toStdString()));
+ KeysList.push_back(std::pair<std::string, std::string>("alwaysOnTop","false"));
+ KeysList.push_back(std::pair<std::string, std::string>("minimizeToSystray","false"));
+ KeysList.push_back(std::pair<std::string, std::string>("startMinimized","false"));
+ KeysList.push_back(std::pair<std::string, std::string>("savePosition","0"));
+ KeysList.push_back(std::pair<std::string, std::string>("savePositionX","0"));
+ KeysList.push_back(std::pair<std::string, std::string>("savePositionY","0"));
+ KeysList.push_back(std::pair<std::string, std::string>("dark","true"));
+ optionsEngine->addOptionGroup(KeysList);
+ connect(optionsEngine,&OptionInterface::resetOptions,this,&ThemesFactory::resetOptions);
+ updateSpeed();
+
+ ui->comboBox_copyEnd->setCurrentIndex(stringtouint32(optionsEngine->getOptionValue("comboBox_copyEnd")));
+ ui->speedWithProgressBar->setChecked(stringtobool(optionsEngine->getOptionValue("speedWithProgressBar")));
+ ui->checkBoxShowSpeed->setChecked(stringtobool(optionsEngine->getOptionValue("checkBoxShowSpeed")));
+ ui->checkBoxStartWithMoreButtonPushed->setChecked(stringtobool(optionsEngine->getOptionValue("moreButtonPushed")));
+ ui->showDualProgression->setChecked(stringtobool(optionsEngine->getOptionValue("showDualProgression")));
+ ui->showProgressionInTheTitle->setChecked(stringtobool(optionsEngine->getOptionValue("showProgressionInTheTitle")));
+ ui->alwaysOnTop->setChecked(stringtobool(optionsEngine->getOptionValue("alwaysOnTop")));
+ ui->minimizeToSystray->setChecked(stringtobool(optionsEngine->getOptionValue("minimizeToSystray")));
+ ui->startMinimized->setChecked(stringtobool(optionsEngine->getOptionValue("startMinimized")));
+ ui->savePosition->setCurrentIndex(stringtouint8(optionsEngine->getOptionValue("savePosition")));
+ ui->dark->setChecked(stringtobool(optionsEngine->getOptionValue("dark")));
+ }
+ #ifndef __GNUC__
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"__GNUC__ is not set");
+ #else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"__GNUC__ is set");
+ #endif
+}
+
+QWidget * ThemesFactory::options()
+{
+ if(optionsEngine!=NULL)
+ {
+ bool ok;
+ currentSpeed=stringtouint32(optionsEngine->getOptionValue("currentSpeed"),&ok);
+ if(!ok)
+ currentSpeed=0;
+
+ progressColorWrite=QVariant(QString::fromStdString(optionsEngine->getOptionValue("progressColorWrite"))).value<QColor>();
+ progressColorRead=QVariant(QString::fromStdString(optionsEngine->getOptionValue("progressColorRead"))).value<QColor>();
+ progressColorRemaining=QVariant(QString::fromStdString(optionsEngine->getOptionValue("progressColorRemaining"))).value<QColor>();
+
+ QPixmap pixmap(75,20);
+ pixmap.fill(progressColorWrite);
+ ui->progressColorWrite->setIcon(pixmap);
+ pixmap.fill(progressColorRead);
+ ui->progressColorRead->setIcon(pixmap);
+ pixmap.fill(progressColorRemaining);
+ ui->progressColorRemaining->setIcon(pixmap);
+ updateSpeed();
+ updateProgressionColorBar();
+
+ if(!connect(ui->alwaysOnTop,&QCheckBox::stateChanged,this,&ThemesFactory::alwaysOnTop))
+ abort();
+ if(!connect(ui->checkBoxShowSpeed,&QCheckBox::stateChanged,this,&ThemesFactory::checkBoxShowSpeed))
+ abort();
+ if(!connect(ui->minimizeToSystray,&QCheckBox::stateChanged,this,&ThemesFactory::minimizeToSystray))
+ abort();
+ if(!connect(ui->checkBox_limitSpeed,&QCheckBox::stateChanged,this,&ThemesFactory::uiUpdateSpeed))
+ abort();
+ if(!connect(ui->SliderSpeed,&QAbstractSlider::valueChanged,this,&ThemesFactory::on_SliderSpeed_valueChanged))
+ abort();
+ if(!connect(ui->limitSpeed,static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &ThemesFactory::uiUpdateSpeed))
+ abort();
+ if(!connect(ui->checkBoxShowSpeed,&QAbstractButton::toggled,this,&ThemesFactory::checkBoxShowSpeedHaveChanged))
+ abort();
+ if(!connect(ui->checkBoxStartWithMoreButtonPushed,&QAbstractButton::toggled,this,&ThemesFactory::checkBoxStartWithMoreButtonPushedHaveChanged))
+ abort();
+ if(!connect(ui->speedWithProgressBar,&QAbstractButton::toggled,this,&ThemesFactory::speedWithProgressBar))
+ abort();
+ if(!connect(ui->comboBox_copyEnd, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&ThemesFactory::comboBox_copyEnd))
+ abort();
+ if(!connect(ui->showDualProgression,&QCheckBox::stateChanged,this,&ThemesFactory::showDualProgression))
+ abort();
+ if(!connect(ui->showDualProgression,&QCheckBox::stateChanged,this,&ThemesFactory::updateProgressionColorBar))
+ abort();
+ if(!connect(ui->showProgressionInTheTitle,&QCheckBox::stateChanged,this,&ThemesFactory::setShowProgressionInTheTitle))
+ abort();
+ if(!connect(ui->progressColorWrite,&QAbstractButton::clicked,this,&ThemesFactory::progressColorWrite_clicked))
+ abort();
+ if(!connect(ui->progressColorRead, &QAbstractButton::clicked,this,&ThemesFactory::progressColorRead_clicked))
+ abort();
+ if(!connect(ui->progressColorRemaining,&QAbstractButton::clicked,this,&ThemesFactory::progressColorRemaining_clicked))
+ abort();
+ if(!connect(ui->startMinimized,&QCheckBox::stateChanged,this,&ThemesFactory::startMinimized))
+ abort();
+ if(!connect(ui->savePosition,static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),this,&ThemesFactory::savePositionHaveChanged))
+ abort();
+ if(!connect(ui->dark,&QCheckBox::stateChanged,this,&ThemesFactory::setDark))
+ abort();
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"return the options");
+ return tempWidget;
+}
+
+QIcon ThemesFactory::getIcon(const std::string &fileName) const
+{
+ if(fileName=="SystemTrayIcon/exit.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("application-exit");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ else if(fileName=="SystemTrayIcon/add.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("list-add");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ else if(fileName=="SystemTrayIcon/informations.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("help-about");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ else if(fileName=="SystemTrayIcon/options.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("applications-system");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ return QIcon(":/Themes/Oxygen2/resources/"+QString::fromStdString(fileName));
+}
+
+void ThemesFactory::resetOptions()
+{
+ ui->checkBoxShowSpeed->setChecked(true);
+ ui->checkBoxStartWithMoreButtonPushed->setChecked(false);
+ ui->savePosition->setCurrentIndex(0);
+}
+
+void ThemesFactory::checkBoxShowSpeedHaveChanged(bool toggled)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("checkBoxShowSpeed",std::to_string(toggled));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::checkBoxStartWithMoreButtonPushedHaveChanged(bool toggled)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("moreButtonPushed",std::to_string(toggled));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::savePositionHaveChanged(int value)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("savePosition",std::to_string(value));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::setDark(bool toggled)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("dark",std::to_string(toggled));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::comboBox_copyEnd(int value)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("comboBox_copyEnd",std::to_string(value));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::speedWithProgressBar(bool toggled)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("speedWithProgressBar",std::to_string(toggled));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::newLanguageLoaded()
+{
+ ui->retranslateUi(tempWidget);
+ ui->comboBox_copyEnd->setItemText(0,tr("Don't close if errors are found"));
+ ui->comboBox_copyEnd->setItemText(1,tr("Never close"));
+ ui->comboBox_copyEnd->setItemText(2,tr("Always close"));
+ emit reloadLanguage();
+}
+
+void ThemesFactory::checkBoxShowSpeed(bool checked)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ Q_UNUSED(checked);
+ updateSpeed();
+}
+
+void ThemesFactory::minimizeToSystray(bool checked)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("minimizeToSystray",std::to_string(checked));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::alwaysOnTop(bool checked)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("alwaysOnTop",std::to_string(checked));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::showDualProgression(bool checked)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("showDualProgression",std::to_string(checked));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::startMinimized(bool checked)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed");
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("startMinimized",std::to_string(checked));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::on_SliderSpeed_valueChanged(int value)
+{
+ if(optionsEngine==NULL)
+ return;
+ if(!ui->checkBoxShowSpeed->isChecked())
+ return;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"value: "+std::to_string(value));
+ switch(value)
+ {
+ case 0:
+ currentSpeed=0;
+ break;
+ case 1:
+ currentSpeed=1024;
+ break;
+ case 2:
+ currentSpeed=1024*4;
+ break;
+ case 3:
+ currentSpeed=1024*16;
+ break;
+ case 4:
+ currentSpeed=1024*64;
+ break;
+ case 5:
+ currentSpeed=1024*128;
+ break;
+ }
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+ updateSpeed();
+}
+
+void ThemesFactory::uiUpdateSpeed()
+{
+ if(optionsEngine==NULL)
+ return;
+ if(ui->checkBoxShowSpeed->isChecked())
+ return;
+ if(!ui->checkBox_limitSpeed->isChecked())
+ currentSpeed=0;
+ else
+ currentSpeed=ui->limitSpeed->value();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit newSpeedLimitation: "+std::to_string(currentSpeed));
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::updateSpeed()
+{
+ if(optionsEngine==NULL)
+ return;
+ ui->label_Slider_speed->setVisible(ui->checkBoxShowSpeed->isChecked());
+ ui->SliderSpeed->setVisible(ui->checkBoxShowSpeed->isChecked());
+ ui->label_SpeedMaxValue->setVisible(ui->checkBoxShowSpeed->isChecked());
+ ui->limitSpeed->setVisible(!ui->checkBoxShowSpeed->isChecked());
+ ui->checkBox_limitSpeed->setVisible(!ui->checkBoxShowSpeed->isChecked());
+
+ if(ui->checkBoxShowSpeed->isChecked())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"checked, currentSpeed: "+std::to_string(currentSpeed));
+ ui->limitSpeed->setEnabled(false);
+ if(currentSpeed==0)
+ {
+ ui->SliderSpeed->setValue(0);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->translateText("Unlimited")));
+ }
+ else if(currentSpeed<=1024)
+ {
+ if(currentSpeed!=1024)
+ {
+ currentSpeed=1024;
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+ }
+ ui->SliderSpeed->setValue(1);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*1)));
+ }
+ else if(currentSpeed<=1024*4)
+ {
+ if(currentSpeed!=1024*4)
+ {
+ currentSpeed=1024*4;
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+ }
+ ui->SliderSpeed->setValue(2);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*4)));
+ }
+ else if(currentSpeed<=1024*16)
+ {
+ if(currentSpeed!=1024*16)
+ {
+ currentSpeed=1024*16;
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+ }
+ ui->SliderSpeed->setValue(3);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*16)));
+ }
+ else if(currentSpeed<=1024*64)
+ {
+ if(currentSpeed!=1024*64)
+ {
+ currentSpeed=1024*64;
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+ }
+ ui->SliderSpeed->setValue(4);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*64)));
+ }
+ else
+ {
+ if(currentSpeed!=1024*128)
+ {
+ currentSpeed=1024*128;
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+ }
+ ui->SliderSpeed->setValue(5);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*128)));
+ }
+ }
+ else
+ {
+ ui->checkBox_limitSpeed->setChecked(currentSpeed>0);
+ if(currentSpeed>0)
+ ui->limitSpeed->setValue(currentSpeed);
+ ui->checkBox_limitSpeed->setEnabled(currentSpeed!=-1);
+ ui->limitSpeed->setEnabled(ui->checkBox_limitSpeed->isChecked());
+ }
+}
+
+void ThemesFactory::progressColorWrite_clicked()
+{
+ QColor color=QColorDialog::getColor(progressColorWrite,NULL,tr("Select a color"));
+ if(!color.isValid())
+ return;
+ progressColorWrite=color;
+ QPixmap pixmap(75,20);
+ pixmap.fill(progressColorWrite);
+ ui->progressColorWrite->setIcon(pixmap);
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("progressColorWrite",progressColorWrite.name().toStdString());
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::progressColorRead_clicked()
+{
+ QColor color=QColorDialog::getColor(progressColorRead,NULL,tr("Select a color"));
+ if(!color.isValid())
+ return;
+ progressColorRead=color;
+ QPixmap pixmap(75,20);
+ pixmap.fill(progressColorRead);
+ ui->progressColorRead->setIcon(pixmap);
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("progressColorRead",progressColorRead.name().toStdString());
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::progressColorRemaining_clicked()
+{
+ QColor color=QColorDialog::getColor(progressColorRemaining,NULL,tr("Select a color"));
+ if(!color.isValid())
+ return;
+ progressColorRemaining=color;
+ QPixmap pixmap(75,20);
+ pixmap.fill(progressColorRemaining);
+ ui->progressColorRemaining->setIcon(pixmap);
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("progressColorRemaining",progressColorRemaining.name().toStdString());
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
+
+void ThemesFactory::updateProgressionColorBar()
+{
+ ui->labelProgressionColor->setVisible(ui->showDualProgression->isChecked());
+ ui->frameProgressionColor->setVisible(ui->showDualProgression->isChecked());
+}
+
+void ThemesFactory::setShowProgressionInTheTitle()
+{
+ if(optionsEngine!=NULL)
+ optionsEngine->setOptionValue("showProgressionInTheTitle",std::to_string(ui->showProgressionInTheTitle->isChecked()));
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented");
+}
diff --git a/plugins/Themes/Oxygen2/ThemesFactory.h b/plugins/Themes/Oxygen2/ThemesFactory.h
new file mode 100755
index 0000000..bd6095e
--- /dev/null
+++ b/plugins/Themes/Oxygen2/ThemesFactory.h
@@ -0,0 +1,89 @@
+/** \file factory.h
+\brief Define the factory, to create instance of the interface
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef FACTORYTHEMEOXYGEN_H
+#define FACTORYTHEMEOXYGEN_H
+
+#include <QObject>
+#include <QWidget>
+#include <QMenu>
+#include <QCloseEvent>
+#include <QFile>
+#include <QIcon>
+#include <QColor>
+#include <QPixmap>
+
+#include "../../../interface/PluginInterface_Themes.h"
+#include "ui_themesOptions.h"
+#include "interface.h"
+#include "Oxygen2Environment.h"
+
+namespace Ui {
+ class themesOptions;
+}
+
+/// \brief Define the factory, to create instance of the interface
+class ThemesFactory : public PluginInterface_ThemesFactory
+{
+ Q_OBJECT
+ #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT
+ Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.ThemesFactory/1.0.1.0" FILE "plugin.json")
+ Q_INTERFACES(PluginInterface_ThemesFactory)
+ #endif
+public:
+ ThemesFactory();
+ ~ThemesFactory();
+ /// \brief to return the instance of the copy engine
+ PluginInterface_Themes * getInstance() override;
+ /// \brief set the resources, to store options, to have facilityInterface
+ void setResources(OptionInterface * optionsEngine,const std::string &
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ writePath
+ #endif
+ ,const std::string &
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ pluginPath
+ #endif
+ ,FacilityInterface * facilityEngine,const bool &portableVersion) override;
+ /// \brief to get the default options widget
+ QWidget * options() override;
+ /// \brief to get a resource icon
+ QIcon getIcon(const std::string &fileName) const override;
+private slots:
+ void checkBoxShowSpeedHaveChanged(bool toggled);
+ void checkBoxStartWithMoreButtonPushedHaveChanged(bool toggled);
+ void comboBox_copyEnd(int value);
+ void speedWithProgressBar(bool toggled);
+ void checkBoxShowSpeed(bool checked);
+ void minimizeToSystray(bool checked);
+ void alwaysOnTop(bool checked);
+ void showDualProgression(bool checked);
+ void on_SliderSpeed_valueChanged(int value);
+ void uiUpdateSpeed();
+ void updateSpeed();
+ void progressColorWrite_clicked();
+ void progressColorRead_clicked();
+ void progressColorRemaining_clicked();
+ void updateProgressionColorBar();
+ void setShowProgressionInTheTitle();
+ void startMinimized(bool checked);
+ void savePositionBeforeClose(QObject *obj);
+ void savePositionHaveChanged(int value);
+ void setDark(bool toggled);
+public slots:
+ void resetOptions() override;
+ void newLanguageLoaded() override;
+private:
+ OptionInterface * optionsEngine;
+ Ui::themesOptions *ui;
+ QWidget *tempWidget;
+ FacilityInterface * facilityEngine;
+ int32_t currentSpeed;///< in KB/s, assume as 0KB/s as default like every where
+ QColor progressColorWrite,progressColorRead,progressColorRemaining;
+signals:
+ void reloadLanguage() const;
+};
+
+#endif // FACTORY_H
diff --git a/plugins/Themes/Oxygen2/TransferModel.cpp b/plugins/Themes/Oxygen2/TransferModel.cpp
new file mode 100755
index 0000000..5a97aab
--- /dev/null
+++ b/plugins/Themes/Oxygen2/TransferModel.cpp
@@ -0,0 +1,755 @@
+#include "TransferModel.h"
+#include "../../../cpp11addition.h"
+#include <iostream>
+
+#define COLUMN_COUNT 3
+
+// Model
+
+QIcon *TransferModel::start=NULL;
+QIcon *TransferModel::stop=NULL;
+
+TransferModel::TransferModel()
+{
+ /// \warning to prevent Must construct a QGuiApplication before QPixmap IN STATIC WINDOWS VERSION ONLY
+ if(TransferModel::start==NULL)
+ TransferModel::start=new QIcon(QStringLiteral(":/resources/player_play.png"));
+ if(TransferModel::stop==NULL)
+ TransferModel::stop=new QIcon(QStringLiteral(":/resources/player_pause.png"));
+ currentIndexSearch=0;
+ haveSearchItem=false;
+ loop_size=0,index_for_loop=0;
+ sub_loop_size=0,sub_index_for_loop=0;
+ row=0,column=0;
+ facilityEngine=NULL;
+ currentIndexSearch=0;
+ haveSearchItem=false;
+ searchId=0;
+
+ tree=NULL;
+}
+
+int TransferModel::columnCount( const QModelIndex& parent ) const
+{
+ return parent == QModelIndex() ? COLUMN_COUNT : 0;
+}
+
+QVariant TransferModel::data( const QModelIndex& index, int role ) const
+{
+ int row,column;
+ row=index.row();
+ column=index.column();
+ if(index.parent()!=QModelIndex() || row < 0 || (unsigned int)row >= transfertItemList.size() || column < 0 || column >= COLUMN_COUNT)
+ return QVariant();
+
+ const TransfertItem& item = transfertItemList.at(row);
+ if(role==Qt::UserRole)
+ return (quint64)item.id;
+ else if(role==Qt::DisplayRole)
+ {
+ switch(column)
+ {
+ case 0:
+ return QString::fromStdString(item.source);
+ break;
+ case 1:
+ return QString::fromStdString(item.size);
+ break;
+ case 2:
+ return QString::fromStdString(item.destination);
+ break;
+ default:
+ return QVariant();
+ }
+ }
+ else if(role==Qt::DecorationRole)
+ {
+ switch(column)
+ {
+ case 0:
+ if(stopId.find(item.id)!=stopId.cend())
+ return *stop;
+ else if(startId.find(item.id)!=startId.cend())
+ return *start;
+ else
+ return QVariant();
+ break;
+ default:
+ return QVariant();
+ }
+ }
+ else if(role==Qt::BackgroundRole)
+ {
+ if(!search_text.empty() && (item.source.find(search_text)!=std::string::npos ||
+ item.destination.find(search_text)!=std::string::npos))
+ {
+ if(haveSearchItem && searchId==item.id)
+ return QColor(255,150,150,100);
+ else
+ return QColor(255,255,0,100);
+ }
+ else
+ return QVariant();
+ }
+ return QVariant();
+}
+
+int TransferModel::rowCount( const QModelIndex& parent ) const
+{
+ return parent == QModelIndex() ? transfertItemList.size() : 0;
+}
+
+uint64_t TransferModel::firstId() const
+{
+ if(transfertItemList.size()>0)
+ return transfertItemList.front().id;
+ else
+ return 0;
+}
+
+QVariant TransferModel::headerData( int section, Qt::Orientation orientation, int role ) const
+{
+ if(facilityEngine==NULL)
+ abort();
+ if ( role == Qt::DisplayRole && orientation == Qt::Horizontal && section >= 0 && section < COLUMN_COUNT ) {
+ switch ( section ) {
+ case 0:
+ return QString::fromStdString(facilityEngine->translateText("Source"));
+ case 1:
+ return QString::fromStdString(facilityEngine->translateText("Size"));
+ case 2:
+ return QString::fromStdString(facilityEngine->translateText("Destination"));
+ }
+ }
+
+ return QAbstractTableModel::headerData( section, orientation, role );
+}
+
+bool TransferModel::setData( const QModelIndex& index, const QVariant& value, int role )
+{
+ row=index.row();
+ column=index.column();
+ if(index.parent()!=QModelIndex() || row < 0 || (unsigned int)row >= transfertItemList.size() || column < 0 || column >= COLUMN_COUNT)
+ return false;
+
+ TransfertItem& item = transfertItemList[row];
+ if(role==Qt::UserRole)
+ {
+ item.id=value.toULongLong();
+ return true;
+ }
+ else if(role==Qt::DisplayRole)
+ {
+ switch(column)
+ {
+ case 0:
+ item.source=value.toString().toStdString();
+ emit dataChanged(index,index);
+ return true;
+ break;
+ case 1:
+ item.size=value.toString().toStdString();
+ emit dataChanged(index,index);
+ return true;
+ break;
+ case 2:
+ item.destination=value.toString().toStdString();
+ emit dataChanged(index,index);
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+ return false;
+}
+
+Folder * TransferModel::appendToTreeR(Folder * const tree, const std::string &subPath,Folder * const oldTree)
+{
+ const std::string::size_type n=subPath.find('/');
+
+ //isolate the name
+ std::string name;
+ if(n == std::string::npos)
+ name=subPath;
+ else
+ name=subPath.substr(0,n);
+ //search
+ auto search = tree->folders.find(name);
+ Folder * folder=nullptr;
+ if(search == tree->folders.end())
+ {
+ //append or remplace the existing
+ if(oldTree!=NULL && (n+1)==subPath.size())
+ {
+ oldTree->setName(subPath.substr(0,n).c_str());
+ folder=oldTree;
+ }
+ else
+ folder=new Folder(name);
+ if(!folder->isFolder())
+ {
+ if(oldTree!=NULL)
+ abort();
+ return nullptr;
+ }
+ tree->append(folder);
+ }
+ else
+ {
+ //create a new leaf
+ File * file=search->second;
+ if(!file->isFolder())
+ return nullptr;
+ folder=static_cast<Folder *>(file);
+ }
+ if(n == std::string::npos || n+1==subPath.size())
+ return folder;
+ else
+ return appendToTreeR(folder,subPath.substr(n+1),oldTree);
+}
+
+void TransferModel::appendToTree(const std::string &path,const uint64_t &size)
+{
+ if(size==0)
+ return;
+ const std::string::size_type n=path.rfind('/');
+ if(n == std::string::npos)
+ return;
+ if(treePath.empty())
+ {
+ treePath=path.substr(0,n+1);
+ tree->append(path.c_str()+n+1,size);
+ }
+ else
+ {
+ const std::string &newPath=path.substr(0,n+1);
+ unsigned int index=0;
+ while(index<newPath.size() && index<treePath.size())
+ {
+ if(treePath.at(index)!=newPath.at(index))
+ break;
+ index++;
+ }
+ //append to current path
+ if(index==treePath.size())
+ {
+ //get the next path, found or create
+ Folder * finalTree=tree;
+ if((n+1)>index)
+ {
+ const std::string &subPath=path.substr(index,(n+1)-index);
+ finalTree=appendToTreeR(tree,subPath);
+ }
+ finalTree->append(path.c_str()+n+1,size);
+ }
+ else //new root is to be created
+ {
+ //save the old values
+ const std::string oldTreePath=treePath;
+ Folder * const oldTree=tree;
+ tree=new Folder("");
+ treePath=path.substr(0,index);
+
+ //path switch to rebase the root
+ if(oldTreePath.size()>index)
+ appendToTreeR(tree,oldTreePath.substr(index),oldTree);
+
+ Folder * finalTree=tree;
+ //make the new sub path if have
+ if((n+1)>index)
+ finalTree=appendToTreeR(tree,path.substr(index));
+
+ //do the file
+ finalTree->append(path.c_str()+n+1,size);
+ }
+ }
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ //check the integrity of tree
+ /*now it's mostly stable checkIntegrityChildren(tree);
+ checkIntegritySize(tree);*/
+ #endif
+}
+
+#ifdef ULTRACOPIER_PLUGIN_DEBUG
+//check the integrity of tree size
+uint64_t TransferModel::checkIntegritySize(const Folder * const tree)
+{
+ uint64_t size=0;
+ unsigned int index=0;
+ while(index<tree->onlyFiles.size())
+ {
+ File * file=tree->onlyFiles.at(index);
+ if(file->parent()!=tree)
+ {
+ std::cerr << "tree parrent corrupted" << std::endl;
+ abort();
+ }
+ size+=file->size();
+ index++;
+ }
+ for(const auto& n : tree->folders)
+ {
+ Folder * folder=n.second;
+ if(folder->parent()!=tree)
+ {
+ std::cerr << "tree parrent corrupted" << std::endl;
+ abort();
+ }
+ size+=checkIntegritySize(folder);
+ }
+ if(size!=tree->size())
+ {
+ std::cerr << "tree corrupted" << std::endl;
+ abort();
+ }
+ return tree->size();
+}
+
+//check the integrity of tree children
+uint64_t TransferModel::checkIntegrityChildren(const Folder * const tree)
+{
+ uint64_t childrens=0;
+ childrens+=tree->onlyFiles.size();
+ for(const auto& n : tree->folders)
+ {
+ Folder * folder=n.second;
+ if(folder->parent()!=tree)
+ {
+ std::cerr << "tree parrent corrupted" << std::endl;
+ abort();
+ }
+ childrens+=checkIntegrityChildren(folder);
+ }
+ if(childrens!=tree->children())
+ {
+ std::cerr << "tree corrupted" << std::endl;
+ abort();
+ }
+ return tree->children();
+}
+#endif
+
+/*
+ Return[0]: totalFile
+ Return[1]: totalSize
+ Return[2]: currentFile
+ */
+std::vector<uint64_t> TransferModel::synchronizeItems(const std::vector<Ultracopier::ReturnActionOnCopyList>& returnActions)
+{
+ const QModelIndexList oldIndexes = persistentIndexList();
+ QModelIndexList newIndexes=oldIndexes;
+ QMap<int, quint64> oldMapping; // model index row in model before update, item id
+ QMap<quint64, int> newMapping; // item id, model index row in model after update
+ for ( int i = 0; i < oldIndexes.count(); i++ ) {
+ const QModelIndex& index = oldIndexes.at(i);
+ oldMapping[index.row()] = index.data( Qt::UserRole ).value<quint64>();
+ }
+
+ loop_size=returnActions.size();
+ index_for_loop=0;
+ quint64 totalFile=0,totalSize=0,currentFile=0;
+ emit layoutAboutToBeChanged();
+ while(index_for_loop<loop_size)
+ {
+ const Ultracopier::ReturnActionOnCopyList& action=returnActions.at(index_for_loop);
+ switch(action.type)
+ {
+ case Ultracopier::AddingItem:
+ {
+ TransfertItem newItem;
+ newItem.id=action.addAction.id;
+ newItem.source=action.addAction.sourceFullPath;
+ newItem.size=facilityEngine->sizeToString(action.addAction.size);
+ newItem.destination=action.addAction.destinationFullPath;
+ transfertItemList.push_back(newItem);
+ totalFile++;
+ totalSize+=action.addAction.size;
+
+ appendToTree(action.addAction.sourceFullPath,action.addAction.size);
+ }
+ break;
+ case Ultracopier::MoveItem:
+ {
+ //bool current_entry=
+ if(action.userAction.position<0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position).toStdString());
+ break;
+ }
+ if((unsigned int)action.userAction.position>(transfertItemList.size()-1))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position).toStdString());
+ break;
+ }
+ if(action.userAction.moveAt<0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position).toStdString());
+ break;
+ }
+ if((unsigned int)action.userAction.moveAt>(transfertItemList.size()-1))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position).toStdString());
+ break;
+ }
+ if(action.userAction.position==action.userAction.moveAt)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("id: %1, move at same position: %2").arg(action.addAction.id).arg(action.userAction.position).toStdString());
+ break;
+ }
+ const TransfertItem transfertItem=transfertItemList.at(action.userAction.position);
+ transfertItemList.erase(transfertItemList.cbegin()+action.userAction.position);
+ transfertItemList.insert(transfertItemList.cbegin()+action.userAction.moveAt,transfertItem);
+ //newIndexes.move(action.userAction.position,action.userAction.moveAt);
+ }
+ break;
+ case Ultracopier::RemoveItem:
+ {
+ if(currentIndexSearch>0 && action.userAction.position<=currentIndexSearch)
+ currentIndexSearch--;
+ if(action.userAction.position<0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position).toStdString());
+ break;
+ }
+ if((unsigned int)action.userAction.position>(transfertItemList.size()-1))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position).toStdString());
+ break;
+ }
+ transfertItemList.erase(transfertItemList.cbegin()+action.userAction.position);
+ currentFile++;
+ startId.erase(action.addAction.id);
+ stopId.erase(action.addAction.id);
+ internalRunningOperation.erase(action.addAction.id);
+ //newIndexes.remove(action.userAction.moveAt);
+ }
+ break;
+ case Ultracopier::PreOperation:
+ {
+ ItemOfCopyListWithMoreInformations tempItem;
+ tempItem.currentReadProgression=0;
+ tempItem.currentWriteProgression=0;
+ tempItem.generalData=action.addAction;
+ tempItem.actionType=action.type;
+ internalRunningOperation[action.addAction.id]=tempItem;
+ }
+ break;
+ case Ultracopier::Transfer:
+ {
+ if(startId.find(action.addAction.id)==startId.cend())
+ startId.insert(action.addAction.id);
+ stopId.erase(action.addAction.id);
+ if(internalRunningOperation.find(action.addAction.id)!=internalRunningOperation.cend())
+ internalRunningOperation[action.addAction.id].actionType=action.type;
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unable to found entry for file %1: actionType: Transfer").arg(action.addAction.id).toStdString());
+ }
+ break;
+ case Ultracopier::PostOperation:
+ {
+ if(stopId.find(action.addAction.id)==stopId.cend())
+ stopId.insert(action.addAction.id);
+ startId.erase(action.addAction.id);
+ }
+ break;
+ case Ultracopier::CustomOperation:
+ {
+ bool custom_with_progression=(action.addAction.size==1);
+ //without progression
+ if(custom_with_progression)
+ {
+ if(startId.find(action.addAction.id)!=startId.cend())
+ {
+ startId.erase(action.addAction.id);
+ if(stopId.find(action.addAction.id)==stopId.cend())
+ stopId.insert(action.addAction.id);
+ }
+ }
+ //with progression
+ else
+ {
+ stopId.erase(action.addAction.id);
+ if(startId.find(action.addAction.id)==startId.cend())
+ startId.insert(action.addAction.id);
+ }
+ if(internalRunningOperation.find(action.addAction.id)!=internalRunningOperation.cend())
+ {
+ ItemOfCopyListWithMoreInformations &item=internalRunningOperation[action.addAction.id];
+ item.actionType=action.type;
+ item.custom_with_progression=custom_with_progression;
+ item.currentReadProgression=0;
+ item.currentWriteProgression=0;
+ }
+ }
+ break;
+ default:
+ //unknow code, ignore it
+ break;
+ }
+ index_for_loop++;
+ }
+
+ if(!oldIndexes.isEmpty())
+ {
+ const QSet<quint64> ids = oldMapping.values().toSet();
+
+ for ( unsigned int i = 0; i < transfertItemList.size(); i++ ) {
+ const TransferModel::TransfertItem& item = transfertItemList.at(i);
+
+ if ( ids.contains( item.id ) ) {
+ newMapping[ item.id ] = i;
+ }
+ }
+
+ for ( int i = 0; i < oldIndexes.count(); i++ ) {
+ const QModelIndex& index = oldIndexes.at(i);
+ const int newRow = newMapping.value( oldMapping.value(index.row()), -1 );
+ newIndexes[ i ] = newRow == -1 ? QModelIndex() : QAbstractTableModel::index( newRow, index.column(), index.parent() );
+ }
+ }
+
+ changePersistentIndexList( oldIndexes, newIndexes );
+ emit layoutChanged();
+ {
+ std::vector<uint64_t> newList;
+ newList.resize(3);
+ newList[0]=totalFile;
+ newList[1]=totalSize;
+ newList[2]=currentFile;
+ return newList;
+ }
+}
+
+void TransferModel::setFacilityEngine(FacilityInterface * facilityEngine)
+{
+ this->facilityEngine=facilityEngine;
+}
+
+int TransferModel::search(const std::string &text, bool searchNext)
+{
+ emit layoutAboutToBeChanged();
+ search_text=text;
+ emit layoutChanged();
+ if(transfertItemList.size()==0)
+ return -1;
+ if(text.empty())
+ return -1;
+ if(searchNext)
+ {
+ currentIndexSearch++;
+ if(currentIndexSearch>=loop_size)
+ currentIndexSearch=0;
+ }
+ index_for_loop=0;
+ loop_size=transfertItemList.size();
+ while(index_for_loop<loop_size)
+ {
+ const TransfertItem &transfertItem=transfertItemList.at(currentIndexSearch);
+ if(transfertItem.source.find(search_text)!=std::string::npos ||
+ transfertItem.destination.find(search_text)!=std::string::npos)
+ {
+ haveSearchItem=true;
+ searchId=transfertItemList.at(currentIndexSearch).id;
+ return currentIndexSearch;
+ }
+ currentIndexSearch++;
+ if(currentIndexSearch>=loop_size)
+ currentIndexSearch=0;
+ index_for_loop++;
+ }
+ haveSearchItem=false;
+ return -1;
+}
+
+int TransferModel::searchPrev(const std::string &text)
+{
+ emit layoutAboutToBeChanged();
+ search_text=text;
+ emit layoutChanged();
+ if(transfertItemList.size()==0)
+ return -1;
+ if(text.empty())
+ return -1;
+ if(currentIndexSearch==0)
+ currentIndexSearch=loop_size-1;
+ else
+ currentIndexSearch--;
+ index_for_loop=0;
+ loop_size=transfertItemList.size();
+ while(index_for_loop<loop_size)
+ {
+ const TransfertItem &transfertItem=transfertItemList.at(currentIndexSearch);
+ if(transfertItem.source.find(search_text)!=std::string::npos ||
+ transfertItem.destination.find(search_text)!=std::string::npos)
+ {
+ haveSearchItem=true;
+ searchId=transfertItemList.at(currentIndexSearch).id;
+ return currentIndexSearch;
+ }
+ if(currentIndexSearch==0)
+ currentIndexSearch=loop_size-1;
+ else
+ currentIndexSearch--;
+ index_for_loop++;
+ }
+ haveSearchItem=false;
+ return -1;
+}
+
+void TransferModel::setFileProgression(std::vector<Ultracopier::ProgressionItem> &progressionList)
+{
+ loop_size=progressionList.size();
+ index_for_loop=0;
+ while(index_for_loop<loop_size)
+ {
+ if(internalRunningOperation.find(progressionList.at(index_for_loop).id)!=internalRunningOperation.cend())
+ {
+ internalRunningOperation[progressionList.at(index_for_loop).id].generalData.size=progressionList.at(index_for_loop).total;
+ internalRunningOperation[progressionList.at(index_for_loop).id].currentReadProgression=progressionList.at(index_for_loop).currentRead;
+ internalRunningOperation[progressionList.at(index_for_loop).id].currentWriteProgression=progressionList.at(index_for_loop).currentWrite;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ progressionList.erase(progressionList.cbegin()+index_for_loop);
+ index_for_loop--;
+ loop_size--;
+ #endif
+ }
+ index_for_loop++;
+ }
+}
+
+TransferModel::currentTransfertItem TransferModel::getCurrentTransfertItem() const
+{
+ currentTransfertItem returnItem;
+ returnItem.progressBar_read=-1;
+ returnItem.progressBar_write=0;
+ returnItem.haveItem=startId.size()>0;
+ if(returnItem.haveItem)
+ {
+ if(internalRunningOperation.find(*startId.cbegin())==internalRunningOperation.cend())
+ {
+ returnItem.haveItem=false;
+ return returnItem;
+ }
+ const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation.at(*startId.cbegin());
+ returnItem.from=itemTransfer.generalData.sourceFullPath;
+ returnItem.to=itemTransfer.generalData.destinationFullPath;
+ returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size);
+ returnItem.id=itemTransfer.generalData.id;
+ switch(itemTransfer.actionType)
+ {
+ case Ultracopier::CustomOperation:
+ if(!itemTransfer.custom_with_progression)
+ returnItem.progressBar_read=-1;
+ else
+ {
+ if(itemTransfer.generalData.size>0)
+ {
+ returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535;
+ returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535;
+ }
+ else
+ returnItem.progressBar_read=-1;
+ }
+ break;
+ case Ultracopier::Transfer:
+ if(itemTransfer.generalData.size>0)
+ {
+ returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535;
+ returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535;
+ }
+ else
+ {
+ returnItem.progressBar_read=0;
+ returnItem.progressBar_write=0;
+ }
+ break;
+ //should never pass here
+ case Ultracopier::PostOperation:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString());
+ returnItem.progressBar_read=65535;
+ returnItem.progressBar_write=65535;
+ break;
+ //should pass here if in wait of new name for renaming
+ case Ultracopier::PreOperation:
+ //ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString());
+ returnItem.progressBar_read=0;
+ returnItem.progressBar_write=0;
+ break;
+ default:
+ returnItem.progressBar_read=0;
+ returnItem.progressBar_write=0;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString());
+ break;
+ }
+ }
+ else
+ {
+ returnItem.haveItem=stopId.size()>0;
+ if(returnItem.haveItem)
+ {
+ if(internalRunningOperation.find(*stopId.cbegin())==internalRunningOperation.cend())
+ {
+ returnItem.haveItem=false;
+ return returnItem;
+ }
+ const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation.at(*stopId.cbegin());
+ returnItem.from=itemTransfer.generalData.sourceFullPath;
+ returnItem.to=itemTransfer.generalData.destinationFullPath;
+ returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size);
+ returnItem.id=itemTransfer.generalData.id;
+ switch(itemTransfer.actionType)
+ {
+ case Ultracopier::CustomOperation:
+ if(!itemTransfer.custom_with_progression)
+ returnItem.progressBar_read=-1;
+ else
+ {
+ if(itemTransfer.generalData.size>0)
+ {
+ returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535;
+ returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535;
+ }
+ else
+ returnItem.progressBar_read=-1;
+ }
+ break;
+ case Ultracopier::Transfer:
+ if(itemTransfer.generalData.size>0)
+ {
+ returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535;
+ returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535;
+ }
+ else
+ {
+ returnItem.progressBar_read=0;
+ returnItem.progressBar_write=0;
+ }
+ break;
+ case Ultracopier::PostOperation:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString());
+ returnItem.progressBar_read=65535;
+ returnItem.progressBar_write=65535;
+ break;
+ //should never pass here
+ case Ultracopier::PreOperation:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString());
+ returnItem.progressBar_read=0;
+ returnItem.progressBar_write=0;
+ break;
+ default:
+ returnItem.progressBar_read=65535;
+ returnItem.progressBar_write=65535;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString());
+ break;
+ }
+ }
+ }
+ if(returnItem.haveItem && returnItem.progressBar_read!=-1 && returnItem.progressBar_write>returnItem.progressBar_read)
+ {
+ int tempVar=returnItem.progressBar_write;
+ returnItem.progressBar_write=returnItem.progressBar_read;
+ returnItem.progressBar_read=tempVar;
+ }
+ return returnItem;
+}
diff --git a/plugins/Themes/Oxygen2/TransferModel.h b/plugins/Themes/Oxygen2/TransferModel.h
new file mode 100755
index 0000000..94ccdae
--- /dev/null
+++ b/plugins/Themes/Oxygen2/TransferModel.h
@@ -0,0 +1,106 @@
+#ifndef TRANSFERMODEL_H
+#define TRANSFERMODEL_H
+
+#include <QAbstractTableModel>
+#include <QItemSelectionModel>
+#include <QModelIndex>
+#include <QVariant>
+#include <QList>
+#include <QSet>
+#include <QIcon>
+#include <QString>
+#include <unordered_map>
+#include <unordered_set>
+#include <set>
+#include <vector>
+
+#include "StructEnumDefinition.h"
+#include "Oxygen2Environment.h"
+
+#include "../../../interface/FacilityInterface.h"
+#include "fileTree.h"
+
+/// \brief model to store the transfer list
+class TransferModel : public QAbstractTableModel
+{
+ Q_OBJECT
+public:
+ /// \brief the transfer item displayed
+ struct TransfertItem
+ {
+ uint64_t id;
+ std::string source;
+ std::string size;
+ std::string destination;
+ };
+ /// \brief the transfer item with progression
+ struct ItemOfCopyListWithMoreInformations
+ {
+ uint64_t currentReadProgression,currentWriteProgression;
+ Ultracopier::ItemOfCopyList generalData;
+ Ultracopier::ActionTypeCopyList actionType;
+ bool custom_with_progression;
+ };
+ /// \brief returned first transfer item
+ struct currentTransfertItem
+ {
+ uint64_t id;
+ bool haveItem;
+ std::string from;
+ std::string to;
+ std::string current_file;
+ int progressBar_read,progressBar_write;
+ };
+
+ TransferModel();
+
+ virtual int columnCount(const QModelIndex& parent = QModelIndex()) const;
+ virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
+ virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
+ virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
+ virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole);
+
+ std::vector<uint64_t> synchronizeItems(const std::vector<Ultracopier::ReturnActionOnCopyList>& returnActions);
+ void appendToTree(const std::string &path, const uint64_t &size);
+ Folder * appendToTreeR(Folder * const tree, const std::string &subPath,Folder * const oldTree=NULL);
+ void setFacilityEngine(FacilityInterface * facilityEngine);
+
+ int search(const std::string &text,bool searchNext);
+ int searchPrev(const std::string &text);
+
+ void setFileProgression(std::vector<Ultracopier::ProgressionItem> &progressionList);
+
+ currentTransfertItem getCurrentTransfertItem() const;
+
+ uint64_t firstId() const;
+ Folder * tree;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ //check the integrity of tree
+ uint64_t checkIntegrityChildren(const Folder * const tree);
+ uint64_t checkIntegritySize(const Folder * const tree);
+ #endif
+protected:
+ std::vector<TransfertItem> transfertItemList;///< To have a transfer list for the user
+ std::set<uint64_t> startId,stopId;///< To show what is started, what is stopped
+ std::unordered_map<uint64_t,ItemOfCopyListWithMoreInformations> internalRunningOperation;///< to have progression and stat
+private:
+ int loop_size,index_for_loop;
+ int sub_loop_size,sub_index_for_loop;
+ int row,column;
+ FacilityInterface * facilityEngine;
+ std::string search_text;
+ /// \brief index from start the search, decresed by remove before it
+ int currentIndexSearch;
+ bool haveSearchItem;
+ uint64_t searchId;
+ static QIcon *start;
+ static QIcon *stop;
+ std::string treePath;
+signals:
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ /// \brief To debug source
+ void debugInformation(const Ultracopier::DebugLevel &level,std::string fonction,std::string text,std::string file,int ligne) const;
+ #endif
+};
+
+#endif // TRANSFERMODEL_H
diff --git a/plugins/Themes/Oxygen2/VerticalLabel.cpp b/plugins/Themes/Oxygen2/VerticalLabel.cpp
new file mode 100755
index 0000000..bda9ab8
--- /dev/null
+++ b/plugins/Themes/Oxygen2/VerticalLabel.cpp
@@ -0,0 +1,44 @@
+#include "VerticalLabel.h"
+#include <QPainter>
+#include <QApplication>
+
+VerticalLabel::VerticalLabel(QWidget *parent)
+ : QLabel(parent)
+{
+ color=QApplication::palette().text().color();
+}
+
+VerticalLabel::VerticalLabel(const QString &text, QWidget *parent)
+ : QLabel(text, parent)
+{
+}
+
+VerticalLabel::~VerticalLabel()
+{
+}
+
+void VerticalLabel::paintEvent(QPaintEvent*)
+{
+ QPainter painter(this);
+ painter.setPen(color);
+ painter.setBrush(Qt::Dense1Pattern);
+ painter.rotate(90);
+ painter.drawText(0,0, text());
+}
+
+void VerticalLabel::setColor(QColor color)
+{
+ this->color=color;
+}
+
+QSize VerticalLabel::minimumSizeHint() const
+{
+ QSize s = QLabel::minimumSizeHint();
+ return QSize(s.height(), s.width());
+}
+
+QSize VerticalLabel::sizeHint() const
+{
+ QSize s = QLabel::sizeHint();
+ return QSize(s.height(), s.width());
+}
diff --git a/plugins/Themes/Oxygen2/VerticalLabel.h b/plugins/Themes/Oxygen2/VerticalLabel.h
new file mode 100755
index 0000000..4c01012
--- /dev/null
+++ b/plugins/Themes/Oxygen2/VerticalLabel.h
@@ -0,0 +1,21 @@
+#ifndef VERTICALLABELCUSTOM_H
+#define VERTICALLABELCUSTOM_H
+
+#include <QLabel>
+
+class VerticalLabel : public QLabel
+{
+public:
+ explicit VerticalLabel(QWidget *parent=0);
+ explicit VerticalLabel(const QString &text, QWidget *parent=0);
+ ~VerticalLabel() override;
+ void setColor(QColor color);
+protected:
+ void paintEvent(QPaintEvent*) override;
+ QSize sizeHint() const override;
+ QSize minimumSizeHint() const override;
+private:
+ QColor color;
+};
+
+#endif // VERTICALLABELCUSTOM_H
diff --git a/plugins/Themes/Oxygen2/chartarea.cpp b/plugins/Themes/Oxygen2/chartarea.cpp
new file mode 100755
index 0000000..9378458
--- /dev/null
+++ b/plugins/Themes/Oxygen2/chartarea.cpp
@@ -0,0 +1,117 @@
+#include "chartarea.h"
+
+#include <QWidget>
+#include <QPainter>
+#include <QVector>
+#include <QPointF>
+#include <iostream>
+
+ChartArea::Widget::Widget(FacilityInterface * facilityEngine,QWidget *parent)
+ : QWidget(parent)
+{
+ this->facilityEngine=facilityEngine;
+ setSizePolicy(QSizePolicy::Preferred,QSizePolicy::MinimumExpanding);
+ setMinimumHeight(20);
+ setMinimumWidth(100);
+}
+
+ChartArea::Widget::~Widget()
+{
+}
+
+void ChartArea::Widget::invalidate()
+{
+}
+
+void ChartArea::Widget::resizeEvent(QResizeEvent*)
+{
+}
+
+void ChartArea::Widget::addValue(uint64_t value)
+{
+ m_values.push_back(value);
+ while(m_values.size()>64)
+ m_values.erase(m_values.begin());
+ update();
+}
+
+void ChartArea::Widget::paintEvent(QPaintEvent*)
+{
+ QPainter painter;
+ painter.begin(this);
+ painter.setBrush(QColor(160,160,160,30));
+ painter.drawRect(0,0,width()-1,height()-1);
+ painter.setRenderHint(QPainter::Antialiasing,true);
+ painter.setRenderHint(QPainter::SmoothPixmapTransform,true);
+ painter.setRenderHint(QPainter::HighQualityAntialiasing,true);
+
+ while(m_values.size()<64)
+ m_values.insert(m_values.begin(),0);
+ std::vector<uint64_t> values=m_values;
+ QVector<QPointF> points;
+ {
+ uint64_t max=0;
+ unsigned int index=0;
+ while(index<values.size())
+ {
+ if(max<values.at(index))
+ max=values.at(index);
+ index++;
+ }
+ if(max<=0)
+ {
+ points << QPointF(0, height()-1);
+ points << QPointF(width()/2, height()-1);
+ points << QPointF(width()-1, height()-1);
+ }
+ else
+ {
+ index=0;
+ while(index<values.size())
+ {
+ int w=width()-1;
+ int nw=w*index/(m_values.size()-1);
+ points << QPointF(nw, height()-values.at(index)*height()/max);
+ index++;
+ }
+ }
+ }
+
+ painter.setPen(Qt::NoPen);
+ QLinearGradient gradient(0,height()*0.5,0,height());
+ gradient.setColorAt(0, QColor(160,240,160,150));
+ //gradient.setColorAt(0.2, QColor(100,220,100,200));
+ gradient.setColorAt(1, QColor(160,240,160,0));
+ painter.setBrush(gradient);
+ points.push_front(QPointF(0, height()-1));
+ points.push_back(QPointF(width()-1, height()-1));
+ painter.drawPolygon(QPolygonF(points));
+
+ if(width()*height()>250000)
+ painter.setPen(QPen(QColor(160,240,160), 3));
+ else
+ painter.setPen(QPen(QColor(160,240,160), 2));
+ painter.drawPolyline(QPolygonF(points));
+
+
+ // todo: bounding rect + center flag
+ if(height()>30)
+ {
+ QFont font = painter.font();
+ int heightTemp=height()/5;
+ if(heightTemp<14)
+ heightTemp=14;
+ font.setPixelSize(heightTemp);
+ painter.setFont(font);
+
+ painter.setPen(QPen(QColor(140,140,140), 3));
+ painter.drawText(0,0,width(),height(),Qt::AlignHCenter | Qt::AlignBottom,
+ QString::fromStdString(
+ facilityEngine->speedToString(
+ m_values.back()
+ )
+ )
+ );
+ }
+ painter.end();
+}
diff --git a/plugins/Themes/Oxygen2/chartarea.h b/plugins/Themes/Oxygen2/chartarea.h
new file mode 100755
index 0000000..dbfa36c
--- /dev/null
+++ b/plugins/Themes/Oxygen2/chartarea.h
@@ -0,0 +1,31 @@
+#ifndef ChartAreaWIDGET_H
+#define ChartAreaWIDGET_H
+
+#include <QResizeEvent>
+#include <QWidget>
+
+#include "../../../interface/FacilityInterface.h"
+
+namespace ChartArea
+{
+
+class Widget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit Widget(FacilityInterface * facilityEngine,QWidget* = nullptr);
+ ~Widget() override;
+ void addValue(uint64_t value);
+public Q_SLOTS:
+ void invalidate();
+protected:
+ void paintEvent(QPaintEvent*) override;
+ void resizeEvent(QResizeEvent*) override;
+private:
+ FacilityInterface * facilityEngine;
+ std::vector<uint64_t> m_values;
+};
+}
+
+#endif
diff --git a/plugins/Themes/Oxygen2/documentation.dox b/plugins/Themes/Oxygen2/documentation.dox
new file mode 100755
index 0000000..d94ce0b
--- /dev/null
+++ b/plugins/Themes/Oxygen2/documentation.dox
@@ -0,0 +1,31 @@
+/* -*- mode: C++ ; c-file-style: "stroustrup" -*- **/
+
+/*
+ This file contains NO source code, just some documentation for doxygen to
+ parse.
+*/
+
+/*!
+ \mainpage Oxygen
+
+ \section mainpage_overview Overview
+
+ It's the default interface for Ultracopier.\n
+ More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>.
+
+ \section mainpage_platforms Platforms
+
+ Ultracopier might be usable in all environments where you find Qt 5.\n
+ Ultracopier requires Qt 5.0 or newer. Tested on Qt 5.0.
+
+ \section mainpage_downloads Downloads
+
+ You can find the link on <a href="http://ultracopier.first-world.info/">Ultracopier</a> project page, via git, snapshot sources, ...
+
+ \section license GPL Version 3
+ The code source is under GPL3. The image is extacted from Oxygen icon pack of KDE4.\n
+ resources/export-transfer-list.png and resources/import-transfer-list.png done by png manipulation of KDE's oxygen icon pack (16x16/actions/format-indent-more.png + 16x16/actions/format-list-unordered.png), document-save.png -> all SystemTrayIcon/systray_* (color alteration).\n
+ From 16x16/actions/: list-add.png -> add.png and SystemTrayIcon/add.png, process-stop.png -> remove.png, document-save.png -> main.png and, arrow-down.png -> moveDown.png, arrow-up.png -> moveUp.png, system-shutdown.png -> cancel.png and SystemTrayIcon/exit.png, arrow-down-double.png -> putOnBottom.png, arrow-up-double.png -> putOnTop.png, media-skip-forward.png -> player_end.png, media-playback-pause.png -> player_pause.png, media-playback-start.png -> player_play.png, document-preview.png -> search.png, help-about.png -> SystemTrayIcon/informations.png \n
+ And 16x16/categories/applications-development.png -> SystemTrayIcon/options.png
+
+*/
diff --git a/plugins/Themes/Oxygen2/fileTree.cpp b/plugins/Themes/Oxygen2/fileTree.cpp
new file mode 100755
index 0000000..501657c
--- /dev/null
+++ b/plugins/Themes/Oxygen2/fileTree.cpp
@@ -0,0 +1,149 @@
+/***********************************************************************
+* Copyright 2003-2004 Max Howell <max.howell@methylblue.com>
+* Copyright 2008-2009 Martin Sandsmark <martin.sandsmark@kde.org>
+* Copyright 2017 Harald Sitter <sitter@kde.org>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+***********************************************************************/
+
+#include "fileTree.h"
+
+FacilityInterface *File::facilityEngine=NULL;
+
+#include <QDir>
+#include <QUrl>
+
+QString File::displayName() const {
+ const QString decodedName = QString::fromStdString(m_name);
+ return url().isLocalFile() ? QDir::toNativeSeparators(decodedName) : decodedName;
+}
+
+QString File::displayPath(const Folder *root) const
+{
+ // Use QUrl to sanitize the path for display and then run it through
+ // QDir to make sure we use native path separators.
+ const QUrl url = this->url(root);
+ const QString cleanPath = url.toDisplayString(QUrl::PreferLocalFile | QUrl::NormalizePathSegments);
+ return url.isLocalFile() ? QDir::toNativeSeparators(cleanPath) : cleanPath;
+}
+
+QUrl File::url(const Folder *root) const
+{
+ QString path;
+
+ if (root == this)
+ root = nullptr; //prevent returning empty string when there is something we could return
+
+ for (const Folder *d = (Folder*)this; d != root && d; d = d->parent()) {
+ const QString &name=QString::fromStdString(d->name());
+ if(!name.isEmpty() && !path.isEmpty())
+ path.prepend(QDir::separator());
+ path.prepend(name);
+ }
+
+ return path;
+}
+
+void Folder::append(File *p)
+{
+ if(p->isFolder())
+ {
+ folders[p->name()]=static_cast<Folder *>(p);
+ Folder *d = this;
+ while(d != nullptr) {
+ d->m_children+=static_cast<Folder *>(p)->children();
+ d->m_size += p->size();
+ d=d->m_parent;
+ }
+ }
+ else
+ {
+ onlyFiles.push_back(p);
+ Folder *d = this;
+ while(d != nullptr) {
+ /*if(p->isFolder())
+ d->m_children+=static_cast<Folder *>(p)->children();
+ else*/
+ d->m_children++;
+ d->m_size += p->size();
+ d=d->m_parent;
+ }
+ }
+}
+
+///appends a Folder
+void Folder::append(Folder *d, const std::string &name)
+{
+ if (!name.empty())
+ m_name=name;
+
+ //do into append() m_children += d->children(); //doesn't include the dir itself
+ d->m_parent = this;
+ append((File*)d); //will add 1 to filecount for the dir itself
+}
+
+void Folder::append(Folder *d)
+{
+ //do into append() m_children += d->children(); //doesn't include the dir itself
+ d->m_parent = this;
+ append((File*)d); //will add 1 to filecount for the dir itself
+}
+
+///appends a File
+void Folder::append(const std::string &name, uint64_t size)
+{
+ append(new File(name, size, this));
+}
+
+/// removes a file
+void Folder::remove(const File *f) {
+ bool found=false;
+ uint64_t sizeToRemove=0;
+ uint64_t childToRemove=0;
+ for(const auto& n : folders)
+ {
+ Folder * folder=n.second;
+ if(f==folder)
+ {
+ sizeToRemove+=f->size();
+ childToRemove+=static_cast<const Folder *>(f)->children();
+ found=true;
+ break;
+ }
+ }
+ if(!found)
+ {
+ for (unsigned int i = 0; i < onlyFiles.size();)
+ {
+ if(onlyFiles.at(i)==f)
+ {
+ delete f;
+ sizeToRemove+=f->size();
+ childToRemove++;
+ break;
+ }
+ else
+ i++;
+ }
+ }
+ Folder *d = this;
+ while(d != nullptr) {
+ d->m_size -= sizeToRemove;
+ d->m_children-=childToRemove;
+ d=d->m_parent;
+ }
+}
diff --git a/plugins/Themes/Oxygen2/fileTree.h b/plugins/Themes/Oxygen2/fileTree.h
new file mode 100755
index 0000000..e0ea1c7
--- /dev/null
+++ b/plugins/Themes/Oxygen2/fileTree.h
@@ -0,0 +1,133 @@
+/***********************************************************************
+* Copyright 2003-2004 Max Howell <max.howell@methylblue.com>
+* Copyright 2008-2009 Martin Sandsmark <martin.sandsmark@kde.org>
+* Copyright 2017 Harald Sitter <sitter@kde.org>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+***********************************************************************/
+
+#ifndef FILETREE_H
+#define FILETREE_H
+
+#include <QByteArray> //qstrdup
+#include <QFile> //decodeName()
+#include <QLocale>
+#include <unordered_map>
+#include <string>
+
+#include <stdlib.h>
+#include "../../../interface/FacilityInterface.h"
+
+class Folder;
+
+class File
+{
+public:
+ friend class Folder;
+ static FacilityInterface *facilityEngine;
+
+public:
+ File(const std::string &name, uint64_t size) : m_parent(nullptr), m_name(name), m_size(size) {}
+ File(const std::string &name, uint64_t size, Folder * parent) : m_parent(parent), m_name(name), m_size(size) {}
+ virtual ~File() {
+ }
+
+ Folder *parent() const {
+ return m_parent;
+ }
+
+ /** Do not use for user visible strings. Use name instead. */
+ const std::string name() const {
+ return m_name;
+ }
+ void setName(const std::string &name) {
+ m_name=name;
+ }
+ /** Decoded name. Use when you need a QString. */
+ QString decodedName() const {
+ return QString::fromStdString(m_name);
+ }
+ /**
+ * Human readable name (including native separators where applicable).
+ * Only use for display.
+ */
+ QString displayName() const;
+
+ uint64_t size() const {
+ return m_size;
+ }
+
+ virtual bool isFolder() const {
+ return false;
+ }
+
+ /**
+ * Human readable path for display (including native separators where applicable.
+ * Only use for display.
+ */
+ QString displayPath(const Folder * = nullptr) const;
+ QString humanReadableSize() const {
+ return QString::fromStdString(facilityEngine->sizeToString(m_size));
+ }
+
+ /** Builds a complete QUrl by walking up to root. */
+ QUrl url(const Folder *root = nullptr) const;
+
+protected:
+ File(const char *name, uint64_t size, Folder *parent) : m_parent(parent), m_name(qstrdup(name)), m_size(size) {}
+
+ Folder *m_parent; //0 if this is treeRoot
+ std::string m_name;//speed boost with std::string in compare with char * due to string size defined without read all
+ uint64_t m_size; //in Bytes
+
+private:
+ File(const File&);
+ void operator=(const File&);
+};
+
+
+class Folder : public File
+{
+public:
+ Folder(const std::string &name) : File(name, 0), m_children(0) {} //DON'T pass the full path!
+
+ uint children() const {
+ return m_children;
+ }
+ bool isFolder() const override {
+ return true;
+ }
+
+ ///appends a Folder
+ void append(Folder *d, const std::string &name);
+ void append(Folder *d);
+ ///appends a File
+ void append(const std::string &name, uint64_t size);
+ /// removes a file
+ void remove(const File *f);
+ std::unordered_map<std::string,Folder *> folders;
+ std::vector<File *> onlyFiles;
+private:
+ void append(File *p);
+
+ uint m_children;
+private:
+ Folder(const Folder&); //undefined
+ void operator=(const Folder&); //undefined
+};
+
+#endif
diff --git a/plugins/Themes/Oxygen2/informations.xml b/plugins/Themes/Oxygen2/informations.xml
new file mode 100755
index 0000000..d4ada14
--- /dev/null
+++ b/plugins/Themes/Oxygen2/informations.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<package>
+ <title xml:lang="en"><![CDATA[Oxygen2 style for Ultracopier]]></title><!-- english is required -->
+ <title xml:lang="fr"><![CDATA[Style oxygen2 pour Ultracopier]]></title>
+ <!-- What kind of plugin this is -->
+ <category>Themes</category>
+ <!-- Who wrote this plugin -->
+ <author><![CDATA[BRULE Herman, alpha_one_x86 (alpha_one_x86@first-world.info)]]></author>
+ <!-- URL of page or site for this plugin (may provide additional information, bug reports, feature requests). -->
+ <website xml:lang="en"><![CDATA[http://ultracopier.first-world.info/]]></website><!-- not required -->
+ <website xml:lang="fr"><![CDATA[http://ultracopier-fr.first-world.info/]]></website><!-- not required -->
+ <!-- the date-time format should be in timestamps format -->
+ <pubDate>1287496800</pubDate>
+ <!-- the architecture code of this plugin, found PlatformMacro.h into ultracopier source -->
+ <architecture>windows-x86</architecture>
+ <!-- Detailed description -->
+ <description xml:lang="en"><![CDATA[Oxygen2 style for Ultracopier]]></description>
+ <description xml:lang="fr"><![CDATA[Style oxygen2 pour Ultracopier]]></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.4</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>Oxygen2</name>
+ <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. -->
+ <dependencies><![CDATA[
+ ]]></dependencies>
+</package>
diff --git a/plugins/Themes/Oxygen2/interface.cpp b/plugins/Themes/Oxygen2/interface.cpp
new file mode 100755
index 0000000..13ec028
--- /dev/null
+++ b/plugins/Themes/Oxygen2/interface.cpp
@@ -0,0 +1,1995 @@
+/** \file interface.cpp
+\brief Define the interface core
+\author alpha_one_x86 */
+
+#include <QMessageBox>
+#include <QMimeData>
+#include <QScrollArea>
+#include <QColorDialog>
+#include <QRect>
+#include <QPainter>
+#include <QDebug>
+#include <cmath>
+#include <chrono>
+#include <ctime>
+#ifdef Q_OS_WIN32
+#include <windows.h>
+#endif
+
+#define ULTRACOPIERO2_MAXREMAININGTIMECOL 10
+#define ULTRACOPIERO2_MAXVALUESPEEDSTORED 5
+
+#include "interface.h"
+#include "ui_interface.h"
+#include "ThemesFactory.h"
+#include "ProgressBarDark.h"
+
+QIcon Themes::player_play;
+QIcon Themes::player_pause;
+QIcon Themes::tempExitIcon;
+QIcon Themes::editDelete;
+QIcon Themes::skinIcon;
+QIcon Themes::editFind;
+QIcon Themes::documentOpen;
+QIcon Themes::documentSave;
+QIcon Themes::listAdd;
+bool Themes::iconLoaded=false;
+
+Themes::Themes(const bool &alwaysOnTop,
+ const bool &showProgressionInTheTitle,
+ const QColor &progressColorWrite,
+ const QColor &progressColorRead,
+ const QColor &progressColorRemaining,
+ const bool &showDualProgression,
+ const quint8 &comboBox_copyEnd,
+ const bool &speedWithProgressBar,
+ const qint32 &currentSpeed,
+ const bool &checkBoxShowSpeed,
+ FacilityInterface * facilityEngine,
+ const bool &moreButtonPushed,
+ const bool &minimizeToSystray,
+ const bool &startMinimized,
+ const quint8 &position,
+ const bool &dark) :
+ duration(0),
+ durationStarted(false),
+ ui(new Ui::interfaceCopy()),
+ uiOptions(new Ui::themesOptions()),
+ currentFile(0),
+ totalFile(0),
+ currentSize(0),
+ totalSize(0),
+ getOldProgression(0),
+ sysTrayIcon(NULL),
+ menu(NULL),
+ action(Ultracopier::EngineActionInProgress::Idle),
+ currentSpeed(0),
+ storeIsInPause(false),
+ modeIsForced(false),
+ type(Ultracopier::CopyType::FileAndFolder),
+ mode(Ultracopier::CopyMode::Copy),
+ haveStarted(false),
+ haveError(false)
+ #ifdef Q_OS_WIN32
+ ,winTaskbarProgress(this)
+ #endif
+{
+ darkUi=dark;
+ this->facilityEngine=facilityEngine;
+ File::facilityEngine=facilityEngine;
+ ui->setupUi(this);
+ uiOptions->setupUi(ui->optionsTab);
+
+ m_havePause=false;
+ currentFile = 0;
+ totalFile = 0;
+ currentSize = 0;
+ totalSize = 0;
+ getOldProgression = 200;
+ haveError = false;
+ stat = status_never_started;
+ modeIsForced = false;
+ haveStarted = false;
+ storeIsInPause = false;
+ durationStarted = false;
+ if(startMinimized)
+ this->showMinimized();
+
+ this->progressColorWrite = progressColorWrite;
+ this->progressColorRead = progressColorRead;
+ this->progressColorRemaining= progressColorRemaining;
+ this->currentSpeed = currentSpeed;
+ uiOptions->showProgressionInTheTitle->setChecked(showProgressionInTheTitle);
+ uiOptions->speedWithProgressBar->setChecked(speedWithProgressBar);
+ uiOptions->showDualProgression->setChecked(showDualProgression);
+ uiOptions->startMinimized->setEnabled(false);
+ uiOptions->alwaysOnTop->setChecked(alwaysOnTop);
+ uiOptions->minimizeToSystray->setChecked(minimizeToSystray);
+ //uiOptions->setupUi(ui->tabWidget->widget(ui->tabWidget->count()-1));
+ uiOptions->labelStartWithMoreButtonPushed->setVisible(false);
+ uiOptions->checkBoxStartWithMoreButtonPushed->setVisible(false);
+ uiOptions->labelSavePosition->setVisible(false);
+ uiOptions->savePosition->setVisible(false);
+ uiOptions->savePosition->setCurrentIndex(position);
+ uiOptions->label_Slider_speed->setVisible(false);
+ uiOptions->SliderSpeed->setVisible(false);
+ uiOptions->label_SpeedMaxValue->setVisible(false);
+ uiOptions->comboBox_copyEnd->setCurrentIndex(comboBox_copyEnd);
+ ui->progressBar->setValue(0);
+ ui->progressBar_2->setValue(0);
+ ui->progressBar_3->setValue(0);
+ ui->progressBar_4->setValue(0);
+ ui->progressBar_5->setValue(0);
+ ui->progressBar_6->setValue(0);
+ speedWithProgressBar_toggled(speedWithProgressBar);
+ QPixmap pixmap(75,20);
+ pixmap.fill(progressColorWrite);
+ uiOptions->progressColorWrite->setIcon(pixmap);
+ pixmap.fill(progressColorRead);
+ uiOptions->progressColorRead->setIcon(pixmap);
+ pixmap.fill(progressColorRemaining);
+ uiOptions->progressColorRemaining->setIcon(pixmap);
+ ui->labelTimeRemaining->setText(QString());
+
+ transferModel.setFacilityEngine(facilityEngine);//need be before ui->TransferList->setModel(&transferModel); due to call of TransferModel::headerData()
+ ui->TransferList->setModel(&transferModel);
+ ui->tabWidget->setCurrentIndex(0);
+ uiOptions->toolBox->setCurrentIndex(0);
+ uiOptions->checkBoxShowSpeed->setChecked(checkBoxShowSpeed);
+ menu=new QMenu(this);
+ ui->add->setMenu(menu);
+
+ //connect the options
+ checkBoxShowSpeed_toggled(uiOptions->checkBoxShowSpeed->isChecked());
+ connect(uiOptions->checkBoxShowSpeed,&QCheckBox::stateChanged,this,&Themes::checkBoxShowSpeed_toggled);
+ connect(uiOptions->speedWithProgressBar,&QCheckBox::stateChanged,this,&Themes::speedWithProgressBar_toggled);
+ connect(uiOptions->showProgressionInTheTitle,&QCheckBox::stateChanged,this,&Themes::updateTitle);
+ connect(uiOptions->showDualProgression,&QCheckBox::stateChanged,this,&Themes::showDualProgression_toggled);
+ connect(uiOptions->progressColorWrite,&QAbstractButton::clicked,this,&Themes::progressColorWrite_clicked);
+ connect(uiOptions->progressColorRead, &QAbstractButton::clicked,this,&Themes::progressColorRead_clicked);
+ connect(uiOptions->progressColorRemaining,&QAbstractButton::clicked,this,&Themes::progressColorRemaining_clicked);
+ connect(uiOptions->alwaysOnTop,&QAbstractButton::clicked,this,&Themes::alwaysOnTop_clickedSlot);
+
+ connect(uiOptions->limitSpeed, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &Themes::uiUpdateSpeed);
+ connect(uiOptions->checkBox_limitSpeed,&QAbstractButton::toggled, this, &Themes::uiUpdateSpeed);
+
+ connect(ui->actionAddFile,&QAction::triggered,this,&Themes::forcedModeAddFile);
+ connect(ui->actionAddFileToCopy,&QAction::triggered,this,&Themes::forcedModeAddFileToCopy);
+ connect(ui->actionAddFileToMove,&QAction::triggered,this,&Themes::forcedModeAddFileToMove);
+ connect(ui->actionAddFolderToCopy,&QAction::triggered,this,&Themes::forcedModeAddFolderToCopy);
+ connect(ui->actionAddFolderToMove,&QAction::triggered,this,&Themes::forcedModeAddFolderToMove);
+ connect(ui->actionAddFolder,&QAction::triggered,this,&Themes::forcedModeAddFolder);
+ connect(ui->exportErrorToTransferList,&QToolButton::triggered,this,&Themes::exportErrorIntoTransferList);
+
+ ui->overall->hide();
+
+ //setup the search part
+ closeTheSearchBox();
+ TimerForSearch = new QTimer(this);
+ TimerForSearch->setInterval(500);
+ TimerForSearch->setSingleShot(true);
+ searchShortcut = new QShortcut(QKeySequence(QKeySequence::Find),this);
+ searchShortcut2 = new QShortcut(QKeySequence(QKeySequence::FindNext),this);
+ searchShortcut3 = new QShortcut(QKeySequence(Qt::Key_Escape),this);
+
+ //connect the search part
+ connect(TimerForSearch, &QTimer::timeout, this, &Themes::hilightTheSearchSlot);
+ connect(searchShortcut, &QShortcut::activated, this, &Themes::searchBoxShortcut);
+ connect(searchShortcut2, &QShortcut::activated, this, &Themes::on_pushButtonSearchNext_clicked);
+ connect(ui->pushButtonCloseSearch, &QPushButton::clicked, this, &Themes::closeTheSearchBox);
+ connect(searchShortcut3, &QShortcut::activated, this, &Themes::closeTheSearchBox);
+
+ //remaining time
+ {
+ int index=0;
+ while(index<ULTRACOPIERO2_MAXREMAININGTIMECOL)
+ {
+ RemainingTimeLogarithmicColumn newEntry;
+ remainingTimeLogarithmicValue.push_back(newEntry);
+ index++;
+ }
+ }
+
+ //reload directly untranslatable text
+ newLanguageLoaded();
+
+ //unpush the more button
+ ui->moreButton->setChecked(moreButtonPushed);
+ on_moreButton_toggled(moreButtonPushed);
+
+ /// \note important for drag and drop, \see dropEvent()
+ setAcceptDrops(true);
+
+ const QString themePath=":/Themes/Oxygen2/";
+
+ // try set the OS icon
+ if(!iconLoaded)
+ {
+ iconLoaded=true;
+ tempExitIcon=QIcon::fromTheme(QStringLiteral("application-exit"));
+ editDelete=QIcon::fromTheme(QStringLiteral("edit-delete"));
+ player_pause=QIcon::fromTheme(QStringLiteral("media-playback-pause"));
+ if(player_pause.isNull())
+ player_pause=QIcon(themePath+QStringLiteral("resources/player_pause.png"));
+ player_play=QIcon::fromTheme(QStringLiteral("media-playback-play"));
+ if(player_play.isNull())
+ player_play=QIcon(themePath+QStringLiteral("resources/player_play.png"));
+ skinIcon=QIcon::fromTheme(QStringLiteral("media-skip-forward"));
+ editFind=QIcon::fromTheme(QStringLiteral("edit-find"));
+ documentOpen=QIcon::fromTheme(QStringLiteral("document-open"));
+ documentSave=QIcon::fromTheme(QStringLiteral("document-save"));
+ listAdd=QIcon::fromTheme(QStringLiteral("list-add"));
+ }
+ if(!tempExitIcon.isNull())
+ {
+ ui->cancelButton->setIcon(tempExitIcon);
+ ui->pushButtonCloseSearch->setIcon(tempExitIcon);
+ ui->shutdown->setIcon(tempExitIcon);
+ }
+ if(!editDelete.isNull())
+ ui->del->setIcon(editDelete);
+ if(!player_pause.isNull())
+ ui->pauseButton->setIcon(player_pause);
+ if(!skinIcon.isNull())
+ ui->skipButton->setIcon(skinIcon);
+ if(!editFind.isNull())
+ ui->searchButton->setIcon(editFind);
+ if(!documentOpen.isNull())
+ ui->importTransferList->setIcon(documentOpen);
+ if(!documentSave.isNull())
+ {
+ ui->exportTransferList->setIcon(documentSave);
+ ui->exportErrorToTransferList->setIcon(documentSave);
+ }
+ if(!listAdd.isNull())
+ {
+ ui->add->setIcon(listAdd);
+ ui->actionAddFile->setIcon(listAdd);
+ ui->actionAddFileToCopy->setIcon(listAdd);
+ ui->actionAddFileToMove->setIcon(listAdd);
+ ui->actionAddFolder->setIcon(listAdd);
+ ui->actionAddFolderToCopy->setIcon(listAdd);
+ ui->actionAddFolderToMove->setIcon(listAdd);
+ }
+ #ifdef Q_OS_WIN32
+ pixmapTop=QPixmap(themePath+QStringLiteral("resources/SystemTrayIcon/systray_Uncaught_Windows.png"));
+ pixmapBottom=QPixmap(themePath+QStringLiteral("resources/SystemTrayIcon/systray_Caught_Windows.png"));
+ #else
+ pixmapTop=QPixmap(themePath+QStringLiteral("resources/SystemTrayIcon/systray_Uncaught_Unix.png"));
+ pixmapBottom=QPixmap(themePath+QStringLiteral("resources/SystemTrayIcon/systray_Caught_Unix.png"));
+ #endif
+
+ shutdown=facilityEngine->haveFunctionality("shutdown");
+ ui->shutdown->setVisible(shutdown);
+ radial=new RadialMap::Widget(dark,this);
+ ui->verticalLayouMiddle->addWidget(radial);
+
+ chartarea=new ChartArea::Widget(facilityEngine,this);
+ ui->verticalLayoutRight->insertWidget(0,chartarea);
+
+ selectionModel=ui->TransferList->selectionModel();
+
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ connect(&transferModel,&TransferModel::debugInformation,this,&Themes::debugInformation);
+ #endif
+
+ updateSpeed();
+ alwaysOnTop_clicked(false);
+ /*#ifdef Q_OS_WIN32
+ uiOptions->labelAlwaysOnTop->hide();
+ uiOptions->alwaysOnTop->hide();
+ #endif*/
+ QString ultimateUrl;
+ if(facilityEngine->isUltimate())
+ ui->ad_ultimate->hide();
+ else
+ {
+ ultimateUrl=QString::fromStdString(facilityEngine->ultimateUrl());
+ if(ultimateUrl.isEmpty())
+ ui->ad_ultimate->hide();
+ else
+ ui->ad_ultimate->setText(
+ QStringLiteral("<a href=\"%1\">%2</a>").arg(ultimateUrl).arg(tr("Buy the Ultimate version to fund development"))+", "
+ +QStringLiteral("Follow us: ")+QStringLiteral("<a href=\"%1\"><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABnRSTlMAAAAAAABupgeRAAAAe0lEQVR4AWOAAPesxQQRUBlCNZEIu+qIjSfPvvn45c/f//////17vLxrJrIsugan3i3HoUq/fPj46c27gwWts/FpsF1x5O2/f////z5+th0uiFNDyb3n/1HBx0+LAwsWUaIB00krj7wHqfx94HgbXJBUDaMaSE58JCdvAAioiiB5mraWAAAAAElFTkSuQmCC\"/></a>").arg("https://www.facebook.com/Ultracopier/")
+ );
+ }
+
+ sysTrayIcon = new QSystemTrayIcon(this);
+ connect(sysTrayIcon,&QSystemTrayIcon::activated,this,&Themes::catchAction);
+ #ifdef Q_OS_WIN32
+ winTaskbarProgress.show();
+ #endif
+
+ verticalLabel=new VerticalLabel();
+ verticalLabel->setText(QString::fromStdString(facilityEngine->speedToString(50*1000*1000)));
+ ui->verticalLayoutVL->insertWidget(0,verticalLabel);
+
+ if(darkUi)
+ {
+ if(ultimateUrl.isEmpty())
+ ui->ad_ultimate->hide();
+ else
+ ui->ad_ultimate->setText(
+ QStringLiteral("<a href=\"%1\"><span style=\"color:#cdf;\">%2</span></a>").arg(ultimateUrl).arg(tr("Buy the Ultimate version to fund development"))+", "
+ +QStringLiteral("<span style=\"color:#fff;\">Follow us:</span> ")+QStringLiteral("<a href=\"%1\"><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABnRSTlMAAAAAAABupgeRAAAAe0lEQVR4AWOAAPesxQQRUBlCNZEIu+qIjSfPvvn45c/f//////17vLxrJrIsugan3i3HoUq/fPj46c27gwWts/FpsF1x5O2/f////z5+th0uiFNDyb3n/1HBx0+LAwsWUaIB00krj7wHqfx94HgbXJBUDaMaSE58JCdvAAioiiB5mraWAAAAAElFTkSuQmCC\"/></a>").arg("https://www.facebook.com/Ultracopier/")
+ );
+ //ui->frame->setStyleSheet("#frame{background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgb(70, 70, 70), stop:1 rgb(40, 40, 40));}");
+ ui->labelTimeRemaining->setStyleSheet("color:#fff;");
+ ui->labelSPStart->setStyleSheet("color:#aaa;");
+ ui->labelSPStop->setStyleSheet("color:#aaa;");
+ ui->from_label->setStyleSheet("color:#aaa;");
+ ui->current_file->setStyleSheet("color:#fff;");
+ ui->from->setStyleSheet("color:#fff;");
+ verticalLabel->setColor(QColor(160,160,160));
+
+ //ui->ad_ultimate->setStyleSheet("color:#fff;background-color:rgb(50, 50, 50);");
+
+ QString labelTimeRemaining;
+ labelTimeRemaining+="<html><body style=\"white-space:nowrap;\"><small style=\"color:#aaa\">";
+ labelTimeRemaining+=QString::fromStdString(facilityEngine->translateText("Remaining:"));
+ labelTimeRemaining+="</small>";
+ labelTimeRemaining+=QStringLiteral(" <b>");
+ labelTimeRemaining+=QStringLiteral("&#8734;");
+ labelTimeRemaining+=QStringLiteral("</b></body></html>");
+ ui->labelTimeRemaining->setText(labelTimeRemaining);
+
+ ui->frameS->setStyleSheet("#frameS{border: 1px solid #b0c0f0;} QProgressBar{background-color: rgba(160,180,240,100);border: 0 solid grey; } QProgressBar::chunk {background-color: rgba(160,180,240,200);}");
+
+ int tempIndex=ui->verticalLayoutLeft->indexOf(ui->progressBar_all);
+ progressBar_all=new ProgressBarDark(ui->frameLeft);
+ progressBar_all->setMaximum(ui->progressBar_all->maximum());
+ progressBar_all->setValue(ui->progressBar_all->value());
+ ui->progressBar_all->hide();
+ ui->verticalLayoutLeft->insertWidget(tempIndex,progressBar_all);
+
+ tempIndex=ui->verticalLayoutRight->indexOf(ui->progressBar_file);
+ progressBar_file=new ProgressBarDark(ui->frameRight);
+ progressBar_file->setMaximum(ui->progressBar_file->maximum());
+ progressBar_file->setValue(ui->progressBar_file->value());
+ ui->progressBar_file->hide();
+ ui->verticalLayoutRight->insertWidget(tempIndex,progressBar_file);
+
+ tempIndex=ui->horizontalLayoutLeft->indexOf(ui->moreButton);
+ moreButton=new DarkButton(ui->frameLeft);
+ moreButton->setText(ui->moreButton->text());
+ moreButton->setCheckable(ui->moreButton->isCheckable());
+ moreButton->setMinimumWidth(60);
+ ui->moreButton->hide();
+ ui->horizontalLayoutLeft->insertWidget(tempIndex,moreButton);
+ {
+ QIcon i;
+ i.addFile(QString::fromUtf8(":/Themes/Oxygen/resources/darkmoveUp.png"), QSize(), QIcon::Normal, QIcon::Off);
+ i.addFile(QString::fromUtf8(":/Themes/Oxygen/resources/darkmoveDown.png"), QSize(), QIcon::Normal, QIcon::On);
+ moreButton->setIcon(i);
+ }
+ connect(moreButton,&QPushButton::toggled,ui->moreButton,&QPushButton::toggled);
+
+ tempIndex=ui->horizontalLayoutLeft->indexOf(ui->pauseButton);
+ pauseButton=new DarkButton(ui->frameLeft);
+ pauseButton->setText(ui->pauseButton->text());
+ pauseButton->setCheckable(ui->pauseButton->isCheckable());
+ pauseButton->setMinimumWidth(60);
+ ui->pauseButton->hide();
+ ui->horizontalLayoutLeft->insertWidget(tempIndex,pauseButton);
+ {
+ QIcon i;
+ i.addFile(QString::fromUtf8(":/Themes/Oxygen/resources/darkplayer_pause.png"), QSize(), QIcon::Normal, QIcon::Off);
+ i.addFile(QString::fromUtf8(":/Themes/Oxygen/resources/darkplayer_play.png"), QSize(), QIcon::Normal, QIcon::On);
+ pauseButton->setIcon(i);
+ }
+ connect(pauseButton,&QPushButton::toggled,ui->pauseButton,&QPushButton::toggled);
+ connect(pauseButton,&QPushButton::clicked,ui->pauseButton,&QPushButton::clicked);
+
+ tempIndex=ui->horizontalLayoutRight->indexOf(ui->skipButton);
+ skipButton=new DarkButton(ui->frameLeft);
+ skipButton->setText(ui->skipButton->text());
+ skipButton->setCheckable(ui->skipButton->isCheckable());
+ skipButton->setMinimumWidth(60);
+ ui->skipButton->hide();
+ ui->horizontalLayoutRight->insertWidget(tempIndex,skipButton);
+ {
+ QIcon i;
+ i.addFile(QString::fromUtf8(":/Themes/Oxygen/resources/darkplayer_end.png"));
+ skipButton->setIcon(i);
+ }
+ connect(skipButton,&QPushButton::toggled,ui->skipButton,&QPushButton::toggled);
+ connect(skipButton,&QPushButton::clicked,ui->skipButton,&QPushButton::clicked);
+
+ tempIndex=ui->horizontalLayoutRight->indexOf(ui->cancelButton);
+ cancelButton=new DarkButton(ui->frameLeft);
+ cancelButton->setText(ui->cancelButton->text());
+ cancelButton->setCheckable(ui->cancelButton->isCheckable());
+ cancelButton->setMinimumWidth(60);
+ ui->cancelButton->hide();
+ ui->horizontalLayoutRight->insertWidget(tempIndex,cancelButton);
+ {
+ QIcon i;
+ i.addFile(QString::fromUtf8(":/Themes/Oxygen/resources/cancelDarkE.png"));
+ cancelButton->setIcon(i);
+ }
+ connect(cancelButton,&QPushButton::toggled,ui->cancelButton,&QPushButton::toggled);
+ connect(cancelButton,&QPushButton::clicked,ui->cancelButton,&QPushButton::clicked);
+
+ #if defined(__EMSCRIPTEN__) && defined(ULTRACOPIER_LITTLE_RANDOM)
+ cancelButton->setEnabled(false);
+ #endif
+ }
+ else
+ {
+ progressBar_all=nullptr;
+ progressBar_file=nullptr;
+
+ moreButton=nullptr;
+ pauseButton=nullptr;
+ skipButton=nullptr;
+ cancelButton=nullptr;
+ #if defined(__EMSCRIPTEN__) && defined(ULTRACOPIER_LITTLE_RANDOM)
+ ui->cancelButton->setEnabled(false);
+ #endif
+ }
+ isInPause(false);
+ showDualProgression_toggled(showDualProgression);
+
+ show();
+}
+
+Themes::~Themes()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ //disconnect(ui->actionAddFile);
+ //disconnect(ui->actionAddFolder);
+ if(progressBar_all!=nullptr)
+ delete progressBar_all;
+ if(progressBar_file!=nullptr)
+ delete progressBar_file;
+ if(moreButton!=nullptr)
+ delete moreButton;
+ if(pauseButton!=nullptr)
+ delete pauseButton;
+ if(skipButton!=nullptr)
+ delete skipButton;
+ if(cancelButton!=nullptr)
+ delete cancelButton;
+ delete radial;
+ delete selectionModel;
+ delete menu;
+ delete sysTrayIcon;
+}
+
+QWidget * Themes::getOptionsEngineWidget()
+{
+ return &optionEngineWidget;
+}
+
+void Themes::getOptionsEngineEnabled(const bool &isEnabled)
+{
+ if(isEnabled)
+ {
+ QScrollArea *scrollArea=new QScrollArea(ui->tabWidget);
+ scrollArea->setWidgetResizable(true);
+ scrollArea->setWidget(&optionEngineWidget);
+ ui->tabWidget->addTab(scrollArea,QString::fromStdString(facilityEngine->translateText("Copy engine")));
+ }
+}
+
+void Themes::closeEvent(QCloseEvent *event)
+{
+ event->ignore();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ this->hide();
+ if(uiOptions->minimizeToSystray->isChecked())
+ {
+ updateSysTrayIcon();
+ sysTrayIcon->show();
+ }
+ else
+ emit cancel();
+}
+
+void Themes::updateSysTrayIcon()
+{
+ if(totalSize==0)
+ {
+ sysTrayIcon->setIcon(dynaIcon(0,"-"));
+ return;
+ }
+ quint64 currentNew=currentSize*100;
+ //update systray icon
+ quint16 getVarProgression=currentNew/totalSize;
+ if(getOldProgression!=getVarProgression)
+ {
+ getOldProgression=getVarProgression;
+ sysTrayIcon->setIcon(dynaIcon(getVarProgression));
+ }
+}
+
+void Themes::updateOverallInformation()
+{
+ if(uiOptions->showProgressionInTheTitle->isChecked())
+ updateTitle();
+ ui->overall->setText(tr("File %1/%2, size: %3/%4")
+ .arg(currentFile)
+ .arg(totalFile)
+ .arg(QString::fromStdString(facilityEngine->sizeToString(currentSize)))
+ .arg(QString::fromStdString(facilityEngine->sizeToString(totalSize)))
+ );
+}
+
+void Themes::actionInProgess(const Ultracopier::EngineActionInProgress &action)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"start: "+std::to_string(action));
+ this->action=action;
+ switch(action)
+ {
+ case Ultracopier::Copying:
+ case Ultracopier::CopyingAndListing:
+ if(darkUi)
+ {
+ progressBar_all->setMaximum(65535);
+ progressBar_all->setMinimum(0);
+ }
+ else
+ {
+ ui->progressBar_all->setMaximum(65535);
+ ui->progressBar_all->setMinimum(0);
+ }
+ #ifdef Q_OS_WIN32
+ winTaskbarProgress.setMaximum(65535);
+ winTaskbarProgress.setMinimum(0);
+ #endif
+ break;
+ case Ultracopier::Listing:
+ if(darkUi)
+ {
+ progressBar_all->setMaximum(0);
+ progressBar_all->setMinimum(0);
+ }
+ else
+ {
+ ui->progressBar_all->setMaximum(0);
+ ui->progressBar_all->setMinimum(0);
+ }
+ #ifdef Q_OS_WIN32
+ winTaskbarProgress.setMaximum(0);
+ winTaskbarProgress.setMinimum(0);
+ #endif
+ break;
+ case Ultracopier::Idle:
+ #ifdef Q_OS_WIN32
+ winTaskbarProgress.setMaximum(65535);
+ winTaskbarProgress.setMinimum(0);
+ #endif
+ if(darkUi)
+ {
+ progressBar_all->setMaximum(65535);
+ progressBar_all->setMinimum(0);
+ }
+ else
+ {
+ ui->progressBar_all->setMaximum(65535);
+ ui->progressBar_all->setMinimum(0);
+ }
+ if(haveStarted && transferModel.rowCount()<=0)
+ {
+ if(shutdown && ui->shutdown->isChecked())
+ {
+ facilityEngine->callFunctionality("shutdown");
+ return;
+ }
+ switch(uiOptions->comboBox_copyEnd->currentIndex())
+ {
+ case 2:
+ emit cancel();
+ break;
+ case 0:
+ if(!haveError)
+ emit cancel();
+ else
+ ui->tabWidget->setCurrentWidget(ui->tab_error);
+ break;
+ default:
+ break;
+ }
+ stat = status_stopped;
+ if(durationStarted)
+ {
+ Ultracopier::TimeDecomposition time=facilityEngine->secondsToTimeDecomposition(
+ (std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count()-
+ duration)
+ /1000);
+ ui->labelTimeRemaining->setText(QStringLiteral("<html><body style=\"white-space:nowrap;\">")+
+ QString::fromStdString(facilityEngine->translateText("Completed in %1")).arg(
+ QString::number(time.hour)+QStringLiteral(":")+
+ QString::number(time.minute).rightJustified(2,'0')+
+ QStringLiteral(":")+
+ QString::number(time.second).rightJustified(2,'0')
+ )+QStringLiteral("</body></html>"));
+ }
+ }
+ break;
+ default:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"Very wrong switch case!");
+ break;
+ }
+ switch(action)
+ {
+ case Ultracopier::Copying:
+ case Ultracopier::CopyingAndListing:
+ if(m_havePause)
+ ui->pauseButton->setEnabled(true);
+ if(!durationStarted)
+ {
+ duration=std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
+ durationStarted=true;
+ }
+ haveStarted=true;
+ ui->cancelButton->setText(QString::fromStdString(facilityEngine->translateText("Quit")));
+ updatePause();
+ break;
+ case Ultracopier::Listing:
+ if(m_havePause)
+ ui->pauseButton->setEnabled(false);
+ haveStarted=true;//to close if skip at root folder collision
+ break;
+ case Ultracopier::Idle:
+ if(m_havePause)
+ ui->pauseButton->setEnabled(false);
+ break;
+ default:
+ break;
+ }
+}
+
+void Themes::newFolderListing(const std::string &path)
+{
+ QString newPath=QString::fromStdString(path);
+ if(newPath.size()>(64+3))
+ newPath=newPath.mid(0,32)+QStringLiteral("...")+newPath.mid(newPath.size()-32,32);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ if(action==Ultracopier::Listing)
+ ui->from->setText(newPath);
+}
+
+void Themes::detectedSpeed(const uint64_t &speed)//in byte per seconds
+{
+ /*if(uiOptions->speedWithProgressBar->isChecked())
+ {
+ quint64 tempSpeed=speed;
+ if(tempSpeed>999999999)
+ tempSpeed=999999999;
+ if(tempSpeed>(quint64)ui->progressBarCurrentSpeed->maximum())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"set max speed to: "+std::to_string(tempSpeed));
+ ui->progressBarCurrentSpeed->setMaximum(tempSpeed);
+ }
+ ui->progressBarCurrentSpeed->setValue(tempSpeed);
+ ui->progressBarCurrentSpeed->setFormat(QString::fromStdString(facilityEngine->speedToString(speed)));
+ }
+ else
+ ui->currentSpeed->setText(QString::fromStdString(facilityEngine->speedToString(speed)));*/
+ chartarea->addValue(speed);
+}
+
+void Themes::remainingTime(const int &remainingSeconds)
+{
+ QString labelTimeRemaining;
+ if(darkUi)
+ labelTimeRemaining+="<html><body style=\"white-space:nowrap;\"><small style=\"color:#aaa\">";
+ else
+ labelTimeRemaining+="<html><body style=\"white-space:nowrap;\">";
+ labelTimeRemaining+=QString::fromStdString(facilityEngine->translateText("Remaining:"));
+ if(darkUi)
+ labelTimeRemaining+="</small>";
+ labelTimeRemaining+=QStringLiteral(" <b>");
+ if(remainingSeconds==-1)
+ labelTimeRemaining+=QStringLiteral("&#8734;");
+ else
+ {
+ Ultracopier::TimeDecomposition time=facilityEngine->secondsToTimeDecomposition(remainingSeconds);
+ labelTimeRemaining+=QString::number(time.hour)+QStringLiteral(":")+QString::number(time.minute).rightJustified(2,'0')+QStringLiteral(":")+QString::number(time.second).rightJustified(2,'0');
+ }
+ labelTimeRemaining+=QStringLiteral("</b></body></html>");
+ ui->labelTimeRemaining->setText(labelTimeRemaining);
+}
+
+void Themes::errorDetected()
+{
+ haveError=true;
+}
+
+/// \brief new error
+void Themes::errorToRetry(const std::string &source,const std::string &destination,const std::string &error)
+{
+ ui->errorList->addTopLevelItem(new QTreeWidgetItem(QStringList()
+ << QString::fromStdString(source)
+ << QString::fromStdString(destination)
+ << QString::fromStdString(error)
+ ));
+}
+
+/** \brief support speed limitation */
+void Themes::setSupportSpeedLimitation(const bool &supportSpeedLimitationBool)
+{
+ if(!supportSpeedLimitationBool)
+ {
+ ui->label_Slider_speed->setVisible(false);
+ ui->SliderSpeed->setVisible(false);
+ ui->label_SpeedMaxValue->setVisible(false);
+ uiOptions->labelShowSpeedAsMain->setVisible(false);
+ uiOptions->checkBoxShowSpeed->setVisible(false);
+ }
+ else
+ emit newSpeedLimitation(currentSpeed);
+}
+
+//get information about the copy
+void Themes::setGeneralProgression(const uint64_t &current,const uint64_t &total)
+{
+ currentSize=current;
+ totalSize=total;
+ if(total>0)
+ {
+ int newIndicator=((double)current/total)*65535;
+ if(darkUi)
+ progressBar_all->setValue(newIndicator);
+ else
+ ui->progressBar_all->setValue(newIndicator);
+ #ifdef Q_OS_WIN32
+ winTaskbarProgress.setValue(newIndicator);
+ #endif
+ }
+ else
+ {
+ if(darkUi)
+ progressBar_all->setValue(0);
+ else
+ ui->progressBar_all->setValue(0);
+ #ifdef Q_OS_WIN32
+ winTaskbarProgress.setValue(0);
+ #endif
+ }
+ if(current>0)
+ stat = status_started;
+ updateOverallInformation();
+ if(isHidden())
+ updateSysTrayIcon();
+}
+
+void Themes::setFileProgression(const std::vector<Ultracopier::ProgressionItem> &progressionList)
+{
+ std::vector<Ultracopier::ProgressionItem> progressionListBis=progressionList;
+ transferModel.setFileProgression(progressionListBis);
+ updateCurrentFileInformation();
+}
+
+//edit the transfer list
+/// \todo check and re-enable to selection
+void Themes::getActionOnList(const std::vector<Ultracopier::ReturnActionOnCopyList> &returnActions)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, returnActions.size(): "+std::to_string(returnActions.size()));
+ if(transferModel.tree==NULL)
+ transferModel.tree=new Folder(std::string());
+ std::vector<uint64_t> returnValue=transferModel.synchronizeItems(returnActions);
+ totalFile+=returnValue.front();
+ totalSize+=returnValue.at(1);
+ currentFile+=returnValue.back();
+ if(transferModel.rowCount()==0)
+ {
+ ui->skipButton->setEnabled(false);
+ if(darkUi)
+ {
+ progressBar_all->setValue(65535);
+ progressBar_file->setValue(65535);
+ }
+ else
+ {
+ ui->progressBar_all->setValue(65535);
+ ui->progressBar_file->setValue(65535);
+ }
+ #ifdef Q_OS_WIN32
+ winTaskbarProgress.setValue(65535);
+ #endif
+ currentSize=totalSize;
+ if(isHidden())
+ updateSysTrayIcon();
+ }
+ else
+ ui->skipButton->setEnabled(true);
+ updateOverallInformation();
+ radial->invalidate();
+ radial->create(transferModel.tree);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"transferModel.rowCount(): "+std::to_string(transferModel.rowCount()));
+}
+
+void Themes::setCopyType(const Ultracopier::CopyType &type)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ this->type=type;
+ updateModeAndType();
+}
+
+void Themes::forceCopyMode(const Ultracopier::CopyMode &mode)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ modeIsForced=true;
+ this->mode=mode;
+ if(mode==Ultracopier::Copy)
+ ui->tabWidget->setTabText(0,tr("Copy list"));
+ else
+ ui->tabWidget->setTabText(0,tr("Move list"));
+ updateModeAndType();
+ updateTitle();
+}
+
+void Themes::setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation)
+{
+ ui->exportTransferList->setVisible(transferListOperation & Ultracopier::TransferListOperation_Export);
+ ui->importTransferList->setVisible(transferListOperation & Ultracopier::TransferListOperation_Import);
+}
+
+void Themes::haveExternalOrder()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+// ui->moreButton->toggle();
+}
+
+void Themes::isInPause(const bool &isInPause)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"isInPause: "+std::to_string(isInPause));
+ //resume in auto the pause
+ storeIsInPause=isInPause;
+ updatePause();
+}
+
+/// \brief set have pause
+void Themes::havePause(const bool &havePause)
+{
+ if(darkUi)
+ pauseButton->setEnabled(havePause);
+ else
+ ui->pauseButton->setEnabled(havePause);
+ m_havePause=havePause;
+}
+
+void Themes::updatePause()
+{
+ QPushButton *tempPauseButton=ui->pauseButton;
+ if(darkUi)
+ tempPauseButton=pauseButton;
+ if(storeIsInPause)
+ {
+ if(!darkUi)
+ ui->pauseButton->setIcon(player_play);
+ if(stat == status_started)
+ tempPauseButton->setText(QString::fromStdString(facilityEngine->translateText("Resume")));
+ else
+ tempPauseButton->setText(QString::fromStdString(facilityEngine->translateText("Start")));
+ }
+ else
+ {
+ if(!darkUi)
+ tempPauseButton->setIcon(player_pause);
+ tempPauseButton->setText(QString::fromStdString(facilityEngine->translateText("Pause")));
+ }
+}
+
+void Themes::updateCurrentFileInformation()
+{
+ TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem();
+ if(transfertItem.haveItem)
+ {
+ std::string from=transfertItem.from;
+ std::string::size_type pos=from.rfind('/');
+ if(pos == std::string::npos)
+ {
+ #ifdef Q_OS_WIN32
+ std::string::size_type pos=from.rfind('\\');
+ if(pos != std::string::npos)
+ if(pos < from.size()-1)
+ from=from.substr(0,pos);
+ #endif
+ }
+ else if(pos < from.size()-1)
+ {
+ #ifdef Q_OS_WIN32
+ std::string::size_type pos2=from.rfind('\\');
+ if(pos2 != std::string::npos)
+ {
+ std::string::size_type pos=from.rfind('\\');
+ if(pos != std::string::npos)
+ {
+ if(pos2 < from.size()-1)
+ {
+ if(pos<pos2)
+ from=from.substr(0,pos2);
+ else
+ from=from.substr(0,pos);
+ }
+ }
+ else
+ from=from.substr(0,pos);
+ }
+ else
+ #endif
+ from=from.substr(0,pos);
+ }
+ QString newPath=QString::fromStdString(from);
+ if(newPath.size()>(64+3))
+ newPath=newPath.mid(0,32)+QStringLiteral("...")+newPath.mid(newPath.size()-32,32);
+ ui->from->setText(newPath);
+ newPath=QString::fromStdString(transfertItem.to);
+ if(newPath.size()>(64+3))
+ newPath=newPath.mid(0,32)+QStringLiteral("...")+newPath.mid(newPath.size()-32,32);
+ //ui->to->setText(newPath);
+ ui->current_file->setText(QString::fromStdString(transfertItem.current_file));
+ if(transfertItem.progressBar_read!=-1)
+ {
+ if(darkUi)
+ progressBar_file->setRange(0,65535);
+ else
+ ui->progressBar_file->setRange(0,65535);
+ if(uiOptions->showDualProgression->isChecked())
+ {
+ if(!darkUi)
+ {
+ if(transfertItem.progressBar_read!=transfertItem.progressBar_write)
+ {
+ float permilleread=round((float)transfertItem.progressBar_read/65535*1000)/1000;
+ float permillewrite=permilleread-0.001;
+ ui->progressBar_file->setStyleSheet(QStringLiteral("QProgressBar{border: 1px solid grey;text-align: center;background-color: qlineargradient(spread:pad, x1:%1, y1:0, x2:%2, y2:0, stop:0 %3, stop:1 %4);}QProgressBar::chunk{background-color:%5;}")
+ .arg(permilleread)
+ .arg(permillewrite)
+ .arg(progressColorRemaining.name())
+ .arg(progressColorRead.name())
+ .arg(progressColorWrite.name())
+ );
+ }
+ else
+ ui->progressBar_file->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}")
+ .arg(progressColorRemaining.name())
+ .arg(progressColorWrite.name())
+ );
+ }
+ if(darkUi)
+ progressBar_file->setValue(transfertItem.progressBar_write);
+ else
+ ui->progressBar_file->setValue(transfertItem.progressBar_write);
+ }
+ else
+ {
+ if(darkUi)
+ progressBar_file->setValue((transfertItem.progressBar_read+transfertItem.progressBar_write)/2);
+ else
+ ui->progressBar_file->setValue((transfertItem.progressBar_read+transfertItem.progressBar_write)/2);
+ }
+ }
+ else
+ {
+ if(darkUi)
+ progressBar_file->setRange(0,0);
+ else
+ ui->progressBar_file->setRange(0,0);
+ }
+ }
+ else
+ {
+ ui->from->setText(QStringLiteral(""));
+ //ui->to->setText(QStringLiteral(""));
+ ui->current_file->setText(QStringLiteral("-"));
+ if(haveStarted && transferModel.rowCount()==0)
+ {
+ if(darkUi)
+ progressBar_file->setValue(65535);
+ else
+ ui->progressBar_file->setValue(65535);
+ }
+ else if(!haveStarted)
+ {
+ if(darkUi)
+ progressBar_file->setValue(0);
+ else
+ ui->progressBar_file->setValue(0);
+ }
+ }
+}
+
+
+void Themes::on_putOnTop_clicked()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ selectedItems=selectionModel->selectedRows();
+ std::vector<uint64_t> ids;
+ int index=0;
+ const int &loop_size=selectedItems.size();
+ while(index<loop_size)
+ {
+ ids.push_back(transferModel.data(selectedItems.at(index),Qt::UserRole).toULongLong());
+ index++;
+ }
+ if(ids.size()>0)
+ emit moveItemsOnTop(ids);
+}
+
+void Themes::on_pushUp_clicked()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ selectedItems=selectionModel->selectedRows();
+ std::vector<uint64_t> ids;
+ int index=0;
+ const int &loop_size=selectedItems.size();
+ while(index<loop_size)
+ {
+ ids.push_back(transferModel.data(selectedItems.at(index),Qt::UserRole).toULongLong());
+ index++;
+ }
+ if(ids.size()>0)
+ emit moveItemsUp(ids);
+}
+
+void Themes::on_pushDown_clicked()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ selectedItems=selectionModel->selectedRows();
+ std::vector<uint64_t> ids;
+ int index=0;
+ const int &loop_size=selectedItems.size();
+ while(index<loop_size)
+ {
+ ids.push_back(transferModel.data(selectedItems.at(index),Qt::UserRole).toULongLong());
+ index++;
+ }
+ if(ids.size()>0)
+ emit moveItemsDown(ids);
+}
+
+void Themes::on_putOnBottom_clicked()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ selectedItems=selectionModel->selectedRows();
+ std::vector<uint64_t> ids;
+ int index=0;
+ const int &loop_size=selectedItems.size();
+ while(index<loop_size)
+ {
+ ids.push_back(transferModel.data(selectedItems.at(index),Qt::UserRole).toULongLong());
+ index++;
+ }
+ if(ids.size()>0)
+ emit moveItemsOnBottom(ids);
+}
+
+void Themes::on_del_clicked()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ selectedItems=selectionModel->selectedRows();
+ std::vector<uint64_t> ids;
+ int index=0;
+ const int &loop_size=selectedItems.size();
+ while(index<loop_size)
+ {
+ ids.push_back(transferModel.data(selectedItems.at(index),Qt::UserRole).toULongLong());
+ index++;
+ }
+ if(ids.size()>0)
+ emit removeItems(ids);
+}
+
+void Themes::on_cancelButton_clicked()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ this->hide();
+ emit cancel();
+}
+
+
+void Themes::speedWithProgressBar_toggled(bool checked)
+{
+ (void)checked;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ /*ui->progressBarCurrentSpeed->setVisible(checked);
+ ui->currentSpeed->setVisible(!checked);*/
+}
+
+void Themes::showDualProgression_toggled(bool checked)
+{
+ Q_UNUSED(checked);
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ updateProgressionColorBar();
+}
+
+void Themes::checkBoxShowSpeed_toggled(bool checked)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ Q_UNUSED(checked);
+ updateSpeed();
+}
+
+void Themes::on_SliderSpeed_valueChanged(int value)
+{
+ if(!uiOptions->checkBoxShowSpeed->isChecked())
+ return;
+ switch(value)
+ {
+ case 0:
+ currentSpeed=0;
+ break;
+ case 1:
+ currentSpeed=1024;
+ break;
+ case 2:
+ currentSpeed=1024*4;
+ break;
+ case 3:
+ currentSpeed=1024*16;
+ break;
+ case 4:
+ currentSpeed=1024*64;
+ break;
+ case 5:
+ currentSpeed=1024*128;
+ break;
+ }
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"value: "+std::to_string(value));
+ emit newSpeedLimitation(currentSpeed);
+ updateSpeed();
+}
+
+void Themes::uiUpdateSpeed()
+{
+ if(uiOptions->checkBoxShowSpeed->isChecked())
+ return;
+ if(!uiOptions->checkBox_limitSpeed->isChecked())
+ currentSpeed=0;
+ else
+ currentSpeed=uiOptions->limitSpeed->value();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit newSpeedLimitation"+std::to_string(currentSpeed));
+ emit newSpeedLimitation(currentSpeed);
+}
+
+void Themes::updateSpeed()
+{
+ ui->label_Slider_speed->setVisible(uiOptions->checkBoxShowSpeed->isChecked());
+ ui->SliderSpeed->setVisible(uiOptions->checkBoxShowSpeed->isChecked());
+ ui->label_SpeedMaxValue->setVisible(uiOptions->checkBoxShowSpeed->isChecked());
+ uiOptions->limitSpeed->setVisible(!uiOptions->checkBoxShowSpeed->isChecked());
+ uiOptions->checkBox_limitSpeed->setVisible(!uiOptions->checkBoxShowSpeed->isChecked());
+
+ if(uiOptions->checkBoxShowSpeed->isChecked())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"checked, currentSpeed: "+std::to_string(currentSpeed));
+ uiOptions->limitSpeed->setEnabled(false);
+ if(currentSpeed==0)
+ {
+ ui->SliderSpeed->setValue(0);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->translateText("Unlimited")));
+ }
+ else if(currentSpeed<=1024)
+ {
+ if(currentSpeed!=1024)
+ {
+ currentSpeed=1024;
+ emit newSpeedLimitation(currentSpeed);
+ }
+ ui->SliderSpeed->setValue(1);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*1)));
+ }
+ else if(currentSpeed<=1024*4)
+ {
+ if(currentSpeed!=1024*4)
+ {
+ currentSpeed=1024*4;
+ emit newSpeedLimitation(currentSpeed);
+ }
+ ui->SliderSpeed->setValue(2);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*4)));
+ }
+ else if(currentSpeed<=1024*16)
+ {
+ if(currentSpeed!=1024*16)
+ {
+ currentSpeed=1024*16;
+ emit newSpeedLimitation(currentSpeed);
+ }
+ ui->SliderSpeed->setValue(3);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*16)));
+ }
+ else if(currentSpeed<=1024*64)
+ {
+ if(currentSpeed!=1024*64)
+ {
+ currentSpeed=1024*64;
+ emit newSpeedLimitation(currentSpeed);
+ }
+ ui->SliderSpeed->setValue(4);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*64)));
+ }
+ else
+ {
+ if(currentSpeed!=1024*128)
+ {
+ currentSpeed=1024*128;
+ emit newSpeedLimitation(currentSpeed);
+ }
+ ui->SliderSpeed->setValue(5);
+ ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*128)));
+ }
+ }
+ else
+ {
+ uiOptions->checkBox_limitSpeed->setChecked(currentSpeed>0);
+ if(currentSpeed>0)
+ uiOptions->limitSpeed->setValue(currentSpeed);
+ uiOptions->checkBox_limitSpeed->setEnabled(currentSpeed!=-1);
+ uiOptions->limitSpeed->setEnabled(uiOptions->checkBox_limitSpeed->isChecked());
+ }
+}
+
+void Themes::on_pauseButton_clicked()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ if(storeIsInPause)
+ emit resume();
+ else
+ emit pause();
+}
+
+void Themes::on_skipButton_clicked()
+{
+ TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem();
+ if(transfertItem.haveItem)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"skip at running: "+std::to_string(transfertItem.id));
+ emit skip(transfertItem.id);
+ }
+ else
+ {
+ if(transferModel.rowCount()>1)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"skip at idle: "+std::to_string(transferModel.firstId()));
+ emit skip(transferModel.firstId());
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to skip the transfer, because no transfer running");
+ }
+}
+
+void Themes::updateModeAndType()
+{
+ menu->clear();
+ if(modeIsForced)
+ {
+ menu->addAction(ui->actionAddFile);
+ if(type==Ultracopier::FileAndFolder)
+ menu->addAction(ui->actionAddFolder);
+ }
+ else
+ {
+ menu->addAction(ui->actionAddFileToCopy);
+ menu->addAction(ui->actionAddFileToMove);
+ if(type==Ultracopier::FileAndFolder)
+ {
+ menu->addAction(ui->actionAddFolderToCopy);
+ menu->addAction(ui->actionAddFolderToMove);
+ }
+ }
+}
+
+void Themes::forcedModeAddFile()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ emit userAddFile(mode);
+}
+
+void Themes::forcedModeAddFolder()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ emit userAddFolder(mode);
+}
+
+void Themes::forcedModeAddFileToCopy()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ emit userAddFile(Ultracopier::Copy);
+}
+
+void Themes::forcedModeAddFolderToCopy()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ emit userAddFolder(Ultracopier::Copy);
+}
+
+void Themes::forcedModeAddFileToMove()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ emit userAddFile(Ultracopier::Move);
+}
+
+void Themes::forcedModeAddFolderToMove()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ emit userAddFolder(Ultracopier::Move);
+}
+
+void Themes::newLanguageLoaded()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ if(modeIsForced)
+ forceCopyMode(mode);
+ ui->retranslateUi(this);
+ uiOptions->retranslateUi(this);
+ uiOptions->comboBox_copyEnd->setItemText(0,tr("Don't close if errors are found"));
+ uiOptions->comboBox_copyEnd->setItemText(1,tr("Never close"));
+ uiOptions->comboBox_copyEnd->setItemText(2,tr("Always close"));
+ if(!haveStarted)
+ ui->current_file->setText(tr("File Name, 0KB"));
+ else
+ updateCurrentFileInformation();
+ updateOverallInformation();
+ updateSpeed();
+ if(ui->tabWidget->count()>=4)
+ ui->tabWidget->setTabText(ui->tabWidget->count()-1,
+ QString::fromStdString(facilityEngine->translateText("Copy engine")));
+ on_moreButton_toggled(ui->moreButton->isChecked());
+}
+
+void Themes::on_pushButtonCloseSearch_clicked()
+{
+ closeTheSearchBox();
+}
+
+//close the search box
+void Themes::closeTheSearchBox()
+{
+ currentIndexSearch = -1;
+ ui->lineEditSearch->clear();
+ ui->lineEditSearch->hide();
+ ui->pushButtonSearchPrev->hide();
+ ui->pushButtonSearchNext->hide();
+ ui->pushButtonCloseSearch->hide();
+ ui->searchButton->setChecked(false);
+ hilightTheSearch();
+}
+
+//search box shortcut
+void Themes::searchBoxShortcut()
+{
+/* if(ui->lineEditSearch->isHidden())
+ {*/
+ ui->lineEditSearch->show();
+ ui->pushButtonSearchPrev->show();
+ ui->pushButtonSearchNext->show();
+ ui->pushButtonCloseSearch->show();
+ ui->lineEditSearch->setFocus(Qt::ShortcutFocusReason);
+ ui->searchButton->setChecked(true);
+/* }
+ else
+ closeTheSearchBox();*/
+}
+
+//hilight the search
+void Themes::hilightTheSearch(bool searchNext)
+{
+ int result=transferModel.search(ui->lineEditSearch->text().toStdString(),searchNext);
+ if(ui->lineEditSearch->text().isEmpty())
+ ui->lineEditSearch->setStyleSheet("");
+ else
+ {
+ if(result==-1)
+ ui->lineEditSearch->setStyleSheet(QStringLiteral("background-color: rgb(255, 150, 150);"));
+ else
+ {
+ ui->lineEditSearch->setStyleSheet(QStringLiteral("background-color: rgb(193,255,176);"));
+ ui->TransferList->scrollTo(transferModel.index(result,0));
+ }
+ }
+}
+
+void Themes::hilightTheSearchSlot()
+{
+ hilightTheSearch();
+}
+
+void Themes::on_pushButtonSearchPrev_clicked()
+{
+ int result=transferModel.searchPrev(ui->lineEditSearch->text().toStdString());
+ if(ui->lineEditSearch->text().isEmpty())
+ ui->lineEditSearch->setStyleSheet("");
+ else
+ {
+ if(result==-1)
+ ui->lineEditSearch->setStyleSheet(QStringLiteral("background-color: rgb(255, 150, 150);"));
+ else
+ {
+ ui->lineEditSearch->setStyleSheet(QStringLiteral("background-color: rgb(193,255,176);"));
+ ui->TransferList->scrollTo(transferModel.index(result,0));
+ }
+ }
+}
+
+void Themes::on_pushButtonSearchNext_clicked()
+{
+ hilightTheSearch(true);
+}
+
+void Themes::on_lineEditSearch_returnPressed()
+{
+ hilightTheSearch();
+}
+
+void Themes::on_lineEditSearch_textChanged(QString text)
+{
+ if(text=="")
+ {
+ TimerForSearch->stop();
+ hilightTheSearch();
+ }
+ else
+ TimerForSearch->start();
+}
+
+void Themes::on_moreButton_toggled(bool checked)
+{
+ Q_UNUSED(checked);
+ /*if(checked)
+ this->setMaximumHeight(16777215);
+ else
+ this->setMaximumHeight(130);*/
+ // usefull under windows
+ #if ! defined(__ANDROID__) && ! defined(ANDROID) && ! defined(__ANDROID_API__)
+ this->adjustSize();
+ #endif
+}
+
+/* drag event processing
+
+need setAcceptDrops(true); into the constructor
+need implementation to accept the drop:
+void dragEnterEvent(QDragEnterEvent* event);
+void dragMoveEvent(QDragMoveEvent* event);
+void dragLeaveEvent(QDragLeaveEvent* event);
+*/
+void Themes::dropEvent(QDropEvent *event)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ const QMimeData* mimeData = event->mimeData();
+ if(mimeData->hasUrls())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"hasUrls");
+ std::vector<std::string> urls;
+ unsigned int index=0;
+ foreach (QUrl url, mimeData->urls())
+ {
+ const std::string &urlString=url.toString().toStdString();
+ if(index<99)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,urlString);
+ urls.push_back(urlString);
+ index++;
+ }
+ emit urlDropped(urls);
+ event->acceptProposedAction();
+ }
+}
+
+void Themes::dragEnterEvent(QDragEnterEvent* event)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ // if some actions should not be usable, like move, this code must be adopted
+ const QMimeData* mimeData = event->mimeData();
+ if(mimeData->hasUrls())
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"hasUrls");
+ event->acceptProposedAction();
+ }
+}
+
+void Themes::dragMoveEvent(QDragMoveEvent* event)
+{
+ // if some actions should not be usable, like move, this code must be adopted
+ const QMimeData* mimeData = event->mimeData();
+ if(mimeData->hasUrls())
+ event->acceptProposedAction();
+}
+
+void Themes::dragLeaveEvent(QDragLeaveEvent* event)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ event->accept();
+}
+
+void Themes::on_searchButton_toggled(bool checked)
+{
+ if(checked)
+ searchBoxShortcut();
+ else
+ closeTheSearchBox();
+}
+
+void Themes::on_exportTransferList_clicked()
+{
+ emit exportTransferList();
+}
+
+void Themes::on_importTransferList_clicked()
+{
+ emit importTransferList();
+}
+
+void Themes::progressColorWrite_clicked()
+{
+ QColor color=QColorDialog::getColor(progressColorWrite,this,tr("Select a color"));
+ if(!color.isValid())
+ return;
+ progressColorWrite=color;
+ QPixmap pixmap(75,20);
+ pixmap.fill(progressColorWrite);
+ uiOptions->progressColorWrite->setIcon(pixmap);
+ updateProgressionColorBar();
+}
+
+void Themes::progressColorRead_clicked()
+{
+ QColor color=QColorDialog::getColor(progressColorRead,this,tr("Select a color"));
+ if(!color.isValid())
+ return;
+ progressColorRead=color;
+ QPixmap pixmap(75,20);
+ pixmap.fill(progressColorRead);
+ uiOptions->progressColorRead->setIcon(pixmap);
+ updateProgressionColorBar();
+}
+
+void Themes::progressColorRemaining_clicked()
+{
+ QColor color=QColorDialog::getColor(progressColorRemaining,this,tr("Select a color"));
+ if(!color.isValid())
+ return;
+ progressColorRemaining=color;
+ QPixmap pixmap(75,20);
+ pixmap.fill(progressColorRemaining);
+ uiOptions->progressColorRemaining->setIcon(pixmap);
+ updateProgressionColorBar();
+}
+
+void Themes::alwaysOnTop_clicked(bool reshow)
+{
+ Qt::WindowFlags flags = windowFlags();
+ #ifdef Q_OS_WIN32
+ if(uiOptions->alwaysOnTop->isChecked())
+ SetWindowPos((HWND)this->winId(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
+ else
+ SetWindowPos((HWND)this->winId(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
+ #endif
+ #ifdef Q_OS_LINUX
+ if(uiOptions->alwaysOnTop->isChecked())
+ flags=flags | Qt::X11BypassWindowManagerHint;
+ else
+ flags=flags & ~Qt::X11BypassWindowManagerHint;
+ #endif
+ if(uiOptions->alwaysOnTop->isChecked())
+ flags=flags | Qt::WindowStaysOnTopHint;
+ else
+ flags=flags & ~Qt::WindowStaysOnTopHint;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"uiOptions->alwaysOnTop->isChecked(): "+std::to_string(uiOptions->alwaysOnTop->isChecked())+", flags: "+std::to_string(flags));
+ setWindowFlags(flags);
+ if(reshow)
+ show();
+}
+
+void Themes::alwaysOnTop_clickedSlot()
+{
+ alwaysOnTop_clicked(true);
+}
+
+void Themes::updateProgressionColorBar()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ uiOptions->labelProgressionColor->setVisible(uiOptions->showDualProgression->isChecked());
+ uiOptions->frameProgressionColor->setVisible(uiOptions->showDualProgression->isChecked());
+ if(!darkUi)
+ {
+ if(!uiOptions->showDualProgression->isChecked())
+ {
+ ui->progressBar_all->setStyleSheet(QStringLiteral(""));
+ ui->progressBar_file->setStyleSheet(QStringLiteral(""));
+ //ui->progressBarCurrentSpeed->setStyleSheet(QStringLiteral(""));
+ }
+ else
+ {
+ ui->progressBar_all->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}")
+ .arg(progressColorRemaining.name())
+ .arg(progressColorWrite.name())
+ );
+ ui->progressBar_file->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}")
+ .arg(progressColorRemaining.name())
+ .arg(progressColorWrite.name())
+ );
+ /*ui->progressBarCurrentSpeed->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}")
+ .arg(progressColorRemaining.name())
+ .arg(progressColorWrite.name())
+ );*/
+ }
+ }
+ if(stat==status_never_started)
+ updateCurrentFileInformation();
+}
+
+QString Themes::simplifiedBigNum(const uint64_t &num)
+{
+ if(num<1000)
+ return QString::number(num);
+ else if(num<1000000)
+ return QString::number(num/1000)+QStringLiteral("k");
+ else
+ return QString::number(num/1000000)+QStringLiteral("M");
+}
+
+void Themes::updateTitle()
+{
+ if(uiOptions->showProgressionInTheTitle->isChecked() && totalSize>0)
+ {
+ if(!modeIsForced)
+ this->setWindowTitle(tr("%1 %2% of %3 into %4 files")
+ .arg(QString::fromStdString(facilityEngine->translateText("Transfer")))
+ .arg((currentSize*100)/totalSize)
+ .arg(QString::fromStdString(facilityEngine->sizeToString(totalSize)))
+ .arg(simplifiedBigNum(totalFile))+
+ QStringLiteral(" - ")+
+ QString::fromStdString(facilityEngine->softwareName())
+ );
+ else
+ {
+ if(mode==Ultracopier::Copy)
+ this->setWindowTitle(tr("%1 %2% of %3 into %4 files")
+ .arg(QString::fromStdString(facilityEngine->translateText("Copy")))
+ .arg((currentSize*100)/totalSize)
+ .arg(QString::fromStdString(facilityEngine->sizeToString(totalSize)))
+ .arg(simplifiedBigNum(totalFile))+
+ QStringLiteral(" - ")+
+ QString::fromStdString(facilityEngine->softwareName())
+ );
+ else
+ this->setWindowTitle(tr("%1 %2% of %3 into %4 files")
+ .arg(QString::fromStdString(facilityEngine->translateText("Move")))
+ .arg((currentSize*100)/totalSize)
+ .arg(QString::fromStdString(facilityEngine->sizeToString(totalSize)))
+ .arg(simplifiedBigNum(totalFile))+
+ QStringLiteral(" - ")+
+ QString::fromStdString(facilityEngine->softwareName())
+ );
+ }
+ }
+ else
+ {
+ if(!modeIsForced)
+ this->setWindowTitle(
+ QString::fromStdString(facilityEngine->translateText("Transfer"))+
+ QStringLiteral(" - ")+
+ QString::fromStdString(facilityEngine->softwareName())
+ );
+ else
+ {
+ if(mode==Ultracopier::Copy)
+ this->setWindowTitle(
+ QString::fromStdString(facilityEngine->translateText("Copy"))+
+ QStringLiteral(" - ")+
+ QString::fromStdString(facilityEngine->softwareName())
+ );
+ else
+ this->setWindowTitle(
+ QString::fromStdString(facilityEngine->translateText("Move"))+
+ QStringLiteral(" - ")+
+ QString::fromStdString(facilityEngine->softwareName())
+ );
+ }
+ }
+}
+
+/** \brief Create progessive icon
+
+Do QIcon with top and bottom image mixed and percent writed on it.
+The icon it be search in the style path.
+Do by mongaulois, remake by alpha_one_x86.
+\param percent indique how many percent need be showed, sould be between 0 and 100
+\param text The showed text if needed (optionnal)
+\return QIcon of the final image
+\note Can be used as it: dynaIcon(75,"...")
+*/
+QIcon Themes::dynaIcon(int percent,std::string text) const
+{
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(pixmapTop.isNull() || pixmapBottom.isNull())
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Error loading the icons");
+ #endif
+ if(percent==-1)
+ percent=getOldProgression;
+ if(percent<0)
+ percent=0;
+ if(percent>100)
+ percent=100;
+ //pixmap avec un fond transparent
+ #ifdef Q_OS_WIN32
+ quint8 imageSize=16;
+ #else
+ quint8 imageSize=22;
+ #endif
+ QPixmap resultImage(imageSize,imageSize);
+ resultImage.fill(Qt::transparent);
+ {
+ QPainter painter(&resultImage);
+ #ifndef Q_OS_WIN32
+ QFont font(QStringLiteral("Courier New"),9);
+ font.setBold(true);
+ font.setKerning(true);
+ painter.setFont(font);
+ #endif
+ #ifdef Q_OS_WIN32
+ QFont font(QStringLiteral("Courier New"),8);
+ font.setBold(true);
+ font.setKerning(true);
+ painter.setFont(font);
+ #endif
+
+ //preprocessing the calcul
+ quint8 bottomPixel=(percent*imageSize)/100;
+ quint8 topPixel=imageSize-bottomPixel;
+
+ //top image
+ if(topPixel>0)
+ {
+ QRect target(0, 0, imageSize, topPixel);
+ QRect source(0, 0, imageSize, topPixel);
+ painter.drawPixmap(target, pixmapTop, source);
+ }
+
+ //bottom image
+ if(bottomPixel>0)
+ {
+ QRect target2(0, topPixel, imageSize, bottomPixel);
+ QRect source2(0, topPixel, imageSize, bottomPixel);
+ painter.drawPixmap(target2, pixmapBottom, source2);
+ }
+
+ qint8 textxOffset=0;
+ qint8 textyOffset=0;
+ if(text.empty())
+ {
+ if(percent!=100)
+ text=std::to_string(percent);
+ else
+ {
+ text=":)";
+ #ifdef Q_OS_WIN32
+ textyOffset-=2;
+ #else
+ textyOffset-=1;
+ #endif
+ }
+ }
+ if(text.size()==1)
+ {
+ textxOffset+=3;
+ #ifdef Q_OS_WIN32
+ textxOffset-=1;
+ #endif
+ }
+ else
+ {
+ #ifdef Q_OS_WIN32
+ textxOffset-=1;
+ #endif
+ }
+ #ifndef Q_OS_WIN32
+ textxOffset+=2;
+ textyOffset+=3;
+ #endif
+ painter.setPen(QPen(Qt::black));
+ painter.drawText(3+textxOffset,13+textyOffset,QString::fromStdString(text));
+ painter.setPen(QPen(Qt::white));
+ painter.drawText(2+textxOffset,12+textyOffset,QString::fromStdString(text));
+ }
+ return QIcon(resultImage);
+}
+
+/** \brief For catch an action on the systray icon
+\param reason Why it activated
+*/
+void Themes::catchAction(QSystemTrayIcon::ActivationReason reason)
+{
+ if(reason==QSystemTrayIcon::DoubleClick || reason==QSystemTrayIcon::Trigger)
+ {
+ sysTrayIcon->hide();
+ this->show();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"Double Click detected");
+ }
+ else
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"reason: "+std::to_string(reason));
+}
+
+void Themes::on_exportErrorToTransferList_clicked()
+{
+ emit exportErrorIntoTransferList();
+}
+
+void Themes::resizeEvent(QResizeEvent*)
+{
+ if(!ui->moreButton->isChecked() && (moreButton==NULL || !moreButton->isChecked()))
+ {
+ if(width()<height())
+ {
+ ui->horizontalLayout_3->setDirection(QBoxLayout::TopToBottom);
+ ui->frameLeft->setMaximumHeight(height()/3);
+ ui->frameLeft->setMaximumWidth(1000000);
+ ui->frameMiddle->setMaximumHeight(height()/3);
+ ui->frameMiddle->setMaximumWidth(1000000);
+ ui->frameRight->setMaximumHeight(height()/3);
+ ui->frameRight->setMaximumWidth(1000000);
+ }
+ else
+ {
+ ui->horizontalLayout_3->setDirection(QBoxLayout::LeftToRight);
+ ui->frameLeft->setMaximumHeight(1000000);
+ ui->frameLeft->setMaximumWidth(width()/3);
+ ui->frameMiddle->setMaximumHeight(1000000);
+ ui->frameMiddle->setMaximumWidth(width()/3);
+ ui->frameRight->setMaximumHeight(1000000);
+ ui->frameRight->setMaximumWidth(width()/3);
+ }
+ }
+ else {
+ ui->frameLeft->setMaximumHeight(1000000);
+ ui->frameLeft->setMaximumWidth(1000000);
+ ui->frameMiddle->setMaximumHeight(1000000);
+ ui->frameMiddle->setMaximumWidth(1000000);
+ ui->frameRight->setMaximumHeight(1000000);
+ ui->frameRight->setMaximumWidth(1000000);
+ }
+ if(ui->frameS->width()>300)
+ {
+ int space=ui->frameS->width()/20;
+ ui->horizontalLayoutS->setContentsMargins(space,space/2,space,space/2);
+ ui->horizontalLayoutS->setSpacing(space);
+ }
+ else
+ {
+ ui->horizontalLayoutS->setMargin(6);
+ ui->horizontalLayoutS->setSpacing(6);
+ }
+}
+
+void Themes::doneTime(const std::vector<std::pair<uint64_t,uint32_t> > &timeList)
+{
+ if(remainingTimeLogarithmicValue.size()<ULTRACOPIERO2_MAXREMAININGTIMECOL)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"bug, remainingTimeLogarithmicValue.size() "+std::to_string(remainingTimeLogarithmicValue.size())+" <ULTRACOPIERO2_MAXREMAININGTIMECOL");
+ else
+ {
+ unsigned int sub_index=0;
+ while(sub_index<timeList.size())
+ {
+ const std::pair<uint64_t,uint32_t> &timeUnit=timeList.at(sub_index);
+ const uint8_t &col=fileCatNumber(timeUnit.first);
+ RemainingTimeLogarithmicColumn &remainingTimeLogarithmicColumn=remainingTimeLogarithmicValue[col];
+ if(remainingTimeLogarithmicValue.size()<=col)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"bug, remainingTimeLogarithmicValue.size() "+std::to_string(remainingTimeLogarithmicValue.size())+" < col %2"+std::to_string(col));
+ break;
+ }
+ else
+ {
+ if(timeUnit.second>0)
+ {
+ remainingTimeLogarithmicColumn.lastProgressionSpeed.push_back(static_cast<uint64_t>(timeUnit.first/timeUnit.second)*1000);
+ if(remainingTimeLogarithmicColumn.lastProgressionSpeed.size()>ULTRACOPIERO2_MAXVALUESPEEDSTORED)
+ remainingTimeLogarithmicColumn.lastProgressionSpeed.erase(remainingTimeLogarithmicColumn.lastProgressionSpeed.begin());
+
+ }
+ }
+ sub_index++;
+ }
+ unsigned int max=1;
+ sub_index=0;
+ while(sub_index<remainingTimeLogarithmicValue.size() && sub_index<6)
+ {
+ const RemainingTimeLogarithmicColumn &col=remainingTimeLogarithmicValue.at(sub_index);
+ unsigned int tot=0;
+ unsigned int index=0;
+ while(index<col.lastProgressionSpeed.size())
+ {
+ tot+=col.lastProgressionSpeed.at(index);
+ index++;
+ }
+ unsigned int res=0;
+ if(!col.lastProgressionSpeed.empty())
+ res=tot/col.lastProgressionSpeed.size();
+ if(max<res)
+ max=res;
+ sub_index++;
+ }
+ if(max>1)
+ verticalLabel->setText(QString::fromStdString(facilityEngine->speedToString(max)));
+ sub_index=0;
+ while(sub_index<remainingTimeLogarithmicValue.size() && sub_index<6)
+ {
+ const RemainingTimeLogarithmicColumn &col=remainingTimeLogarithmicValue.at(sub_index);
+ unsigned int tot=0;
+ unsigned int index=0;
+ while(index<col.lastProgressionSpeed.size())
+ {
+ tot+=col.lastProgressionSpeed.at(index);
+ index++;
+ }
+ unsigned int res=0;
+ if(!col.lastProgressionSpeed.empty())
+ res=tot/col.lastProgressionSpeed.size();
+ QProgressBar *p=nullptr;
+ switch (sub_index) {
+ case 0:
+ p=ui->progressBar;
+ break;
+ case 1:
+ p=ui->progressBar_2;
+ break;
+ case 2:
+ p=ui->progressBar_3;
+ break;
+ case 3:
+ p=ui->progressBar_4;
+ break;
+ case 4:
+ p=ui->progressBar_5;
+ break;
+ case 5:
+ p=ui->progressBar_6;
+ break;
+ default:
+ break;
+ }
+ p->setValue(res);
+ p->setMaximum(max);
+ p->setToolTip(QString::fromStdString(facilityEngine->speedToString(res)));
+ sub_index++;
+ }
+ }
+}
+
+/* return 0 to 5 */
+uint8_t Themes::fileCatNumber(uint64_t size)
+{
+ //all is in base 10 to understand more easily
+ //drop the big value
+ if(size>100*1000*1000)
+ size=100*1000*1000;
+ size=size/100;//to group all the too small file into the value 0
+ const double rlog=round(log10(size));
+ if(rlog>5)
+ return 5;
+ return rlog;
+}
+
+void Themes::paintEvent(QPaintEvent * event)
+{
+ if(darkUi)
+ {
+ if(background.width()!=width() || background.height()!=height())
+ {
+ int minimal=height();
+ if(width()<height())
+ minimal=width();
+
+ QPixmap temp(minimal,minimal);
+ QPainter paint;
+ paint.begin(&temp);
+
+ QRadialGradient radialGrad(QPointF(minimal/2,minimal/2), minimal/2);
+ radialGrad.setColorAt(0, QColor(70, 70, 70));
+ radialGrad.setColorAt(1, QColor(40, 40, 40));
+ QRect rect_radial(0,0,minimal,minimal);
+ paint.fillRect(rect_radial, radialGrad);
+ background=temp.scaled(width(),height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
+ }
+ QPainter paint;
+ paint.begin(this);
+ paint.drawPixmap(0,0,background.width(), background.height(), background);
+ }
+ else
+ QWidget::paintEvent(event);
+}
diff --git a/plugins/Themes/Oxygen2/interface.h b/plugins/Themes/Oxygen2/interface.h
new file mode 100755
index 0000000..ab6f101
--- /dev/null
+++ b/plugins/Themes/Oxygen2/interface.h
@@ -0,0 +1,259 @@
+/** \file interface.h
+\brief Define the interface
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef INTERFACE_H
+#define INTERFACE_H
+
+#include <QObject>
+#include <QWidget>
+#include <QMenu>
+#include <QCloseEvent>
+#include <QShortcut>
+#include <QItemSelectionModel>
+#include <QTimer>
+#include <QTime>
+#include <QSystemTrayIcon>
+#include <QPixmap>
+#ifdef Q_OS_WIN32
+#include <QWinTaskbarProgress>
+#endif
+
+#include "../../../interface/PluginInterface_Themes.h"
+#include "radialMap/widget.h"
+#include "chartarea.h"
+#include "ProgressBarDark.h"
+#include "DarkButton.h"
+#include "VerticalLabel.h"
+
+#include "ui_interface.h"
+#include "ui_themesOptions.h"
+#include "Oxygen2Environment.h"
+#include "TransferModel.h"
+
+namespace Ui {
+ class interfaceCopy;
+ class themesOptions;
+}
+
+/// \brief Define the interface
+class Themes : public PluginInterface_Themes
+{
+ Q_OBJECT
+public:
+ Themes(const bool &alwaysOnTop,
+ const bool &showProgressionInTheTitle,
+ const QColor &progressColorWrite,
+ const QColor &progressColorRead,
+ const QColor &progressColorRemaining,
+ const bool &showDualProgression,
+ const quint8 &comboBox_copyEnd,
+ const bool &speedWithProgressBar,
+ const qint32 &currentSpeed,
+ const bool &checkBoxShowSpeed,
+ FacilityInterface * facilityEngine,
+ const bool &moreButtonPushed,
+ const bool &minimizeToSystray,
+ const bool &startMinimized,
+ const quint8 &position,
+ const bool &dark);
+ ~Themes();
+ //send information about the copy
+ /// \brief to set the action in progress
+ void actionInProgess(const Ultracopier::EngineActionInProgress &) override;
+ /// \brief the new folder is listing
+ void newFolderListing(const std::string &path) override;
+ /** \brief show the detected speed
+ * in byte per seconds */
+ void detectedSpeed(const uint64_t &speed) override;
+ /** \brief show the remaining time
+ * time in seconds */
+ void remainingTime(const int &remainingSeconds) override;
+ /// \brief set the current collision action
+ void newCollisionAction(const std::string &action);
+ /// \brief set the current error action
+ void newErrorAction(const std::string &action);
+ /// \brief set one error is detected
+ void errorDetected() override;
+ /// \brief new error
+ void errorToRetry(const std::string &source,const std::string &destination,const std::string &error) override;
+ /** \brief support speed limitation */
+ void setSupportSpeedLimitation(const bool &supportSpeedLimitationBool) override;
+ //get information about the copy
+ /// \brief show the general progression
+ void setGeneralProgression(const uint64_t &current,const uint64_t &total) override;
+ /// \brief show the file progression
+ void setFileProgression(const std::vector<Ultracopier::ProgressionItem> &progressionList) override;
+ /// \brief set the copyType -> file or folder
+ void setCopyType(const Ultracopier::CopyType &) override;
+ /// \brief set the copyMove -> copy or move, to force in copy or move, else support both
+ void forceCopyMode(const Ultracopier::CopyMode &) override;
+ /// \brief set if transfer list is exportable/importable
+ void setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation) override;
+ //edit the transfer list
+ /// \brief get action on the transfer list (add/move/remove)
+ void getActionOnList(const std::vector<Ultracopier::ReturnActionOnCopyList> &returnActions) override;
+ /** \brief set if the order is external (like file manager copy)
+ * to notify the interface, which can hide add folder/filer button */
+ void haveExternalOrder() override;
+ /// to get by file speed, size and ms
+ void doneTime(const std::vector<std::pair<uint64_t,uint32_t> > &timeList) override;
+ /// \brief set if is in pause
+ void isInPause(const bool &) override;
+ /// \brief set if have pause
+ void havePause(const bool &) override;
+ /// \brief get the widget for the copy engine
+ QWidget * getOptionsEngineWidget() override;
+ /// \brief to set if the copy engine is found
+ void getOptionsEngineEnabled(const bool &isEnabled) override;
+ enum status{status_never_started,status_started,status_stopped};
+ status stat;
+
+ static QString simplifiedBigNum(const uint64_t &num);
+public slots:
+ /// \brief set the translate
+ void newLanguageLoaded();
+private slots:
+ void on_putOnTop_clicked();
+ void on_pushUp_clicked();
+ void on_pushDown_clicked();
+ void on_putOnBottom_clicked();
+ void on_del_clicked();
+ void on_cancelButton_clicked();
+ void speedWithProgressBar_toggled(bool checked);
+ void showDualProgression_toggled(bool checked);
+ void checkBoxShowSpeed_toggled(bool checked);
+ void on_SliderSpeed_valueChanged(int value);
+ void on_pauseButton_clicked();
+ void on_skipButton_clicked();
+ void forcedModeAddFile();
+ void forcedModeAddFolder();
+ void forcedModeAddFileToCopy();
+ void forcedModeAddFolderToCopy();
+ void forcedModeAddFileToMove();
+ void forcedModeAddFolderToMove();
+ void uiUpdateSpeed();
+ void on_pushButtonCloseSearch_clicked();
+ //close the search box
+ void closeTheSearchBox();
+ //search box shortcut
+ void searchBoxShortcut();
+ //hilight the search
+ void hilightTheSearch(bool searchNext=false);
+ void hilightTheSearchSlot();
+ //auto connect
+ void on_pushButtonSearchPrev_clicked();
+ void on_pushButtonSearchNext_clicked();
+ void on_lineEditSearch_returnPressed();
+ void on_lineEditSearch_textChanged(QString text);
+ void on_moreButton_toggled(bool checked);
+ void on_searchButton_toggled(bool checked);
+ void on_exportTransferList_clicked();
+ void on_importTransferList_clicked();
+ void progressColorWrite_clicked();
+ void progressColorRead_clicked();
+ void progressColorRemaining_clicked();
+ void alwaysOnTop_clicked(bool reshow);
+ void alwaysOnTop_clickedSlot();
+ void updateProgressionColorBar();
+ void updateTitle();
+ void catchAction(QSystemTrayIcon::ActivationReason reason);
+ void on_exportErrorToTransferList_clicked();
+private:
+ uint64_t duration;
+ bool durationStarted;
+ QPixmap pixmapTop,pixmapBottom;
+ QColor progressColorWrite,progressColorRead,progressColorRemaining;
+ Ui::interfaceCopy *ui;
+ Ui::themesOptions *uiOptions;
+ uint64_t currentFile;
+ uint64_t totalFile;
+ uint64_t currentSize;
+ uint64_t totalSize;
+ uint8_t getOldProgression;
+ QSystemTrayIcon *sysTrayIcon;
+ void updateOverallInformation();
+ void updateCurrentFileInformation();
+ QMenu *menu;
+ Ultracopier::EngineActionInProgress action;
+ void closeEvent(QCloseEvent *event) override;
+ int32_t currentSpeed;///< in KB/s, assume as 0KB/s as default like every where
+ void updateSpeed();
+ bool storeIsInPause;
+ bool modeIsForced;
+ Ultracopier::CopyType type;
+ Ultracopier::CopyMode mode;
+ void updateModeAndType();
+ bool haveStarted;
+ bool haveError;
+ QWidget optionEngineWidget;
+ QShortcut *searchShortcut;
+ QShortcut *searchShortcut2;
+ QShortcut *searchShortcut3;
+ QTimer *TimerForSearch;
+ int currentIndexSearch; ///< Current index search in starting at the end
+ FacilityInterface * facilityEngine;
+ QItemSelectionModel *selectionModel;
+ QModelIndexList selectedItems;
+ /// \brief the custom transfer model
+ TransferModel transferModel;
+ RadialMap::Widget *radial;
+ ChartArea::Widget *chartarea;
+ bool darkUi;
+ bool m_havePause;
+ QPixmap background;
+
+ static QIcon player_play,player_pause,tempExitIcon,editDelete,skinIcon,editFind,documentOpen,documentSave,listAdd;
+ static bool iconLoaded;
+
+ struct RemainingTimeLogarithmicColumn
+ {
+ std::vector<int> lastProgressionSpeed;
+ };
+ /** for RemainingTimeAlgo_Logarithmic **/
+ std::vector<RemainingTimeLogarithmicColumn> remainingTimeLogarithmicValue;
+
+ /** \brief drag event processing
+
+ need setAcceptDrops(true); into the constructor
+ need implementation to accept the drop:
+ void dragEnterEvent(QDragEnterEvent* event);
+ void dragMoveEvent(QDragMoveEvent* event);
+ void dragLeaveEvent(QDragLeaveEvent* event);
+ */
+ void dropEvent(QDropEvent *event) override;
+ /** \brief accept all event to allow the drag and drop
+ \see dropEvent() */
+ void dragEnterEvent(QDragEnterEvent* event) override;
+ /** \brief accept all event to allow the drag and drop
+ \see dropEvent() */
+ void dragMoveEvent(QDragMoveEvent* event) override;
+ /** \brief accept all event to allow the drag and drop
+ \see dropEvent() */
+ void dragLeaveEvent(QDragLeaveEvent* event) override;
+ //have functionality
+ bool shutdown;
+ ProgressBarDark * progressBar_all;
+ ProgressBarDark * progressBar_file;
+ DarkButton * moreButton;
+ DarkButton * pauseButton;
+ DarkButton * skipButton;
+ DarkButton * cancelButton;
+ VerticalLabel *verticalLabel;
+ void updatePause();
+ QIcon dynaIcon(int percent,std::string text="") const;
+ void updateSysTrayIcon();
+ void resizeEvent(QResizeEvent*) override;
+ uint8_t fileCatNumber(uint64_t size);
+ void paintEvent(QPaintEvent *event) override;
+
+ #ifdef Q_OS_WIN32
+ QWinTaskbarProgress winTaskbarProgress;
+ #endif
+signals:
+ /// \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;
+};
+
+#endif // INTERFACE_H
diff --git a/plugins/Themes/Oxygen2/interface.pro b/plugins/Themes/Oxygen2/interface.pro
new file mode 100755
index 0000000..cbd495e
--- /dev/null
+++ b/plugins/Themes/Oxygen2/interface.pro
@@ -0,0 +1,8 @@
+include($$PWD/../Oxygen2/interfaceInclude.pri)
+
+!CONFIG(static) {
+RESOURCES += \
+ $$PWD/../Oxygen2/interfaceResources.qrc \
+ $$PWD/../Oxygen2/interfaceResources_unix.qrc \
+ $$PWD/../Oxygen2/interfaceResources_windows.qrc
+}
diff --git a/plugins/Themes/Oxygen2/interface.ui b/plugins/Themes/Oxygen2/interface.ui
new file mode 100755
index 0000000..dc0b397
--- /dev/null
+++ b/plugins/Themes/Oxygen2/interface.ui
@@ -0,0 +1,1098 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>interfaceCopy</class>
+ <widget class="QWidget" name="interfaceCopy">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>550</width>
+ <height>539</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>550</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string notr="true">Ultracopier</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/main.png</normaloff>:/Themes/Oxygen2/resources/main.png</iconset>
+ </property>
+ <layout class="QVBoxLayout">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="leftMargin">
+ <number>1</number>
+ </property>
+ <property name="topMargin">
+ <number>1</number>
+ </property>
+ <property name="rightMargin">
+ <number>1</number>
+ </property>
+ <property name="bottomMargin">
+ <number>1</number>
+ </property>
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="minimumSize">
+ <size>
+ <width>300</width>
+ <height>100</height>
+ </size>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QFrame" name="frameLeft">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayoutLeft">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayoutVL">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QFrame" name="frameS">
+ <layout class="QHBoxLayout" name="horizontalLayoutS">
+ <item>
+ <widget class="QProgressBar" name="progressBar">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="value">
+ <number>20</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="value">
+ <number>30</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar_3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="value">
+ <number>66</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar_4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="value">
+ <number>75</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar_5">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="value">
+ <number>84</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar_6">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="value">
+ <number>87</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <item>
+ <widget class="QLabel" name="labelSPStart">
+ <property name="text">
+ <string>0</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="labelSPStop">
+ <property name="text">
+ <string>100MB+</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="labelTimeRemaining">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">Remaining: 5min</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar_all">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="maximum">
+ <number>65535</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayoutLeft">
+ <item>
+ <widget class="QPushButton" name="moreButton">
+ <property name="text">
+ <string>&amp;More</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/moveDown.png</normaloff>:/Themes/Oxygen2/resources/moveDown.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pauseButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Pause</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/player_pause.png</normaloff>:/Themes/Oxygen2/resources/player_pause.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frameMiddle">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayouMiddle">
+ <item>
+ <widget class="QLabel" name="overall">
+ <property name="text">
+ <string notr="true">File 0/0, Total: 0KB</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frameRight">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayoutRight">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_9">
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QToolButton" name="shutdown">
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Close on transfer completion</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">background-color: rgba(255, 0, 255, 0);</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/SystemTrayIcon/exit.png</normaloff>:/Themes/Oxygen2/resources/SystemTrayIcon/exit.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <item>
+ <widget class="QLabel" name="from_label">
+ <property name="text">
+ <string>From:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="from">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QLabel" name="current_file">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">File Name, 0KB</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar_file">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="maximum">
+ <number>65535</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayoutRight">
+ <item>
+ <widget class="QPushButton" name="skipButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Skip</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/player_end.png</normaloff>:/Themes/Oxygen2/resources/player_end.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="cancelButton">
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/cancel.png</normaloff>:/Themes/Oxygen2/resources/cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="ad_ultimate">
+ <property name="text">
+ <string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; color:#ff0000;&quot;&gt;Ad or warning here&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::RichText</enum>
+ </property>
+ <property name="openExternalLinks">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="limitSpeedAsMain">
+ <item>
+ <widget class="QLabel" name="label_Slider_speed">
+ <property name="text">
+ <string>Limit copy speed to:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="SliderSpeed">
+ <property name="maximum">
+ <number>5</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_SpeedMaxValue">
+ <property name="text">
+ <string notr="true">Unlimited</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>1</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab_main">
+ <attribute name="title">
+ <string>Transfer list</string>
+ </attribute>
+ <layout class="QHBoxLayout">
+ <item>
+ <layout class="QVBoxLayout">
+ <property name="spacing">
+ <number>1</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="putOnTop">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Move the selected items to the top</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/putOnTop.png</normaloff>:/Themes/Oxygen2/resources/putOnTop.png</iconset>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="pushUp">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Move up the selected items</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/moveUp.png</normaloff>:/Themes/Oxygen2/resources/moveUp.png</iconset>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="pushDown">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Move down the selected items</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/moveDown.png</normaloff>:/Themes/Oxygen2/resources/moveDown.png</iconset>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="putOnBottom">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Move the selected items to the bottom</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/putOnBottom.png</normaloff>:/Themes/Oxygen2/resources/putOnBottom.png</iconset>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="add">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Add file/folder</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/add.png</normaloff>:/Themes/Oxygen2/resources/add.png</iconset>
+ </property>
+ <property name="popupMode">
+ <enum>QToolButton::InstantPopup</enum>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="del">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Delete the selected items</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/remove.png</normaloff>:/Themes/Oxygen2/resources/remove.png</iconset>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="searchButton">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Search</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/search.png</normaloff>:/Themes/Oxygen2/resources/search.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="exportTransferList">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Export the transfer list</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/export-transfer-list.png</normaloff>:/Themes/Oxygen2/resources/export-transfer-list.png</iconset>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="importTransferList">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Import the transfer list</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/import-transfer-list.png</normaloff>:/Themes/Oxygen2/resources/import-transfer-list.png</iconset>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QTreeView" name="TransferList">
+ <property name="selectionMode">
+ <enum>QAbstractItemView::ExtendedSelection</enum>
+ </property>
+ <property name="rootIsDecorated">
+ <bool>false</bool>
+ </property>
+ <property name="uniformRowHeights">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayoutSearch">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="lineEditSearch"/>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButtonSearchPrev">
+ <property name="text">
+ <string>Previous</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButtonSearchNext">
+ <property name="text">
+ <string>Next</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButtonCloseSearch">
+ <property name="minimumSize">
+ <size>
+ <width>25</width>
+ <height>25</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>25</width>
+ <height>25</height>
+ </size>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/remove.png</normaloff>:/Themes/Oxygen2/resources/remove.png</iconset>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_error">
+ <attribute name="title">
+ <string>Error</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QToolButton" name="exportErrorToTransferList">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Export the errors into transfer list</string>
+ </property>
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/export-transfer-list.png</normaloff>:/Themes/Oxygen2/resources/export-transfer-list.png</iconset>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTreeWidget" name="errorList">
+ <property name="selectionMode">
+ <enum>QAbstractItemView::NoSelection</enum>
+ </property>
+ <property name="rootIsDecorated">
+ <bool>false</bool>
+ </property>
+ <property name="uniformRowHeights">
+ <bool>true</bool>
+ </property>
+ <column>
+ <property name="text">
+ <string>Source</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Destination</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Error</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_interface">
+ <attribute name="title">
+ <string>Interface</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QScrollArea" name="optionsTab">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>542</width>
+ <height>249</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ <action name="actionAddFile">
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/add.png</normaloff>:/Themes/Oxygen2/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add file</string>
+ </property>
+ </action>
+ <action name="actionAddFolder">
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/add.png</normaloff>:/Themes/Oxygen2/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add folder</string>
+ </property>
+ </action>
+ <action name="actionAddFileToMove">
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/add.png</normaloff>:/Themes/Oxygen2/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move file(s)</string>
+ </property>
+ </action>
+ <action name="actionAddFolderToMove">
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/add.png</normaloff>:/Themes/Oxygen2/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move folder</string>
+ </property>
+ </action>
+ <action name="actionAddFileToCopy">
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/add.png</normaloff>:/Themes/Oxygen2/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Copy file(s)</string>
+ </property>
+ </action>
+ <action name="actionAddFolderToCopy">
+ <property name="icon">
+ <iconset resource="interfaceResources.qrc">
+ <normaloff>:/Themes/Oxygen2/resources/add.png</normaloff>:/Themes/Oxygen2/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Copy folder</string>
+ </property>
+ </action>
+ </widget>
+ <resources>
+ <include location="interfaceResources.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>moreButton</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>tabWidget</receiver>
+ <slot>setVisible(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>218</x>
+ <y>144</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>149</x>
+ <y>305</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/plugins/Themes/Oxygen2/interfaceInclude.pri b/plugins/Themes/Oxygen2/interfaceInclude.pri
new file mode 100755
index 0000000..354ffb9
--- /dev/null
+++ b/plugins/Themes/Oxygen2/interfaceInclude.pri
@@ -0,0 +1,73 @@
+CONFIG += c++11
+QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra"
+mac:QMAKE_CXXFLAGS+="-stdlib=libc++"
+
+QT += widgets xml
+TEMPLATE = lib
+CONFIG += plugin
+HEADERS = \
+ $$PWD/ThemesFactory.h \
+ $$PWD/StructEnumDefinition.h \
+ $$PWD/DebugEngineMacro.h \
+ $$PWD/Oxygen2Environment.h \
+ $$PWD/Oxygen2Variable.h \
+ $$PWD/../../../interface/PluginInterface_Themes.h \
+ $$PWD/../../../interface/FacilityInterface.h \
+ $$PWD/../../../interface/OptionInterface.h \
+ $$PWD/../../../cpp11addition.h \
+ $$PWD/TransferModel.h \
+ $$PWD/interface.h \
+ $$PWD/chartarea.h \
+ $$PWD/fileTree.h \
+ $$PWD/ProgressBarDark.h \
+ $$PWD/DarkButton.h \
+ $$PWD/VerticalLabel.h \
+ $$PWD/radialMap/map.h \
+ $$PWD/radialMap/widget.h \
+ $$PWD/radialMap/radialMap.h
+
+SOURCES += \
+ $$PWD/chartarea.cpp \
+ $$PWD/fileTree.cpp \
+ $$PWD/ProgressBarDark.cpp \
+ $$PWD/DarkButton.cpp \
+ $$PWD/VerticalLabel.cpp \
+ $$PWD/radialMap/labels.cpp \
+ $$PWD/radialMap/map.cpp \
+ $$PWD/radialMap/widgetEvents.cpp \
+ $$PWD/radialMap/widget.cpp \
+ $$PWD/ThemesFactory.cpp \
+ $$PWD/TransferModel.cpp \
+ $$PWD/interface.cpp \
+ $$PWD/../../../cpp11addition.cpp \
+ $$PWD/../../../cpp11additionstringtointcpp.cpp
+TARGET = $$qtLibraryTarget(interface)
+TRANSLATIONS += \
+ $$PWD/Languages/ar/translation.ts \
+ $$PWD/Languages/de/translation.ts \
+ $$PWD/Languages/el/translation.ts \
+ $$PWD/Languages/en/translation.ts \
+ $$PWD/Languages/es/translation.ts \
+ $$PWD/Languages/fr/translation.ts \
+ $$PWD/Languages/hi/translation.ts \
+ $$PWD/Languages/hu/translation.ts \
+ $$PWD/Languages/id/translation.ts \
+ $$PWD/Languages/it/translation.ts \
+ $$PWD/Languages/ja/translation.ts \
+ $$PWD/Languages/ko/translation.ts \
+ $$PWD/Languages/nl/translation.ts \
+ $$PWD/Languages/no/translation.ts \
+ $$PWD/Languages/pl/translation.ts \
+ $$PWD/Languages/pt/translation.ts \
+ $$PWD/Languages/ru/translation.ts \
+ $$PWD/Languages/th/translation.ts \
+ $$PWD/Languages/tr/translation.ts \
+ $$PWD/Languages/zh/translation.ts
+
+FORMS += \
+ $$PWD/interface.ui \
+ $$PWD/themesOptions.ui
+
+win32: {
+QT += winextras
+}
diff --git a/plugins/Themes/Oxygen2/interfaceResources.qrc b/plugins/Themes/Oxygen2/interfaceResources.qrc
new file mode 100755
index 0000000..0a6e539
--- /dev/null
+++ b/plugins/Themes/Oxygen2/interfaceResources.qrc
@@ -0,0 +1,36 @@
+<RCC>
+ <qresource prefix="/Themes/Oxygen2">
+ <file>resources/add.png</file>
+ <file>resources/cancel.png</file>
+ <file>resources/main.png</file>
+ <file>resources/moveDown.png</file>
+ <file>resources/darkmoveDown.png</file>
+ <file>resources/moveUp.png</file>
+ <file>resources/darkmoveUp.png</file>
+ <file>resources/player_end.png</file>
+ <file>resources/player_pause.png</file>
+ <file>resources/player_play.png</file>
+ <file>resources/darkplayer_end.png</file>
+ <file>resources/darkplayer_pause.png</file>
+ <file>resources/darkplayer_play.png</file>
+ <file>resources/putOnBottom.png</file>
+ <file>resources/putOnTop.png</file>
+ <file>resources/remove.png</file>
+ <file>resources/search.png</file>
+ <file>resources/export-transfer-list.png</file>
+ <file>resources/import-transfer-list.png</file>
+ <file>resources/SystemTrayIcon/add.png</file>
+ <file>resources/SystemTrayIcon/exit.png</file>
+ <file>resources/SystemTrayIcon/informations.png</file>
+ <file>resources/SystemTrayIcon/options.png</file>
+ <file>resources/cancelDarkE.png</file>
+ <file>resources/cancelDarkD.png</file>
+ <file>resources/progressBarout.png</file>
+ <file>resources/progressBarin.png</file>
+ <file>resources/darkButton.png</file>
+ <file>resources/darkButtonPushed.png</file>
+ <file>resources/darkButtonOver.png</file>
+ <file>resources/click.opus</file>
+ <file>resources/over.opus</file>
+ </qresource>
+</RCC>
diff --git a/plugins/Themes/Oxygen2/interfaceResources_unix.qrc b/plugins/Themes/Oxygen2/interfaceResources_unix.qrc
new file mode 100755
index 0000000..1dcca48
--- /dev/null
+++ b/plugins/Themes/Oxygen2/interfaceResources_unix.qrc
@@ -0,0 +1,7 @@
+<RCC>
+ <qresource prefix="/Themes/Oxygen2">
+ <file>resources/SystemTrayIcon/systray_Caught_Unix.png</file>
+ <file>resources/SystemTrayIcon/systray_Semiuncaught_Unix.png</file>
+ <file>resources/SystemTrayIcon/systray_Uncaught_Unix.png</file>
+ </qresource>
+</RCC>
diff --git a/plugins/Themes/Oxygen2/interfaceResources_windows.qrc b/plugins/Themes/Oxygen2/interfaceResources_windows.qrc
new file mode 100755
index 0000000..b9915d0
--- /dev/null
+++ b/plugins/Themes/Oxygen2/interfaceResources_windows.qrc
@@ -0,0 +1,7 @@
+<RCC>
+ <qresource prefix="/Themes/Oxygen2">
+ <file>resources/SystemTrayIcon/systray_Caught_Windows.png</file>
+ <file>resources/SystemTrayIcon/systray_Semiuncaught_Windows.png</file>
+ <file>resources/SystemTrayIcon/systray_Uncaught_Windows.png</file>
+ </qresource>
+</RCC>
diff --git a/plugins/Themes/Oxygen2/options.ui b/plugins/Themes/Oxygen2/options.ui
new file mode 100755
index 0000000..4149e33
--- /dev/null
+++ b/plugins/Themes/Oxygen2/options.ui
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>options</class>
+ <widget class="QWidget" name="options">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>515</width>
+ <height>251</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="2">
+ <widget class="QCheckBox" name="checkBoxShowSpeed"/>
+ </item>
+ <item row="3" column="2">
+ <widget class="QFrame" name="frameProgressionColor">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="progressColorWrite">
+ <property name="minimumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="progressColorRead">
+ <property name="minimumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="progressColorRemaining">
+ <property name="minimumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLabel" name="labelSpeedWithProgressBar">
+ <property name="text">
+ <string>Speed with progress bar</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QComboBox" name="comboBox_copyEnd">
+ <item>
+ <property name="text">
+ <string notr="true">Don't close if errors are found</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">Never close</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">Always close</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="labelShowSpeedAsMain">
+ <property name="text">
+ <string>Show speed as main information</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="labelProgressionColor">
+ <property name="text">
+ <string>Progression color</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QCheckBox" name="checkBox_limitSpeed">
+ <property name="text">
+ <string>Limit copy speed at:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QSpinBox" name="limitSpeed">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="suffix">
+ <string> KB/s</string>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>999999</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QCheckBox" name="showDualProgression"/>
+ </item>
+ <item row="4" column="1">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>122</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Show dual progression</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_Slider_speed">
+ <property name="text">
+ <string>Limit copy speed at:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>At the end of the copy: </string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QCheckBox" name="speedWithProgressBar"/>
+ </item>
+ <item row="6" column="2">
+ <widget class="QLabel" name="label_SpeedMaxValue">
+ <property name="text">
+ <string notr="true">Unlimited</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QSlider" name="SliderSpeed">
+ <property name="maximum">
+ <number>5</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>checkBox_limitSpeed</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>limitSpeed</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>109</x>
+ <y>144</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>199</x>
+ <y>144</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/plugins/Themes/Oxygen2/plugin.json b/plugins/Themes/Oxygen2/plugin.json
new file mode 100755
index 0000000..9e26dfe
--- /dev/null
+++ b/plugins/Themes/Oxygen2/plugin.json
@@ -0,0 +1 @@
+{} \ No newline at end of file
diff --git a/plugins/Themes/Oxygen2/radialMap/labels.cpp b/plugins/Themes/Oxygen2/radialMap/labels.cpp
new file mode 100755
index 0000000..c5ff770
--- /dev/null
+++ b/plugins/Themes/Oxygen2/radialMap/labels.cpp
@@ -0,0 +1,338 @@
+/***********************************************************************
+* Copyright 2003-2004 Max Howell <max.howell@methylblue.com>
+* Copyright 2008-2009 Martin Sandsmark <martin.sandsmark@kde.org>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+***********************************************************************/
+
+#include <QFont>
+#include <QFontMetrics>
+#include <QPainter>
+#include <QVector>
+
+#include "../fileTree.h"
+#include "radialMap.h"
+#include "widget.h"
+#include <math.h>
+#include <qmath.h>
+
+namespace RadialMap
+{
+class Label
+{
+public:
+ Label(const RadialMap::Segment *s, int l) : segment(s), level(l), angle(segment->start() + (segment->length() / 2)) { }
+
+ bool tooClose(const int otherAngle) const {
+ return (angle > otherAngle - LABEL_ANGLE_MARGIN && angle < otherAngle + LABEL_ANGLE_MARGIN);
+ }
+
+ const RadialMap::Segment *segment;
+ const unsigned int level;
+ const int angle;
+
+ int targetX, targetY, middleX, startY, startX;
+ int textX, textY, tw, th;
+
+ QString qs;
+};
+
+void RadialMap::Widget::paintExplodedLabels(QPainter &paint) const
+{
+ //we are a friend of RadialMap::Map
+
+ QVector<Label*> list;
+ unsigned int startLevel = 0;
+
+
+ //1. Create list of labels sorted in the order they will be rendered
+
+ if (m_focus && m_focus->file() != m_tree) { //separate behavior for selected vs unselected segments
+ //don't bother with files
+ if (m_focus && m_focus->file() && !m_focus->file()->isFolder()) {
+ return;
+ }
+
+ //find the range of levels we will be potentially drawing labels for
+ //startLevel is the level above whatever m_focus is in
+ for (const Folder *p = (const Folder*)m_focus->file(); p != m_tree; ++startLevel) {
+ p = p->parent();
+ }
+
+ //range=2 means 2 levels to draw labels for
+
+ const uint start = m_focus->start();
+ const uint end = m_focus->end(); //boundary angles
+ const uint minAngle = int(m_focus->length() * LABEL_MIN_ANGLE_FACTOR);
+
+
+ //**** Levels should be on a scale starting with 0
+ //**** range is a useless parameter
+ //**** keep a topblock var which is the lowestLevel OR startLevel for indentation purposes
+ for (unsigned int i = startLevel; i <= m_map.m_visibleDepth; ++i) {
+ for (const Segment *segment : m_map.m_signature[i]) {
+ if (segment->start() >= start && segment->end() <= end) {
+ if (segment->length() > minAngle) {
+ list.append(new Label(segment, i));
+ }
+ }
+ }
+ }
+ } else {
+ for (Segment *segment : *m_map.m_signature) {
+ if (segment->length() > 288) {
+ list.append(new Label(segment, 0));
+
+ }
+ }
+ }
+
+ std::sort(list.begin(), list.end(), [](Label *item1, Label *item2) {
+ //you add 1440 to work round the fact that later you want the circle split vertically
+ //and as it is you start at 3 o' clock. It's to do with rightPrevY, stops annoying bug
+
+ int angle1 = (item1)->angle + 1440;
+ int angle2 = (item2)->angle + 1440;
+
+ // Also sort by level
+ if (angle1 == angle2) {
+ return (item1->level > item2->level);
+ }
+
+ if (angle1 > 5760) angle1 -= 5760;
+ if (angle2 > 5760) angle2 -= 5760;
+
+ return (angle1 < angle2);
+
+ });
+
+ //2. Check to see if any adjacent labels are too close together
+ // if so, remove it (the least significant labels, since we sort by level too).
+
+ int pos = 0;
+ while (pos < list.size() - 1) {
+ if (list[pos]->tooClose(list[pos+1]->angle)) {
+ delete list.takeAt(pos+1);
+ } else {
+ ++pos;
+ }
+ }
+
+ //used in next two steps
+ bool varySizes;
+ //**** should perhaps use doubles
+ int *sizes = new int [ m_map.m_visibleDepth + 1 ]; //**** make sizes an array of floats I think instead (or doubles)
+
+ // If the minimum is larger than the default it fucks up further down
+ if (paint.font().pointSize() < 0 ||
+ paint.font().pointSize() < minFontPitch) {
+ QFont font = paint.font();
+ font.setPointSize(minFontPitch);
+ paint.setFont(font);
+ }
+
+ QVector<Label*>::iterator it;
+
+ do {
+ //3. Calculate font sizes
+
+ {
+ //determine current range of levels to draw for
+ uint range = 0;
+
+ for (Label *label : list) {
+ range = qMax(range, label->level);
+
+ //**** better way would just be to assign if nothing is range
+ }
+
+ range -= startLevel; //range 0 means 1 level of labels
+
+ varySizes = range != 0;
+
+ if (varySizes) {
+ //create an array of font sizes for various levels
+ //will exceed normal font pitch automatically if necessary, but not minPitch
+ //**** this needs to be checked lots
+
+ //**** what if this is negative (min size gtr than default size)
+ uint step = (paint.font().pointSize() - minFontPitch) / range;
+ if (step == 0) {
+ step = 1;
+ }
+
+ for (uint x = range + startLevel, y = minFontPitch; x >= startLevel; y += step, --x) {
+ sizes[x] = y;
+ }
+ }
+ }
+
+ //4. determine label co-ordinates
+
+
+ const int preSpacer = int(m_map.m_ringBreadth * 0.5) + m_map.m_innerRadius;
+ const int fullStrutLength = (m_map.width() - m_map.MAP_2MARGIN) / 2 + LABEL_MAP_SPACER; //full length of a strut from map center
+
+ int prevLeftY = 0;
+ int prevRightY = height();
+
+ QFont font;
+
+ for (it = list.begin(); it != list.end(); ++it) {
+ Label *label = *it;
+ //** bear in mind that text is drawn with QPoint param as BOTTOM left corner of text box
+ QString string = label->segment->file()->displayName();
+ if (varySizes) {
+ font.setPointSize(sizes[label->level]);
+ }
+ QFontMetrics fontMetrics(font);
+ #if QT_VERSION < QT_VERSION_CHECK(5, 6, 0)
+ const int minTextWidth = fontMetrics.width(QStringLiteral("M...")) + LABEL_TEXT_HMARGIN; // Fully elided string
+ #else
+ const int minTextWidth = fontMetrics.horizontalAdvance(QStringLiteral("M...")) + LABEL_TEXT_HMARGIN; // Fully elided string
+ #endif
+
+ const int fontHeight = fontMetrics.height() + LABEL_TEXT_VMARGIN; //used to ensure label texts don't overlap
+ const int lineSpacing = fontHeight / 4;
+
+ const bool rightSide = (label->angle < 1440 || label->angle > 4320);
+
+ double sinra, cosra;
+ const double ra = M_PI/2880 * label->angle; //convert to radians
+ sinra = qSin(ra);
+ cosra = qCos(ra);
+
+ const int spacer = preSpacer + m_map.m_ringBreadth * label->level;
+
+ const int centerX = m_map.width() / 2 + m_offset.x(); //centre relative to canvas
+ const int centerY = m_map.height() / 2 + m_offset.y();
+ int targetX = centerX + cosra * spacer;
+ int targetY = centerY - sinra * spacer;
+ int startX = targetX + cosra * (fullStrutLength - spacer + m_map.m_ringBreadth / 2);
+ int startY = targetY - sinra * (fullStrutLength - spacer);
+
+ if (rightSide) { //righthand side, going upwards
+ if (startY > prevRightY /*- fmh*/) { //then it is too low, needs to be drawn higher
+ startY = prevRightY /*- fmh*/;
+ }
+ } else {//lefthand side, going downwards
+ if (startY < prevLeftY/* + fmh*/) { //then we're too high, need to be drawn lower
+ startY = prevLeftY /*+ fmh*/;
+ }
+ }
+
+ int middleX = targetX - (startY - targetY) / tan(ra);
+ int textY = startY + lineSpacing;
+
+ int textX;
+ #if QT_VERSION < QT_VERSION_CHECK(5, 6, 0)
+ const int textWidth = fontMetrics.width(string) + LABEL_TEXT_HMARGIN;
+ #else
+ const int textWidth = fontMetrics.horizontalAdvance(string) + LABEL_TEXT_HMARGIN;
+ #endif
+ if (rightSide) {
+ if (startX + minTextWidth > width() || textY < fontHeight || middleX < targetX) {
+ //skip this strut
+ //**** don't duplicate this code
+ list.erase(it); //will delete the label and set it to list.current() which _should_ be the next ptr
+ break;
+ }
+
+ prevRightY = textY - fontHeight - lineSpacing; //must be after above's "continue"
+
+ if (m_offset.x() + m_map.width() + textWidth < width()) {
+ startX = m_offset.x() + m_map.width();
+ } else {
+ startX = qMax(width() - textWidth, startX);
+ string = fontMetrics.elidedText(string, Qt::ElideMiddle, width() - startX);
+ }
+
+ textX = startX + LABEL_TEXT_HMARGIN;
+ } else { // left side
+ if (startX - minTextWidth < 0 || textY > height() || middleX > targetX) {
+ //skip this strut
+ list.erase(it); //will delete the label and set it to list.current() which _should_ be the next ptr
+ break;
+ }
+
+ prevLeftY = textY + fontHeight - lineSpacing;
+
+ if (m_offset.x() - textWidth > 0) {
+ startX = m_offset.x();
+ textX = startX - textWidth - LABEL_TEXT_HMARGIN;
+ } else {
+ textX = 0;
+ string = fontMetrics.elidedText(string, Qt::ElideMiddle, startX);
+ #if QT_VERSION < QT_VERSION_CHECK(5, 6, 0)
+ startX = fontMetrics.width(string) + LABEL_TEXT_HMARGIN;
+ #else
+ startX = fontMetrics.horizontalAdvance(string) + LABEL_TEXT_HMARGIN;
+ #endif
+ }
+ }
+
+ label->targetX = targetX;
+ label->targetY = targetY;
+ label->middleX = middleX;
+ label->startY = startY;
+ label->startX = startX;
+ label->textX = textX;
+ label->textY = textY;
+ label->qs = string;
+ }
+
+ //if an element is deleted at this stage, we need to do this whole
+ //iteration again, thus the following loop
+ //**** in rare case that deleted label was last label in top level
+ // and last in labelList too, this will not work as expected (not critical)
+
+ } while (it != list.end());
+
+
+ //5. Render labels
+
+ QFont font;
+ for (Label *label : list) {
+ if (varySizes) {
+ //**** how much overhead in making new QFont each time?
+ // (implicate sharing remember)
+ font.setPointSize(sizes[label->level]);
+ paint.setFont(font);
+ }
+
+ paint.setPen(QPen(QColor(0,0,0),2));
+ paint.drawLine(label->targetX, label->targetY, label->middleX, label->startY);
+ paint.drawLine(label->middleX, label->startY, label->startX, label->startY);
+
+ paint.setPen(QPen(QColor(255,255,255),1));
+ paint.drawLine(label->targetX, label->targetY, label->middleX, label->startY);
+ paint.drawLine(label->middleX, label->startY, label->startX, label->startY);
+
+ paint.setPen(QPen(QColor(0,0,0),1));
+ paint.drawText(label->textX-1, label->textY-1, label->qs);
+ paint.drawText(label->textX+1, label->textY-1, label->qs);
+ paint.drawText(label->textX+1, label->textY+1, label->qs);
+ paint.drawText(label->textX-1, label->textY+1, label->qs);
+ paint.setPen(QPen(QColor(255,255,255),1));
+ paint.drawText(label->textX, label->textY, label->qs);
+ }
+
+ qDeleteAll(list);
+ delete [] sizes;
+}
+}
+
diff --git a/plugins/Themes/Oxygen2/radialMap/map.cpp b/plugins/Themes/Oxygen2/radialMap/map.cpp
new file mode 100755
index 0000000..a7306ac
--- /dev/null
+++ b/plugins/Themes/Oxygen2/radialMap/map.cpp
@@ -0,0 +1,421 @@
+/***********************************************************************
+* Copyright 2003-2004 Max Howell <max.howell@methylblue.com>
+* Copyright 2008-2009 Martin Sandsmark <martin.sandsmark@kde.org>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+***********************************************************************/
+
+#include <QApplication> //make()
+#include <QImage> //make() & paint()
+#include <QFont> //ctor
+#include <QFontMetrics> //ctor
+#include <QPainter>
+#include <QBrush>
+
+#include "radialMap.h" // defines
+#include "../interface.h"
+#include "../fileTree.h"
+#include "widget.h"
+#include <cmath>
+#include <qmath.h>
+
+RadialMap::Map::Map()
+ : m_signature(nullptr)
+ , m_visibleDepth(DEFAULT_RING_DEPTH)
+ , m_ringBreadth(MIN_RING_BREADTH)
+ , m_innerRadius(0)
+ , defaultRingDepth(4)
+{
+
+ //FIXME this is all broken. No longer is a maximum depth!
+ const int fmh = QFontMetrics(QFont()).height();
+ const int fmhD4 = fmh / 4;
+ MAP_2MARGIN = 2 * (fmh - (fmhD4 - LABEL_MAP_SPACER)); //margin is dependent on fitting in labels at top and bottom
+
+ m_minSize=27300;
+}
+
+RadialMap::Map::~Map()
+{
+ delete [] m_signature;
+}
+
+void RadialMap::Map::invalidate()
+{
+ delete [] m_signature;
+ m_signature = nullptr;
+
+ m_visibleDepth = defaultRingDepth;
+}
+
+void RadialMap::Map::make(const Folder *tree, bool refresh)
+{
+ if(height()<1)
+ return;
+ //slow operation so set the wait cursor
+ QApplication::setOverrideCursor(Qt::WaitCursor);
+
+ //build a signature of visible components
+ {
+ //**** REMOVE NEED FOR the +1 with MAX_RING_DEPTH uses
+ //**** add some angle bounds checking (possibly in Segment ctor? can I delete in a ctor?)
+ //**** this is a mess
+
+ delete [] m_signature;
+ m_signature = new std::vector<Segment*>[m_visibleDepth + 1];
+
+ m_root = tree;
+
+ if (!refresh) {
+ quint64 varSize=tree->size();
+ quint64 varHeight=height();
+ quint64 varA=(varSize * 3);
+ quint64 varB=(PI * varHeight - MAP_2MARGIN);
+ m_minSize = varA / varB;
+ findVisibleDepth(tree);
+ }
+
+ setRingBreadth();
+
+ // Calculate ring size limits
+ m_limits.resize(m_visibleDepth + 1);
+ const double size = m_root->size();
+ const double pi2B = M_PI * 4 * m_ringBreadth;
+ for (uint depth = 0; depth <= m_visibleDepth; ++depth) {
+ m_limits[depth] = uint(size / double(pi2B * (depth + 1))); //min is angle that gives 3px outer diameter for that depth
+ }
+
+ build(tree);
+ }
+
+ //colour the segments
+ colorise();
+
+ m_centerText = tree->humanReadableSize()+"\n"+QObject::tr("%1 files").arg(Themes::simplifiedBigNum(tree->children()));
+
+ //paint the pixmap
+ paint();
+
+ QApplication::restoreOverrideCursor();
+}
+
+void RadialMap::Map::setRingBreadth()
+{
+ //FIXME called too many times on creation
+
+ m_ringBreadth = (height() - MAP_2MARGIN) / (2 * m_visibleDepth + 4);
+ m_ringBreadth = qBound(MIN_RING_BREADTH, m_ringBreadth, MAX_RING_BREADTH);
+}
+
+void RadialMap::Map::findVisibleDepth(const Folder *dir, uint currentDepth)
+{
+
+ //**** because I don't use the same minimumSize criteria as in the visual function
+ // this can lead to incorrect visual representation
+ //**** BUT, you can't set those limits until you know m_depth!
+
+ //**** also this function doesn't check to see if anything is actually visible
+ // it just assumes that when it reaches a new level everything in it is visible
+ // automatically. This isn't right especially as there might be no files in the
+ // dir provided to this function!
+
+ static uint stopDepth = 0;
+
+ if (dir == m_root) {
+ stopDepth = m_visibleDepth;
+ m_visibleDepth = 0;
+ }
+
+ if (m_visibleDepth < currentDepth) m_visibleDepth = currentDepth;
+ if (m_visibleDepth >= stopDepth) return;
+
+ for(const auto& n : dir->folders)
+ {
+ Folder * folder=n.second;
+ if (folder->size() > m_minSize) {
+ findVisibleDepth(folder, currentDepth + 1); //if no files greater than min size the depth is still recorded
+ }
+ }
+}
+
+//**** segments currently overlap at edges (i.e. end of first is start of next)
+bool RadialMap::Map::build(const Folder * const dir, const uint depth, uint a_start, const uint a_end)
+{
+ //first iteration: dir == m_root
+
+ if (dir->children() == 0) //we do fileCount rather than size to avoid chance of divide by zero later
+ return false;
+
+ uint64_t hiddenSize = 0;
+ uint hiddenFileCount = 0;
+
+ for(const auto& n : dir->folders)
+ {
+ Folder * folder=n.second;
+ if (folder->size() < m_limits[depth] * 6) { // limit is half a degree? we want at least 3 degrees
+ hiddenSize += folder->size();
+ hiddenFileCount += folder->children(); //need to add one to count the dir as well
+ ++hiddenFileCount;
+ continue;
+ }
+ unsigned int a_len = (unsigned int)(5760 * ((double)folder->size() / (double)m_root->size()));
+ Segment *s = new Segment(folder, a_start, a_len);
+ m_signature[depth].push_back(s);
+ if (depth != m_visibleDepth) {
+ //recurse
+ s->m_hasHiddenChildren = build(folder, depth + 1, a_start, a_start + a_len);
+ } else {
+ s->m_hasHiddenChildren = true;
+ }
+ a_start += a_len; //**** should we add 1?
+ }
+ for (File *file : dir->onlyFiles) {
+ if (file->size() < m_limits[depth] * 6) { // limit is half a degree? we want at least 3 degrees
+ hiddenSize += file->size();
+ ++hiddenFileCount;
+ continue;
+ }
+ unsigned int a_len = (unsigned int)(5760 * ((double)file->size() / (double)m_root->size()));
+ Segment *s = new Segment(file, a_start, a_len);
+ m_signature[depth].push_back(s);
+ a_start += a_len; //**** should we add 1?
+ }
+
+ if (hiddenFileCount == dir->children()) {
+ return true;
+ }
+
+ if (depth == 0 && hiddenSize >= m_limits[depth] && hiddenFileCount > 0) {
+ //append a segment for unrepresented space - a "fake" segment
+ const QString s = QObject::tr("%1 file, with an average size of %2")
+ .arg(hiddenFileCount)
+ .arg(QString::fromStdString(File::facilityEngine->sizeToString(hiddenSize/hiddenFileCount)));
+
+
+ (m_signature + depth)->push_back(new Segment(new File(s.toUtf8().constData(), hiddenSize), a_start, a_end - a_start, true));
+ }
+
+ return false;
+}
+
+bool RadialMap::Map::resize(const QRect &rect)
+{
+ //there's a MAP_2MARGIN border
+
+ const int mw=width();
+ const int mh=height();
+ const int cw=rect.width();
+ const int ch=rect.height();
+
+ if (cw < mw || ch < mh || (cw > mw && ch > mh))
+ {
+ uint size = ((cw < ch) ? cw : ch) - MAP_2MARGIN;
+
+ //this also causes uneven sizes to always resize when resizing but map is small in that dimension
+ //size -= size % 2; //even sizes mean less staggered non-antialiased resizing
+
+ {
+ const uint minSize = MIN_RING_BREADTH * 2 * (m_visibleDepth + 2);
+
+ if (size < minSize)
+ size = minSize;
+
+ //this QRect is used by paint()
+ m_rect.setRect(0,0,size,size);
+ }
+ m_pixmap = QPixmap(m_rect.size());
+
+ //resize the pixmap
+ size += MAP_2MARGIN;
+
+ if (m_signature != nullptr)
+ {
+ setRingBreadth();
+ paint();
+ }
+
+ return true;
+ }
+
+ return false;
+}
+
+void RadialMap::Map::colorise()
+{
+ if (!m_signature || m_signature->empty()) {
+ //std::cerr << "no signature yet" << std::endl;
+ return;
+ }
+
+ QColor cp, cb;
+ double darkness = 1;
+ double contrast = (double)94 / (double)100;
+ int h, s1, s2, v1, v2;
+
+ for (uint i = 0; i <= m_visibleDepth; ++i, darkness += 0.04) {
+ for (Segment *segment : m_signature[i]) {
+ h = int(segment->start() / 16);
+ s1 = 160;
+ v1 = (int)(255.0 / darkness); //doing this more often than once seems daft!
+
+ v2 = v1 - int(contrast * v1);
+ s2 = s1 + int(contrast * (255 - s1));
+
+ if (s1 < 80) s1 = 80; //can fall too low and makes contrast between the files hard to discern
+
+ if (segment->isFake()) { //multi-file
+ cb.setHsv(h, s2, (v2 < 90) ? 90 : v2); //too dark if < 100
+ cp.setHsv(h, 17, v1);
+ } else if (!segment->file()->isFolder()) { //file
+ cb.setHsv(h, 17, v1);
+ cp.setHsv(h, 17, v2);
+ } else { //folder
+ cb.setHsv(h, s1, v1); //v was 225
+ cp.setHsv(h, s2, v2); //v was 225 - delta
+ }
+
+ segment->setPalette(cp, cb);
+ }
+ }
+}
+
+void RadialMap::Map::paint(bool antialias)
+{
+ QPainter paint;
+ QRect rect = m_rect;
+
+ rect.adjust(5, 5, -5, -5);
+ m_pixmap.fill(Qt::transparent);
+
+ //m_rect.moveRight(1); // Uncommenting this breaks repainting when recreating map from cache
+
+
+ //**** best option you can think of is to make the circles slightly less perfect,
+ // ** i.e. slightly eliptic when resizing inbetween
+
+ if (m_pixmap.isNull())
+ return;
+
+ if (!paint.begin(&m_pixmap)) {
+ //qWarning() << "Filelight::RadialMap Failed to initialize painting, returning...";
+ return;
+ }
+
+ if (antialias) {
+ paint.translate(0.7, 0.7);
+ paint.setRenderHint(QPainter::Antialiasing);
+ }
+
+ int step = m_ringBreadth;
+ int excess = -1;
+
+ //do intelligent distribution of excess to prevent nasty resizing
+ if (m_ringBreadth != MAX_RING_BREADTH && m_ringBreadth != MIN_RING_BREADTH) {
+ excess = rect.width() % m_ringBreadth;
+ ++step;
+ }
+
+ for (int x = m_visibleDepth; x >= 0; --x)
+ {
+ int width = rect.width() / 2;
+ //clever geometric trick to find largest angle that will give biggest arrow head
+ uint a_max = int(acos((double)width / double((width + 5))) * (180*16 / M_PI));
+
+ for (Segment *segment : m_signature[x]) {
+ //draw the pie segments, most of this code is concerned with drawing the little
+ //arrows on the ends of segments when they have hidden files
+
+ paint.setPen(segment->pen());
+
+ if (segment->hasHiddenChildren())
+ {
+ //draw arrow head to indicate undisplayed files/directories
+ QPolygon pts(3);
+ QPoint pos, cpos = rect.center();
+ uint a[3] = { segment->start(), segment->length(), 0 };
+
+ a[2] = a[0] + (a[1] / 2); //assign to halfway between
+ if (a[1] > a_max)
+ {
+ a[1] = a_max;
+ a[0] = a[2] - a_max / 2;
+ }
+
+ a[1] += a[0];
+
+ for (int i = 0, radius = width; i < 3; ++i)
+ {
+ double ra = M_PI/(180*16) * a[i], sinra, cosra;
+
+ if (i == 2)
+ radius += 5;
+ sinra = qSin(ra);
+ cosra = qCos(ra);
+ pos.rx() = cpos.x() + static_cast<int>(cosra * radius);
+ pos.ry() = cpos.y() - static_cast<int>(sinra * radius);
+ pts.setPoint(i, pos);
+ }
+
+ paint.setBrush(segment->pen());
+ paint.drawPolygon(pts);
+ }
+
+ paint.setPen(QColor(120,120,120));
+ paint.setBrush(segment->brush());
+ paint.drawPie(rect, segment->start(), segment->length());
+
+ if (segment->hasHiddenChildren())
+ {
+ //**** code is bloated!
+ paint.save();
+ QPen pen = paint.pen();
+ int width = 2;
+ pen.setWidth(width);
+ paint.setPen(pen);
+ QRect rect2 = rect;
+ width /= 2;
+ rect2.adjust(width, width, -width, -width);
+ paint.drawArc(rect2, segment->start(), segment->length());
+ paint.restore();
+ }
+ }
+
+ if (excess >= 0) { //excess allows us to resize more smoothly (still crud tho)
+ if (excess < 2) //only decrease rect by more if even number of excesses left
+ --step;
+ excess -= 2;
+ }
+
+ rect.adjust(step, step, -step, -step);
+ }
+
+ // if(excess > 0) rect.addCoords(excess, excess, 0, 0); //ugly
+
+ paint.setPen(QColor(120,120,120));
+ paint.setBrush(QColor(255,255,255));
+ paint.drawEllipse(rect);
+ if(width()>200)
+ {
+ paint.setPen(QColor(0,0,0));
+ paint.drawText(rect, Qt::AlignCenter, m_centerText);
+ }
+
+ m_innerRadius = rect.width() / 2; //rect.width should be multiple of 2
+
+ paint.end();
+}
+
diff --git a/plugins/Themes/Oxygen2/radialMap/map.h b/plugins/Themes/Oxygen2/radialMap/map.h
new file mode 100755
index 0000000..a78e56d
--- /dev/null
+++ b/plugins/Themes/Oxygen2/radialMap/map.h
@@ -0,0 +1,85 @@
+/***********************************************************************
+* Copyright 2003-2004 Max Howell <max.howell@methylblue.com>
+* Copyright 2008-2009 Martin Sandsmark <martin.sandsmark@kde.org>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+***********************************************************************/
+
+#ifndef RadialMapMAP_H
+#define RadialMapMAP_H
+
+#include "../fileTree.h"
+
+#include <QPixmap>
+#include <QRect>
+#include <QString>
+
+namespace RadialMap {
+class Segment;
+
+class Map
+{
+public:
+ explicit Map();
+ ~Map();
+
+ void make(const Folder *, bool = false);
+ bool resize(const QRect&);
+
+ bool isNull() const {
+ return (m_signature == nullptr);
+ }
+ void invalidate();
+
+ int height() const {
+ return m_rect.height();
+ }
+ int width() const {
+ return m_rect.width();
+ }
+ QPixmap pixmap() const {
+ return m_pixmap;
+ }
+
+
+ friend class Widget;
+
+private:
+ void paint(bool antialias = true);
+ void colorise();
+ void setRingBreadth();
+ void findVisibleDepth(const Folder *dir, uint currentDepth = 0);
+ bool build(const Folder* const dir, const uint depth =0, uint a_start =0, const uint a_end =5760);
+
+ std::vector<Segment*> *m_signature;
+
+ const Folder *m_root;
+ uint m_minSize;
+ std::vector<uint64_t> m_limits;
+ QRect m_rect;
+ uint m_visibleDepth; ///visible level depth of system
+ QPixmap m_pixmap;
+ int m_ringBreadth;
+ uint m_innerRadius; ///radius of inner circle
+ QString m_centerText;
+
+ uint MAP_2MARGIN;
+ int defaultRingDepth;
+};
+}
+
+#endif
diff --git a/plugins/Themes/Oxygen2/radialMap/radialMap.h b/plugins/Themes/Oxygen2/radialMap/radialMap.h
new file mode 100755
index 0000000..7935010
--- /dev/null
+++ b/plugins/Themes/Oxygen2/radialMap/radialMap.h
@@ -0,0 +1,109 @@
+/***********************************************************************
+* Copyright 2003-2004 Max Howell <max.howell@methylblue.com>
+* Copyright 2008-2009 Martin Sandsmark <martin.sandsmark@kde.org>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+***********************************************************************/
+
+#ifndef RadialMapRADIALMAP_H
+#define RadialMapRADIALMAP_H
+
+#include <QColor>
+
+class File;
+
+namespace RadialMap
+{
+class Segment //all angles are in 16ths of degrees
+{
+public:
+ Segment(const File *f, uint s, uint l, bool isFake = false)
+ : m_angleStart(s)
+ , m_angleSegment(l)
+ , m_file(f)
+ , m_hasHiddenChildren(false)
+ , m_fake(isFake) {}
+ ~Segment();
+
+ uint start() const {
+ return m_angleStart;
+ }
+ uint length() const {
+ return m_angleSegment;
+ }
+ uint end() const {
+ return m_angleStart + m_angleSegment;
+ }
+ const File *file() const {
+ return m_file;
+ }
+ const QColor& pen() const {
+ return m_pen;
+ }
+ const QColor& brush() const {
+ return m_brush;
+ }
+
+ bool isFake() const {
+ return m_fake;
+ }
+ bool hasHiddenChildren() const {
+ return m_hasHiddenChildren;
+ }
+
+ bool intersects(uint a) const {
+ return ((a >= start()) && (a < end()));
+ }
+
+ friend class Map;
+ friend class Builder;
+
+private:
+ void setPalette(const QColor &p, const QColor &b) {
+ m_pen = p;
+ m_brush = b;
+ }
+
+ const uint m_angleStart, m_angleSegment;
+ const File* const m_file;
+ QColor m_pen, m_brush;
+ bool m_hasHiddenChildren;
+ const bool m_fake;
+};
+}
+
+
+#ifndef PI
+#define PI 3.141592653589793
+#endif
+#ifndef M_PI
+#define M_PI 3.14159265358979323846264338327
+#endif
+
+#define MIN_RING_BREADTH 7
+#define MAX_RING_BREADTH 60
+#define DEFAULT_RING_DEPTH 4 //first level = 0
+#define MIN_RING_DEPTH 0
+
+#define LABEL_MAP_SPACER 7
+#define LABEL_TEXT_HMARGIN 5
+#define LABEL_TEXT_VMARGIN 0
+#define LABEL_ANGLE_MARGIN 32
+#define LABEL_MIN_ANGLE_FACTOR 0.05
+#define LABEL_MAX_CHARS 30
+
+#endif
diff --git a/plugins/Themes/Oxygen2/radialMap/widget.cpp b/plugins/Themes/Oxygen2/radialMap/widget.cpp
new file mode 100755
index 0000000..9baf6db
--- /dev/null
+++ b/plugins/Themes/Oxygen2/radialMap/widget.cpp
@@ -0,0 +1,211 @@
+/***********************************************************************
+* Copyright 2003-2004 Max Howell <max.howell@methylblue.com>
+* Copyright 2008-2009 Martin Sandsmark <martin.sandsmark@kde.org>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+***********************************************************************/
+
+#include "widget.h"
+
+#include "../fileTree.h"
+#include "radialMap.h" //constants
+#include "map.h"
+
+#include <QUrl>
+
+#include <QApplication> //sendEvent
+#include <QBitmap> //ctor - finding cursor size
+#include <QCursor> //slotPostMouseEvent()
+#include <QTimer> //member
+#include <QWidget>
+
+
+RadialMap::Widget::Widget(const bool dark, QWidget *parent)
+ : QWidget(parent)
+ , m_tree(nullptr)
+ , m_focus(nullptr)
+ , m_map()
+ , m_rootSegment(nullptr) //TODO we don't delete it, *shrug*
+ , m_toBeDeleted(nullptr)
+ , minFontPitch(QFont().pointSize() - 3)
+{
+ setMaximumSize(16777215, 16777215);
+ setMinimumSize(150, 100);
+
+ connect(this, &Widget::folderCreated, this, &Widget::sendFakeMouseEvent);
+ connect(&m_timer, &QTimer::timeout, this, &Widget::resizeTimeout);
+ m_updateCache.start(100);
+ connect(&m_updateCache, &QTimer::timeout, this, &Widget::updateCache);
+ m_tooltip.setFrameShape(QFrame::StyledPanel);
+ m_tooltip.setWindowFlags(Qt::ToolTip | Qt::WindowTransparentForInput);
+ this->dark=dark;
+ newData=false;
+}
+
+RadialMap::Widget::~Widget()
+{
+ if(m_rootSegment!=nullptr)
+ delete m_rootSegment;
+}
+
+
+QString RadialMap::Widget::path() const
+{
+ return m_tree->displayPath();
+}
+
+QUrl RadialMap::Widget::url(File const * const file) const
+{
+ return file ? file->url() : m_tree->url();
+}
+
+void RadialMap::Widget::invalidate()
+{
+ newData=true;
+ if (isValid())
+ {
+ //**** have to check that only way to invalidate is this function frankly
+ //**** otherwise you may get bugs..
+
+ //disable mouse tracking
+ setMouseTracking(false);
+
+ // Get this before reseting m_tree below
+ QUrl invalidatedUrl(url());
+
+ //ensure this class won't think we have a map still
+ m_tree = nullptr;
+ m_focus = nullptr;
+
+ delete m_rootSegment;
+ m_rootSegment = nullptr;
+
+ //FIXME move this disablement thing no?
+ // it is confusing in other areas, like the whole createFromCache() thing
+ m_map.invalidate();
+ update();
+
+ //tell rest of Filelight
+ emit invalidated(invalidatedUrl);
+ }
+}
+
+void
+RadialMap::Widget::create(const Folder *tree)
+{
+ newData=true;
+ //it is not the responsibility of create() to invalidate first
+ //skip invalidation at your own risk
+
+ //FIXME make it the responsibility of create to invalidate first
+
+ if (tree)
+ {
+ m_focus = nullptr;
+ //generate the filemap image
+ m_map.make(tree);
+
+ //this is the inner circle in the center
+ if(m_rootSegment!=nullptr)
+ delete m_rootSegment;
+ m_rootSegment = new Segment(tree, 0, 16*360);
+
+ setMouseTracking(true);
+ }
+
+ m_tree = tree;
+
+ //tell rest of Filelight
+ emit folderCreated(tree);
+}
+
+void
+RadialMap::Widget::createFromCache(const Folder *tree)
+{
+ //no scan was necessary, use cached tree, however we MUST still emit invalidate
+ invalidate();
+ create(tree);
+}
+
+void
+RadialMap::Widget::sendFakeMouseEvent() //slot
+{
+ QMouseEvent me(QEvent::MouseMove, mapFromGlobal(QCursor::pos()), Qt::NoButton, Qt::NoButton, Qt::NoModifier);
+ QApplication::sendEvent(this, &me);
+ update();
+}
+
+void
+RadialMap::Widget::resizeTimeout() //slot
+{
+ // the segments are about to erased!
+ // this was a horrid bug, and proves the OO programming should be obeyed always!
+ m_focus = nullptr;
+ if (m_tree)
+ m_map.make(m_tree, true);
+ updateCache();
+}
+
+void
+RadialMap::Widget::updateCache()
+{
+ if(newData)
+ {
+ newData=false;
+ cache=QPixmap();
+ update();
+ }
+}
+
+void
+RadialMap::Widget::refresh(int filth)
+{
+ //TODO consider a more direct connection
+
+ if (!m_map.isNull())
+ {
+ switch (filth)
+ {
+ case 1:
+ m_focus=nullptr;
+ m_map.make(m_tree, true); //true means refresh only
+ break;
+
+ case 2:
+ m_map.paint(true); //antialiased painting
+ break;
+
+ case 3:
+ m_map.colorise(); //FALL THROUGH!
+ case 4:
+ m_map.paint();
+
+ default:
+ break;
+ }
+
+ update();
+ }
+}
+
+RadialMap::Segment::~Segment()
+{
+ if (isFake())
+ delete m_file; //created by us in Builder::build()
+}
+
+
diff --git a/plugins/Themes/Oxygen2/radialMap/widget.h b/plugins/Themes/Oxygen2/radialMap/widget.h
new file mode 100755
index 0000000..50dfea9
--- /dev/null
+++ b/plugins/Themes/Oxygen2/radialMap/widget.h
@@ -0,0 +1,118 @@
+/***********************************************************************
+* Copyright 2003-2004 Max Howell <max.howell@methylblue.com>
+* Copyright 2008-2009 Martin Sandsmark <martin.sandsmark@kde.org>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+***********************************************************************/
+
+#ifndef RadialMapWIDGET_H
+#define RadialMapWIDGET_H
+
+#include <QUrl>
+
+#include <QLabel>
+#include <QDragEnterEvent>
+#include <QDropEvent>
+#include <QMouseEvent>
+#include <QPaintEvent>
+#include <QResizeEvent>
+#include <QWidget>
+#include <QTimer>
+
+#include "map.h"
+
+class Folder;
+class File;
+namespace KIO {
+class Job;
+}
+
+namespace RadialMap
+{
+class Segment;
+
+class Widget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit Widget(const bool dark,QWidget* = nullptr);
+ ~Widget() override;
+ QString path() const;
+ QUrl url(File const * const = nullptr) const;
+
+ bool isValid() const {
+ return m_tree != nullptr;
+ }
+
+ friend class Label; //FIXME badness
+
+public Q_SLOTS:
+ void create(const Folder*);
+ void invalidate();
+ void resizeTimeout();
+ void refresh(int);
+
+private Q_SLOTS:
+ void sendFakeMouseEvent();
+ void createFromCache(const Folder*);
+
+Q_SIGNALS:
+ void activated(const QUrl&);
+ void invalidated(const QUrl&);
+ void folderCreated(const Folder*);
+ void mouseHover(const QString&);
+ void giveMeTreeFor(const QUrl&);
+
+protected:
+ void changeEvent(QEvent*) override;
+ void mouseMoveEvent(QMouseEvent*) override;
+ void paintEvent(QPaintEvent*) override;
+ void resizeEvent(QResizeEvent*) override;
+ void enterEvent(QEvent*) override;
+ void leaveEvent(QEvent*) override;
+
+protected:
+ const Segment *segmentAt(QPoint&) const; //FIXME const reference for a library others can use
+ const Segment *rootSegment() const {
+ return m_rootSegment; ///never == 0
+ }
+ const Segment *focusSegment() const {
+ return m_focus; ///0 == nothing in focus
+ }
+
+private:
+ void paintExplodedLabels(QPainter&) const;
+ void updateCache();
+
+ const Folder *m_tree;
+ const Segment *m_focus;
+ QPoint m_offset;
+ QTimer m_timer;
+ QTimer m_updateCache;
+ Map m_map;
+ Segment *m_rootSegment;
+ const Segment *m_toBeDeleted;
+ QLabel m_tooltip;
+ bool dark;
+ int minFontPitch;
+ QPixmap cache;
+ bool newData;
+};
+}
+
+#endif
diff --git a/plugins/Themes/Oxygen2/radialMap/widgetEvents.cpp b/plugins/Themes/Oxygen2/radialMap/widgetEvents.cpp
new file mode 100755
index 0000000..d9c23a0
--- /dev/null
+++ b/plugins/Themes/Oxygen2/radialMap/widgetEvents.cpp
@@ -0,0 +1,254 @@
+/***********************************************************************
+* Copyright 2003-2004 Max Howell <max.howell@methylblue.com>
+* Copyright 2008-2009 Martin Sandsmark <martin.sandsmark@kde.org>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License as
+* published by the Free Software Foundation; either version 2 of
+* the License or (at your option) version 3 or any later version
+* accepted by the membership of KDE e.V. (or its successor approved
+* by the membership of KDE e.V.), which shall act as a proxy
+* defined in Section 14 of version 3 of the license.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+***********************************************************************/
+
+#include "../fileTree.h"
+#include "radialMap.h" //class Segment
+#include "widget.h"
+
+#include <QMenu> //::mousePressEvent()
+
+#include <QPainter>
+#include <QTimer> //::resizeEvent()
+#include <QDropEvent>
+#include <QPaintEvent>
+#include <QResizeEvent>
+#include <QMouseEvent>
+
+#include <cmath> //::segmentAt()
+
+void RadialMap::Widget::resizeEvent(QResizeEvent*)
+{
+ QRect rectTemp(rect());
+ if (m_map.resize(rectTemp))
+ m_timer.setSingleShot(true);
+ m_timer.start(100); //will cause signature to rebuild for new size
+
+ //always do these as they need to be initialised on creation
+ const unsigned int w=width();
+ const unsigned int h=height();
+ m_offset.rx() = (w - m_map.width()) / 2;
+ m_offset.ry() = (h - m_map.height()) / 2;
+}
+
+void RadialMap::Widget::paintEvent(QPaintEvent*)
+{
+ if(cache.isNull() || cache.width()!=width() || cache.height()!=height())
+ {
+ QImage temp(width(),height(),QImage::Format_ARGB32);
+ temp.fill(Qt::transparent);
+ QPainter paint;
+ paint.begin(&temp);
+
+ if (!m_map.isNull())
+ {
+ QPixmap p(m_map.pixmap());
+
+ int margin=((p.width() < p.height()) ? p.width() : p.height())/50;
+ if(margin<1)
+ margin=1;
+ paint.setRenderHint(QPainter::Antialiasing);
+ QRect rect = p.rect();
+ rect.moveTo(m_offset);
+ rect.adjust(-margin, -margin, margin, margin);
+ paint.setPen(QColor(200,200,200));
+ paint.setBrush(QColor(255,255,255));
+ paint.drawEllipse(rect);
+ paint.setPen(QColor(0,0,0));
+
+ paint.drawPixmap(m_offset,p);
+ }
+ else
+ {
+ const unsigned int w=width();
+ const unsigned int h=height();
+ unsigned int min=w;
+ unsigned int x=0;
+ unsigned int y=0;
+ if(h<w)
+ {
+ min=h;
+ x=(width()-min)/2;
+ }
+ else
+ y=(height()-min)/2;
+
+ paint.setRenderHint(QPainter::Antialiasing);
+ QRect rect(x,y,min,min);
+ //rect.moveTo(m_offset);
+ paint.setPen(QColor(200,200,200));
+ paint.setBrush(QColor(255,255,255));
+ paint.drawEllipse(rect);
+ paint.setPen(QColor(0,0,0));
+
+ paint.drawText(rect, Qt::AlignHCenter | Qt::AlignVCenter, "...");
+ return;
+ }
+
+ //exploded labels
+ if (!m_map.isNull() && !m_timer.isActive())
+ {
+ if (true) {
+ paint.setRenderHint(QPainter::Antialiasing);
+ //make lines appear on pixel boundaries
+ paint.translate(0.5, 0.5);
+ }
+ paintExplodedLabels(paint);
+ }
+
+ cache=QPixmap::fromImage(temp);
+ }
+ QPainter paint;
+ paint.begin(this);
+ paint.drawPixmap(0,0,cache.width(), cache.height(), cache);
+}
+
+const RadialMap::Segment* RadialMap::Widget::segmentAt(QPoint &e) const
+{
+ //determine which segment QPoint e is above
+
+ e -= m_offset;
+
+ if (!m_map.m_signature)
+ return nullptr;
+
+ const int m_map_width=m_map.width();
+ const int m_map_height=m_map.height();
+ if (e.x() <= m_map_width && e.y() <= m_map_height)
+ {
+ //transform to cartesian coords
+ e.rx() -= m_map_width / 2; //should be an int
+ e.ry() = m_map_height / 2 - e.y();
+
+ double length = hypot(e.x(), e.y());
+
+ if (length >= m_map.m_innerRadius) //not hovering over inner circle
+ {
+ uint depth = ((int)length - m_map.m_innerRadius) / m_map.m_ringBreadth;
+
+ if (depth <= m_map.m_visibleDepth) //**** do earlier since you can //** check not outside of range
+ {
+ //vector calculation, reduces to simple trigonometry
+ //cos angle = (aibi + ajbj) / albl
+ //ai = x, bi=1, aj=y, bj=0
+ //cos angle = x / (length)
+
+ uint a = (uint)(acos((double)e.x() / length) * 916.736); //916.7324722 = #radians in circle * 16
+
+ //acos only understands 0-180 degrees
+ if (e.y() < 0) a = 5760 - a;
+
+ for (Segment *segment : m_map.m_signature[depth]) {
+ if (segment->intersects(a))
+ return segment;
+ }
+ }
+ }
+ else return m_rootSegment; //hovering over inner circle
+ }
+
+ return nullptr;
+}
+
+void RadialMap::Widget::mouseMoveEvent(QMouseEvent *e)
+{
+ //set m_focus to what we hover over, update UI if it's a new segment
+
+ Segment const * const oldFocus = m_focus;
+ QPoint p = e->pos();
+
+ m_focus = segmentAt(p); //NOTE p is passed by non-const reference
+
+ if (m_focus)
+ {
+ m_tooltip.move(e->globalX() + 20, e->globalY() + 20);
+ if (m_focus != oldFocus) //if not same as last time
+ {
+ setCursor(Qt::PointingHandCursor);
+
+ QString string;
+
+
+ const QString &path=m_focus->file()->displayPath();
+ if (m_focus->file()->isFolder())
+ {
+ const Folder* folder=static_cast<const Folder*>(m_focus->file());
+ if(path.isEmpty())
+ string += m_focus->file()->humanReadableSize()+tr(" into %1 files").arg(folder->children());
+ else
+ string += path+"\n"+m_focus->file()->humanReadableSize()+tr(" into %1 files").arg(folder->children());
+ }
+ else
+ string += path+" "+m_focus->file()->humanReadableSize();
+
+ // Calculate a semi-sane size for the tooltip
+ QFontMetrics fontMetrics(font());
+ int tooltipWidth = 0;
+ int tooltipHeight = 0;
+ for (const QString &part : string.split(QLatin1Char('\n'))) {
+ tooltipHeight += fontMetrics.height();
+ #if QT_VERSION < QT_VERSION_CHECK(5, 6, 0)
+ tooltipWidth = qMax(tooltipWidth, fontMetrics.width(part));
+ #else
+ tooltipWidth = qMax(tooltipWidth, fontMetrics.horizontalAdvance(part));
+ #endif
+ }
+ // Limit it to the window size, probably should find something better
+ tooltipWidth = qMin(tooltipWidth, window()->width());
+ tooltipWidth += 10;
+ tooltipHeight += 10;
+ m_tooltip.resize(tooltipWidth, tooltipHeight);
+ m_tooltip.setText(string);
+ m_tooltip.show();
+
+ emit mouseHover(m_focus->file()->displayPath());
+ update();
+ }
+ }
+ else if (oldFocus && oldFocus->file() != m_tree)
+ {
+ m_tooltip.hide();
+ unsetCursor();
+ update();
+
+ emit mouseHover(QString());
+ }
+}
+
+void RadialMap::Widget::enterEvent(QEvent *)
+{
+ if (!m_focus) return;
+
+ setCursor(Qt::PointingHandCursor);
+ emit mouseHover(m_focus->file()->displayPath());
+ update();
+}
+
+void RadialMap::Widget::leaveEvent(QEvent *)
+{
+ m_tooltip.hide();
+}
+
+void RadialMap::Widget::changeEvent(QEvent *e)
+{
+ if (e->type() == QEvent::ApplicationPaletteChange ||
+ e->type() == QEvent::PaletteChange)
+ m_map.paint();
+}
diff --git a/plugins/Themes/Oxygen2/resources/SystemTrayIcon/add.png b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/add.png
new file mode 100755
index 0000000..7932127
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/add.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/SystemTrayIcon/exit.png b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/exit.png
new file mode 100755
index 0000000..ae3c4e8
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/exit.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/SystemTrayIcon/informations.png b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/informations.png
new file mode 100755
index 0000000..5b7b255
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/informations.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/SystemTrayIcon/options.png b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/options.png
new file mode 100755
index 0000000..23ec531
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/options.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Caught_Unix.png
new file mode 100755
index 0000000..6f5d1cf
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Caught_Unix.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Caught_Windows.png
new file mode 100755
index 0000000..5464856
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Caught_Windows.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
new file mode 100755
index 0000000..b2bb2e3
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
new file mode 100755
index 0000000..0abeb5f
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Uncaught_Unix.png
new file mode 100755
index 0000000..5e313b9
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Uncaught_Unix.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Uncaught_Windows.png
new file mode 100755
index 0000000..828e7e6
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/SystemTrayIcon/systray_Uncaught_Windows.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/add.png b/plugins/Themes/Oxygen2/resources/add.png
new file mode 100755
index 0000000..7932127
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/add.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/cancel.png b/plugins/Themes/Oxygen2/resources/cancel.png
new file mode 100755
index 0000000..ae3c4e8
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/cancel.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/cancelDarkD.png b/plugins/Themes/Oxygen2/resources/cancelDarkD.png
new file mode 100755
index 0000000..a2f4556
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/cancelDarkD.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/cancelDarkE.png b/plugins/Themes/Oxygen2/resources/cancelDarkE.png
new file mode 100755
index 0000000..1cda258
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/cancelDarkE.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/click.opus b/plugins/Themes/Oxygen2/resources/click.opus
new file mode 100755
index 0000000..ddd2a25
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/click.opus
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/darkButton.png b/plugins/Themes/Oxygen2/resources/darkButton.png
new file mode 100755
index 0000000..ab8d393
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/darkButton.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/darkButtonOver.png b/plugins/Themes/Oxygen2/resources/darkButtonOver.png
new file mode 100755
index 0000000..ea42018
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/darkButtonOver.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/darkButtonPushed.png b/plugins/Themes/Oxygen2/resources/darkButtonPushed.png
new file mode 100755
index 0000000..d8fba09
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/darkButtonPushed.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/darkmoveDown.png b/plugins/Themes/Oxygen2/resources/darkmoveDown.png
new file mode 100755
index 0000000..cfe6fe6
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/darkmoveDown.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/darkmoveUp.png b/plugins/Themes/Oxygen2/resources/darkmoveUp.png
new file mode 100755
index 0000000..1d5f41c
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/darkmoveUp.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/darkplayer_end.png b/plugins/Themes/Oxygen2/resources/darkplayer_end.png
new file mode 100755
index 0000000..b5e41ba
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/darkplayer_end.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/darkplayer_pause.png b/plugins/Themes/Oxygen2/resources/darkplayer_pause.png
new file mode 100755
index 0000000..8ce7922
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/darkplayer_pause.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/darkplayer_play.png b/plugins/Themes/Oxygen2/resources/darkplayer_play.png
new file mode 100755
index 0000000..b1d58a1
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/darkplayer_play.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/export-transfer-list.png b/plugins/Themes/Oxygen2/resources/export-transfer-list.png
new file mode 100755
index 0000000..3a0aac6
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/export-transfer-list.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/import-transfer-list.png b/plugins/Themes/Oxygen2/resources/import-transfer-list.png
new file mode 100755
index 0000000..ee47f0d
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/import-transfer-list.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/main.png b/plugins/Themes/Oxygen2/resources/main.png
new file mode 100755
index 0000000..5464856
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/main.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/moveDown.png b/plugins/Themes/Oxygen2/resources/moveDown.png
new file mode 100755
index 0000000..82a312c
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/moveDown.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/moveUp.png b/plugins/Themes/Oxygen2/resources/moveUp.png
new file mode 100755
index 0000000..7f7ba72
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/moveUp.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/over.opus b/plugins/Themes/Oxygen2/resources/over.opus
new file mode 100755
index 0000000..7344831
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/over.opus
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/player_end.png b/plugins/Themes/Oxygen2/resources/player_end.png
new file mode 100755
index 0000000..18982db
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/player_end.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/player_pause.png b/plugins/Themes/Oxygen2/resources/player_pause.png
new file mode 100755
index 0000000..68ee21f
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/player_pause.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/player_play.png b/plugins/Themes/Oxygen2/resources/player_play.png
new file mode 100755
index 0000000..a1c5b83
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/player_play.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/progressBarin.png b/plugins/Themes/Oxygen2/resources/progressBarin.png
new file mode 100755
index 0000000..6af26c7
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/progressBarin.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/progressBarout.png b/plugins/Themes/Oxygen2/resources/progressBarout.png
new file mode 100755
index 0000000..08f3748
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/progressBarout.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/putOnBottom.png b/plugins/Themes/Oxygen2/resources/putOnBottom.png
new file mode 100755
index 0000000..512286e
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/putOnBottom.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/putOnTop.png b/plugins/Themes/Oxygen2/resources/putOnTop.png
new file mode 100755
index 0000000..30fe96b
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/putOnTop.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/remove.png b/plugins/Themes/Oxygen2/resources/remove.png
new file mode 100755
index 0000000..b711740
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/remove.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/resources/search.png b/plugins/Themes/Oxygen2/resources/search.png
new file mode 100755
index 0000000..cef1836
--- /dev/null
+++ b/plugins/Themes/Oxygen2/resources/search.png
Binary files differ
diff --git a/plugins/Themes/Oxygen2/themesOptions.ui b/plugins/Themes/Oxygen2/themesOptions.ui
new file mode 100755
index 0000000..b2da124
--- /dev/null
+++ b/plugins/Themes/Oxygen2/themesOptions.ui
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>themesOptions</class>
+ <widget class="QWidget" name="themesOptions">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>519</width>
+ <height>389</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QToolBox" name="toolBox">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="page">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>492</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <attribute name="label">
+ <string>Use</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="4" column="1">
+ <widget class="QCheckBox" name="startMinimized">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Minimize on close to systray</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" colspan="2">
+ <widget class="QCheckBox" name="alwaysOnTop"/>
+ </item>
+ <item row="0" column="1">
+ <widget class="QCheckBox" name="checkBoxStartWithMoreButtonPushed"/>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_Slider_speed">
+ <property name="text">
+ <string>Limit copy speed to</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QCheckBox" name="minimizeToSystray"/>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>At the end of the copy</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <widget class="QCheckBox" name="checkBox_limitSpeed">
+ <property name="text">
+ <string>Limit copy speed to</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1" colspan="2">
+ <widget class="QSpinBox" name="limitSpeed">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="suffix">
+ <string> KB/s</string>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>999999</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="labelStartWithMoreButtonPushed">
+ <property name="text">
+ <string>Start with the &quot;more button&quot; pushed</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_startMinimized">
+ <property name="text">
+ <string>Start minimized</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="2">
+ <spacer name="verticalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>133</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="labelAlwaysOnTop">
+ <property name="text">
+ <string>Always on top</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="labelSavePosition">
+ <property name="text">
+ <string>Position at start</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1" colspan="2">
+ <widget class="QComboBox" name="comboBox_copyEnd">
+ <item>
+ <property name="text">
+ <string notr="true">Don't close if errors are found</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">Never close</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">Always close</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="7" column="1" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QSlider" name="SliderSpeed">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximum">
+ <number>5</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_SpeedMaxValue">
+ <property name="text">
+ <string notr="true">Unlimited</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="1">
+ <widget class="QCheckBox" name="dark">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Dark UI</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QComboBox" name="savePosition">
+ <item>
+ <property name="text">
+ <string>Default</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Save as previous</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>At Center</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_2">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>509</width>
+ <height>283</height>
+ </rect>
+ </property>
+ <attribute name="label">
+ <string>Informations</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="labelShowSpeedAsMain">
+ <property name="text">
+ <string>Show speed as main information</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QCheckBox" name="checkBoxShowSpeed"/>
+ </item>
+ <item row="1" column="2">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>529</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_3">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>509</width>
+ <height>283</height>
+ </rect>
+ </property>
+ <attribute name="label">
+ <string>Display</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="labelSpeedWithProgressBar">
+ <property name="text">
+ <string>Speed with progress bar</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QCheckBox" name="speedWithProgressBar"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="labelDualProgression">
+ <property name="text">
+ <string>Show dual progression</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QCheckBox" name="showDualProgression"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Show progression in the title</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="showProgressionInTheTitle"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="labelProgressionColor">
+ <property name="text">
+ <string>Progression color</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QFrame" name="frameProgressionColor">
+ <property name="minimumSize">
+ <size>
+ <width>225</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>225</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Click to edit the color</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="progressColorWrite">
+ <property name="minimumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="progressColorRead">
+ <property name="minimumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="progressColorRemaining">
+ <property name="minimumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>75</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>455</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>checkBox_limitSpeed</sender>
+ <signal>clicked(bool)</signal>
+ <receiver>limitSpeed</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>109</x>
+ <y>144</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>199</x>
+ <y>144</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/plugins/Themes/README.md b/plugins/Themes/README.md
index ab63693..ab63693 100644..100755
--- a/plugins/Themes/README.md
+++ b/plugins/Themes/README.md
diff --git a/plugins/Themes/Supercopier/README.md b/plugins/Themes/Supercopier/README.md
index e0bf248..e0bf248 100644..100755
--- a/plugins/Themes/Supercopier/README.md
+++ b/plugins/Themes/Supercopier/README.md
diff --git a/plugins/Themes/Supercopier/informations.xml b/plugins/Themes/Supercopier/informations.xml
index 7f61b17..77c7ccd 100644..100755
--- a/plugins/Themes/Supercopier/informations.xml
+++ b/plugins/Themes/Supercopier/informations.xml
@@ -17,7 +17,7 @@
<description xml:lang="en"><![CDATA[Supercopier style for Ultracopier]]></description>
<description xml:lang="fr"><![CDATA[Style supercopier pour Ultracopier]]></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>1.6.1.3</version>
+ <version>2.2.4.4</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>Supercopier</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/Themes/Supercopier/interface.pro b/plugins/Themes/Supercopier/interface.pro
index 1b0ef2e..647df4b 100644..100755
--- a/plugins/Themes/Supercopier/interface.pro
+++ b/plugins/Themes/Supercopier/interface.pro
@@ -1,6 +1,8 @@
DEFINES+=SUPERCOPIER
include($$PWD/../Oxygen/interfaceInclude.pri)
+TEMPLATE = lib
+CONFIG += plugin
!CONFIG(static) {
RESOURCES += \
diff --git a/plugins/Themes/Supercopier/interface.pro.user.4.8-pre1 b/plugins/Themes/Supercopier/interface.pro.user.4.8-pre1
new file mode 100755
index 0000000..1c6f64c
--- /dev/null
+++ b/plugins/Themes/Supercopier/interface.pro.user.4.8-pre1
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 4.6.2, 2018-08-21T19:00:40. -->
+<qtcreator>
+ <data>
+ <variable>EnvironmentId</variable>
+ <value type="QByteArray">{74ab603f-f657-4135-92cf-c93af71b2f91}</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.ActiveTarget</variable>
+ <value type="int">0</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.EditorSettings</variable>
+ <valuemap type="QVariantMap">
+ <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+ <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+ <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+ <value type="QString" key="language">Cpp</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+ </valuemap>
+ </valuemap>
+ <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+ <value type="QString" key="language">QmlJS</value>
+ <valuemap type="QVariantMap" key="value">
+ <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+ </valuemap>
+ </valuemap>
+ <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+ <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+ <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+ <value type="int" key="EditorConfiguration.IndentSize">4</value>
+ <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+ <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+ <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+ <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+ <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+ <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+ <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+ <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+ <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+ <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+ <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+ <value type="int" key="EditorConfiguration.TabSize">8</value>
+ <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+ <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+ <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+ <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+ <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+ <value type="bool" key="EditorConfiguration.inEntireDocument">true</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.PluginSettings</variable>
+ <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Target.0</variable>
+ <valuemap type="QVariantMap">
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop llvm</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop llvm</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{ba4f29d9-73b8-4c83-a619-0b3a4cb9295e}</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+ <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+ <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/Themes/build-interface-Desktop_llvm-Debug</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+ <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/Themes/build-interface-Desktop_llvm-Release</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
+ <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/user/Desktop/ultracopier/sources/plugins/Themes/build-interface-Desktop_llvm-Profile</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+ <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
+ <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+ </valuemap>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+ <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+ <value type="QString">-w</value>
+ <value type="QString">-r</value>
+ </valuelist>
+ <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+ <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+ <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+ <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+ <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+ <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+ <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+ <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+ <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+ <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+ <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+ <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+ <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+ <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+ <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+ <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+ <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+ <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+ <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+ <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+ <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+ <value type="int">0</value>
+ <value type="int">1</value>
+ <value type="int">2</value>
+ <value type="int">3</value>
+ <value type="int">4</value>
+ <value type="int">5</value>
+ <value type="int">6</value>
+ <value type="int">7</value>
+ <value type="int">8</value>
+ <value type="int">9</value>
+ <value type="int">10</value>
+ <value type="int">11</value>
+ <value type="int">12</value>
+ <value type="int">13</value>
+ <value type="int">14</value>
+ </valuelist>
+ <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+ <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+ <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
+ <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
+ <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
+ <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+ <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+ <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+ <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+ </valuemap>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.TargetCount</variable>
+ <value type="int">1</value>
+ </data>
+ <data>
+ <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+ <value type="int">18</value>
+ </data>
+ <data>
+ <variable>Version</variable>
+ <value type="int">18</value>
+ </data>
+</qtcreator>
diff --git a/plugins/Themes/Supercopier/interfaceResources.qrc b/plugins/Themes/Supercopier/interfaceResources.qrc
index d8990aa..d8990aa 100644..100755
--- a/plugins/Themes/Supercopier/interfaceResources.qrc
+++ b/plugins/Themes/Supercopier/interfaceResources.qrc
diff --git a/plugins/Themes/Supercopier/interfaceResources_unix.qrc b/plugins/Themes/Supercopier/interfaceResources_unix.qrc
index 2cf979f..2cf979f 100644..100755
--- a/plugins/Themes/Supercopier/interfaceResources_unix.qrc
+++ b/plugins/Themes/Supercopier/interfaceResources_unix.qrc
diff --git a/plugins/Themes/Supercopier/interfaceResources_windows.qrc b/plugins/Themes/Supercopier/interfaceResources_windows.qrc
index abbedba..abbedba 100644..100755
--- a/plugins/Themes/Supercopier/interfaceResources_windows.qrc
+++ b/plugins/Themes/Supercopier/interfaceResources_windows.qrc
diff --git a/plugins/Themes/Supercopier/resources/SystemTrayIcon/add.png b/plugins/Themes/Supercopier/resources/SystemTrayIcon/add.png
index d41fce6..d41fce6 100644..100755
--- a/plugins/Themes/Supercopier/resources/SystemTrayIcon/add.png
+++ b/plugins/Themes/Supercopier/resources/SystemTrayIcon/add.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/SystemTrayIcon/exit.png b/plugins/Themes/Supercopier/resources/SystemTrayIcon/exit.png
index 9599bba..9599bba 100644..100755
--- a/plugins/Themes/Supercopier/resources/SystemTrayIcon/exit.png
+++ b/plugins/Themes/Supercopier/resources/SystemTrayIcon/exit.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/SystemTrayIcon/informations.png b/plugins/Themes/Supercopier/resources/SystemTrayIcon/informations.png
index 86c9ba6..86c9ba6 100644..100755
--- a/plugins/Themes/Supercopier/resources/SystemTrayIcon/informations.png
+++ b/plugins/Themes/Supercopier/resources/SystemTrayIcon/informations.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/SystemTrayIcon/options.png b/plugins/Themes/Supercopier/resources/SystemTrayIcon/options.png
index cf699d5..cf699d5 100644..100755
--- a/plugins/Themes/Supercopier/resources/SystemTrayIcon/options.png
+++ b/plugins/Themes/Supercopier/resources/SystemTrayIcon/options.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Unix.png
index be2ba20..be2ba20 100644..100755
--- a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Unix.png
+++ b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Unix.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Windows.png
index 9c597af..9c597af 100644..100755
--- a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Windows.png
+++ b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Windows.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
index be2ba20..be2ba20 100644..100755
--- a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
+++ b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
index 9c597af..9c597af 100644..100755
--- a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
+++ b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Unix.png
index 4da8cc0..4da8cc0 100644..100755
--- a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Unix.png
+++ b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Unix.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Windows.png
index 8bfbcf9..8bfbcf9 100644..100755
--- a/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Windows.png
+++ b/plugins/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Windows.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/add.png b/plugins/Themes/Supercopier/resources/add.png
index af8a401..af8a401 100644..100755
--- a/plugins/Themes/Supercopier/resources/add.png
+++ b/plugins/Themes/Supercopier/resources/add.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/cancel.png b/plugins/Themes/Supercopier/resources/cancel.png
index 1e7579c..1e7579c 100644..100755
--- a/plugins/Themes/Supercopier/resources/cancel.png
+++ b/plugins/Themes/Supercopier/resources/cancel.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/export-transfer-list.png b/plugins/Themes/Supercopier/resources/export-transfer-list.png
index 2bcc455..2bcc455 100644..100755
--- a/plugins/Themes/Supercopier/resources/export-transfer-list.png
+++ b/plugins/Themes/Supercopier/resources/export-transfer-list.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/import-transfer-list.png b/plugins/Themes/Supercopier/resources/import-transfer-list.png
index d208342..d208342 100644..100755
--- a/plugins/Themes/Supercopier/resources/import-transfer-list.png
+++ b/plugins/Themes/Supercopier/resources/import-transfer-list.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/main.png b/plugins/Themes/Supercopier/resources/main.png
index 9bec399..9bec399 100644..100755
--- a/plugins/Themes/Supercopier/resources/main.png
+++ b/plugins/Themes/Supercopier/resources/main.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/moveDown.png b/plugins/Themes/Supercopier/resources/moveDown.png
index 7f4ff27..7f4ff27 100644..100755
--- a/plugins/Themes/Supercopier/resources/moveDown.png
+++ b/plugins/Themes/Supercopier/resources/moveDown.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/moveUp.png b/plugins/Themes/Supercopier/resources/moveUp.png
index 9397b76..9397b76 100644..100755
--- a/plugins/Themes/Supercopier/resources/moveUp.png
+++ b/plugins/Themes/Supercopier/resources/moveUp.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/player_end.png b/plugins/Themes/Supercopier/resources/player_end.png
index 9730302..9730302 100644..100755
--- a/plugins/Themes/Supercopier/resources/player_end.png
+++ b/plugins/Themes/Supercopier/resources/player_end.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/player_pause.png b/plugins/Themes/Supercopier/resources/player_pause.png
index 429ae43..429ae43 100644..100755
--- a/plugins/Themes/Supercopier/resources/player_pause.png
+++ b/plugins/Themes/Supercopier/resources/player_pause.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/player_play.png b/plugins/Themes/Supercopier/resources/player_play.png
index a28ac73..a28ac73 100644..100755
--- a/plugins/Themes/Supercopier/resources/player_play.png
+++ b/plugins/Themes/Supercopier/resources/player_play.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/progressbarleft.png b/plugins/Themes/Supercopier/resources/progressbarleft.png
index bbee9c8..bbee9c8 100644..100755
--- a/plugins/Themes/Supercopier/resources/progressbarleft.png
+++ b/plugins/Themes/Supercopier/resources/progressbarleft.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/progressbarright.png b/plugins/Themes/Supercopier/resources/progressbarright.png
index 93e5781..93e5781 100644..100755
--- a/plugins/Themes/Supercopier/resources/progressbarright.png
+++ b/plugins/Themes/Supercopier/resources/progressbarright.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/putOnBottom.png b/plugins/Themes/Supercopier/resources/putOnBottom.png
index 9ac517c..9ac517c 100644..100755
--- a/plugins/Themes/Supercopier/resources/putOnBottom.png
+++ b/plugins/Themes/Supercopier/resources/putOnBottom.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/putOnTop.png b/plugins/Themes/Supercopier/resources/putOnTop.png
index 5682829..5682829 100644..100755
--- a/plugins/Themes/Supercopier/resources/putOnTop.png
+++ b/plugins/Themes/Supercopier/resources/putOnTop.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/remove.png b/plugins/Themes/Supercopier/resources/remove.png
index 3a2a9f1..3a2a9f1 100644..100755
--- a/plugins/Themes/Supercopier/resources/remove.png
+++ b/plugins/Themes/Supercopier/resources/remove.png
Binary files differ
diff --git a/plugins/Themes/Supercopier/resources/search.png b/plugins/Themes/Supercopier/resources/search.png
index 567f498..567f498 100644..100755
--- a/plugins/Themes/Supercopier/resources/search.png
+++ b/plugins/Themes/Supercopier/resources/search.png
Binary files differ
diff --git a/plugins/static-plugins-oxygen.qrc b/plugins/static-plugins-oxygen.qrc
index 21b4be0..804f75e 100644..100755
--- a/plugins/static-plugins-oxygen.qrc
+++ b/plugins/static-plugins-oxygen.qrc
@@ -1,6 +1,5 @@
<RCC>
<qresource prefix="/">
- <file>Themes/Oxygen/informations.xml</file>
- <file>Themes/Oxygen/Languages/fr/translation.qm</file>
+ <file>Themes/Oxygen2/informations.xml</file>
</qresource>
</RCC>
diff --git a/plugins/static-plugins-windows.qrc b/plugins/static-plugins-windows.qrc
index 6ddcdc0..59ba10d 100644..100755
--- a/plugins/static-plugins-windows.qrc
+++ b/plugins/static-plugins-windows.qrc
@@ -1,6 +1,5 @@
<RCC>
<qresource prefix="/">
<file>PluginLoader/catchcopy-v0002/informations.xml</file>
- <file>PluginLoader/catchcopy-v0002/Languages/fr/translation.qm</file>
</qresource>
</RCC>
diff --git a/plugins/static-plugins.qrc b/plugins/static-plugins.qrc
index b250e7c..a582439 100644..100755
--- a/plugins/static-plugins.qrc
+++ b/plugins/static-plugins.qrc
@@ -1,12 +1,7 @@
<RCC>
<qresource prefix="/">
- <file>CopyEngine/Ultracopier/informations.xml</file>
- <file>CopyEngine/Ultracopier/Languages/fr/translation.qm</file>
- <file>Languages/fr/informations.xml</file>
- <file>Languages/fr/flag.png</file>
- <file>Languages/fr/translation.qm</file>
+ <file>CopyEngine/Ultracopier-Spec/informations.xml</file>
<file>Listener/catchcopy-v0002/informations.xml</file>
- <file>Themes/Oxygen/informations.xml</file>
- <file>Themes/Oxygen/Languages/fr/translation.qm</file>
+ <file>Themes/Oxygen2/informations.xml</file>
</qresource>
</RCC>