summaryrefslogtreecommitdiff
path: root/plugins-unmaintained/Themes
diff options
context:
space:
mode:
Diffstat (limited to 'plugins-unmaintained/Themes')
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/ar/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/de/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/el/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/en/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/es/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/fr/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/hi/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/hu/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/id/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/it/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/ja/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/ko/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/nl/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/no/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/pl/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/ru/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/th/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/tr/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/Languages/zh/translation.ts55
-rw-r--r--plugins-unmaintained/Themes/Clean/StructEnumDefinition.h1
-rw-r--r--plugins-unmaintained/Themes/Clean/documentation.dox28
-rw-r--r--plugins-unmaintained/Themes/Clean/factory.cpp65
-rw-r--r--plugins-unmaintained/Themes/Clean/factory.h39
-rw-r--r--plugins-unmaintained/Themes/Clean/informations.xml26
-rw-r--r--plugins-unmaintained/Themes/Clean/interface.cpp426
-rw-r--r--plugins-unmaintained/Themes/Clean/interface.h141
-rw-r--r--plugins-unmaintained/Themes/Clean/interface.pro46
-rw-r--r--plugins-unmaintained/Themes/Clean/interface.ui131
-rw-r--r--plugins-unmaintained/Themes/Clean/plugin.json1
-rw-r--r--plugins-unmaintained/Themes/Clean/resources.qrc5
-rw-r--r--plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/informations.pngbin0 -> 841 bytes
-rw-r--r--plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Unix.pngbin0 -> 1093 bytes
-rw-r--r--plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Windows.pngbin0 -> 623 bytes
-rw-r--r--plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Unix.pngbin0 -> 1296 bytes
-rw-r--r--plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Windows.pngbin0 -> 841 bytes
-rw-r--r--plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Unix.pngbin0 -> 754 bytes
-rw-r--r--plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Windows.pngbin0 -> 485 bytes
-rw-r--r--plugins-unmaintained/Themes/Clean/resources_unix.qrc7
-rw-r--r--plugins-unmaintained/Themes/Clean/resources_windows.qrc7
-rw-r--r--plugins-unmaintained/Themes/Teracopy/DebugEngineMacro.h28
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Environment.h10
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/ar/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/de/translation.ts93
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/el/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/en/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/es/translation.ts93
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/fr/translation.ts94
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/hi/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/hu/translation.ts93
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/id/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/it/translation.ts93
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/ja/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/ko/translation.ts93
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/nl/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/no/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/pl/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/ru/translation.ts93
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/th/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/tr/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Languages/zh/translation.ts89
-rw-r--r--plugins-unmaintained/Themes/Teracopy/StructEnumDefinition.h1
-rw-r--r--plugins-unmaintained/Themes/Teracopy/TransferModel.cpp528
-rw-r--r--plugins-unmaintained/Themes/Teracopy/TransferModel.h92
-rw-r--r--plugins-unmaintained/Themes/Teracopy/Variable.h15
-rw-r--r--plugins-unmaintained/Themes/Teracopy/documentation.dox28
-rw-r--r--plugins-unmaintained/Themes/Teracopy/factory.cpp70
-rw-r--r--plugins-unmaintained/Themes/Teracopy/factory.h42
-rw-r--r--plugins-unmaintained/Themes/Teracopy/informations.xml26
-rw-r--r--plugins-unmaintained/Themes/Teracopy/interface.cpp500
-rw-r--r--plugins-unmaintained/Themes/Teracopy/interface.h176
-rw-r--r--plugins-unmaintained/Themes/Teracopy/interface.pro50
-rw-r--r--plugins-unmaintained/Themes/Teracopy/interface.ui394
-rw-r--r--plugins-unmaintained/Themes/Teracopy/plugin.json1
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources.qrc12
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/add.pngbin0 -> 552 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/exit.pngbin0 -> 874 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/informations.pngbin0 -> 841 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/options.pngbin0 -> 624 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Unix.pngbin0 -> 1093 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Windows.pngbin0 -> 623 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Unix.pngbin0 -> 1296 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Windows.pngbin0 -> 841 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Unix.pngbin0 -> 754 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Windows.pngbin0 -> 485 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/checkbox.pngbin0 -> 619 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/main.pngbin0 -> 623 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/player_pause.pngbin0 -> 640 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources/player_play.pngbin0 -> 673 bytes
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources_unix.qrc7
-rw-r--r--plugins-unmaintained/Themes/Teracopy/resources_windows.qrc7
-rw-r--r--plugins-unmaintained/Themes/Windows/DebugEngineMacro.h28
-rw-r--r--plugins-unmaintained/Themes/Windows/Environment.h10
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/ar/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/de/translation.ts124
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/el/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/en/translation.ts124
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/es/translation.ts124
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/fr/translation.ts124
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/hi/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/hu/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/id/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/it/translation.ts125
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/ja/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/ko/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/nl/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/no/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/pl/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/ru/translation.ts127
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/th/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/tr/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/Languages/zh/translation.ts121
-rw-r--r--plugins-unmaintained/Themes/Windows/StructEnumDefinition.h1
-rw-r--r--plugins-unmaintained/Themes/Windows/TransferModel.cpp286
-rw-r--r--plugins-unmaintained/Themes/Windows/TransferModel.h90
-rw-r--r--plugins-unmaintained/Themes/Windows/Variable.h15
-rw-r--r--plugins-unmaintained/Themes/Windows/documentation.dox28
-rw-r--r--plugins-unmaintained/Themes/Windows/factory.cpp74
-rw-r--r--plugins-unmaintained/Themes/Windows/factory.h45
-rw-r--r--plugins-unmaintained/Themes/Windows/informations.xml26
-rw-r--r--plugins-unmaintained/Themes/Windows/interface.cpp414
-rw-r--r--plugins-unmaintained/Themes/Windows/interface.h165
-rw-r--r--plugins-unmaintained/Themes/Windows/interface.pro48
-rw-r--r--plugins-unmaintained/Themes/Windows/interface.ui415
-rw-r--r--plugins-unmaintained/Themes/Windows/plugin.json1
-rw-r--r--plugins-unmaintained/Themes/Windows/resources.qrc10
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/informations.pngbin0 -> 841 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Unix.pngbin0 -> 1093 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Windows.pngbin0 -> 623 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Unix.pngbin0 -> 1296 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Windows.pngbin0 -> 841 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Unix.pngbin0 -> 754 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Windows.pngbin0 -> 485 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/arrow-down.pngbin0 -> 598 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/arrow-up.pngbin0 -> 602 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/empty.pngbin0 -> 95 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/icon-top.pngbin0 -> 2437 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/icon-top.xcfbin0 -> 4398 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources/icon.pngbin0 -> 379 bytes
-rw-r--r--plugins-unmaintained/Themes/Windows/resources_unix.qrc7
-rw-r--r--plugins-unmaintained/Themes/Windows/resources_windows.qrc7
140 files changed, 9666 insertions, 0 deletions
diff --git a/plugins-unmaintained/Themes/Clean/Languages/ar/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/ar/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/ar/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/de/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/de/translation.ts
new file mode 100644
index 0000000..c505f80
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/de/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="de" sourcelanguage="en">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation>%1/%2 Dateien, %3/%4</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation>Aktion:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation>Warten</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation>Datei hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation>Ordner hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation>Datei (en) verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation>Ordner verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation>Datei (en) kopieren</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation>Ordner kopieren</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/el/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/el/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/el/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/en/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/en/translation.ts
new file mode 100644
index 0000000..33bef34
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/en/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/es/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/es/translation.ts
new file mode 100644
index 0000000..cfbceba
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/es/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="es" sourcelanguage="en">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation>%1/%2 archivos, %3/%4</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation>Acción:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation>Añadir archivo</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation>Añadir carpeta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation>Mover archivo(s)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation>Mueva la carpeta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation>Copia el archivo(s)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation>Copia la carpeta</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/fr/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/fr/translation.ts
new file mode 100644
index 0000000..1656d8b
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/fr/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="fr" sourcelanguage="en">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation>%1/%2 fichiers, %3/%4</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation>Action:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation>Déplacer des fichiers</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation>Déplacer un dossier</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation>Copier des fichiers</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation>Copier un dossier</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation>Ajouter un dossier</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation>Ajout de fichier</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/hi/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/hi/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/hi/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/hu/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/hu/translation.ts
new file mode 100644
index 0000000..3bd0e03
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/hu/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="hu">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation>%1/%2 fájl, %3/%4</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation>Művelet:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation>Várakozás</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation>Fájl hozzáadása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation>Mappa hozzáadása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation>Fájl(ok) mozgatása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation>Mappa mozgatása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation>Fájl(ok) másolása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation>Mappa másolása</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/id/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/id/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/id/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/it/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/it/translation.ts
new file mode 100644
index 0000000..7139344
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/it/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="it" sourcelanguage="en">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation>%1/%2 file, %3/%4</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation>Azione:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation>Aggiungi file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation>Aggiungi cartella</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation>Sposta file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation>Sposta la cartella</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation>Copia file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation>Copia cartella</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/ja/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/ja/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/ja/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/ko/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/ko/translation.ts
new file mode 100644
index 0000000..4d94016
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/ko/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ko_KR">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="+142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished">%1/%2 파일, %3/%4</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="+32"/>
+ <source>Action:</source>
+ <translation type="unfinished">실행:</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <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>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/nl/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/nl/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/nl/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/no/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/no/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/no/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/pl/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/pl/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/pl/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/ru/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/ru/translation.ts
new file mode 100644
index 0000000..2b1c013
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/ru/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru" sourcelanguage="en">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation>%1/%2 файлы, %3/%4</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation>Действие:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation>Добавить файл</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation>Добавить папку</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation>Перемещение файла (ов)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation>Перемещение папки</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation>Копировать файл (ы)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation>Копировать папку</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/th/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/th/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/th/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/tr/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/tr/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/tr/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/Languages/zh/translation.ts b/plugins-unmaintained/Themes/Clean/Languages/zh/translation.ts
new file mode 100644
index 0000000..6a85bd4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/Languages/zh/translation.ts
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>InterfacePlugin</name>
+ <message>
+ <location filename="../../interface.cpp" line="142"/>
+ <source>%1/%2 files, %3/%4</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="32"/>
+ <source>Action:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="44"/>
+ <source>Waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="78"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="87"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="96"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="105"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="114"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="123"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Clean/StructEnumDefinition.h b/plugins-unmaintained/Themes/Clean/StructEnumDefinition.h
new file mode 100644
index 0000000..c1758f4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/StructEnumDefinition.h
@@ -0,0 +1 @@
+#include "../../../StructEnumDefinition.h"
diff --git a/plugins-unmaintained/Themes/Clean/documentation.dox b/plugins-unmaintained/Themes/Clean/documentation.dox
new file mode 100644
index 0000000..589d9c7
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/documentation.dox
@@ -0,0 +1,28 @@
+/* -*- mode: C++ ; c-file-style: "stroustrup" -*- **/
+
+/*
+ This file contains NO source code, just some documentation for doxygen to
+ parse.
+*/
+
+/*!
+ \mainpage Clean
+
+ \section mainpage_overview Overview
+
+ It's interface to have minimal interface for Ultracopier.\n
+ More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>. Is part of Ultracopier project as alternative plugin.
+
+ \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.
+
+*/
diff --git a/plugins-unmaintained/Themes/Clean/factory.cpp b/plugins-unmaintained/Themes/Clean/factory.cpp
new file mode 100644
index 0000000..6acbe3a
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/factory.cpp
@@ -0,0 +1,65 @@
+/** \file factory.cpp
+\brief Define the factory core
+\author alpha_one_x86
+*/
+
+#include "factory.h"
+
+PluginInterface_Themes * ThemesFactory::getInstance()
+{
+ InterfacePlugin * newInterface=new InterfacePlugin(facilityEngine);
+ connect(this,&ThemesFactory::reloadLanguage,newInterface,&InterfacePlugin::newLanguageLoaded);
+ return newInterface;
+}
+
+void ThemesFactory::setResources(OptionInterface * options, const QString &writePath, const QString &pluginPath, FacilityInterface * facilityInterface, const bool &portableVersion)
+{
+ Q_UNUSED(options)
+ Q_UNUSED(writePath)
+ Q_UNUSED(pluginPath)
+ this->facilityEngine=facilityInterface;
+ Q_UNUSED(portableVersion)
+}
+
+QWidget * ThemesFactory::options()
+{
+ return NULL;
+}
+
+QIcon ThemesFactory::getIcon(const QString &fileName) const
+{
+ if(fileName=="SystemTrayIcon/exit.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("application-exit");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ if(fileName=="SystemTrayIcon/add.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("list-add");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ if(fileName=="SystemTrayIcon/informations.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("help-about");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ if(fileName=="SystemTrayIcon/options.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("applications-system");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ return QIcon(":/Themes/Clean/resources/"+fileName);
+}
+
+void ThemesFactory::resetOptions()
+{
+}
+
+void ThemesFactory::newLanguageLoaded()
+{
+ emit reloadLanguage();
+}
diff --git a/plugins-unmaintained/Themes/Clean/factory.h b/plugins-unmaintained/Themes/Clean/factory.h
new file mode 100644
index 0000000..f9b1ee2
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/factory.h
@@ -0,0 +1,39 @@
+/** \file factory.h
+\brief Define the factory, to create instance of the interface
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef FACTORY_H
+#define FACTORY_H
+
+#include <QObject>
+#include <QWidget>
+
+#include "interface.h"
+#include "../../../interface/PluginInterface_Themes.h"
+
+/// \brief Define the factory, to create instance of the interface
+class ThemesFactory : public PluginInterface_ThemesFactory
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.ThemesFactory/1.0.1.0" FILE "plugin.json")
+ Q_INTERFACES(PluginInterface_ThemesFactory)
+ public:
+ /// \brief to return the instance of the copy engine
+ PluginInterface_Themes * getInstance();
+ /// \brief set the resources, to store options, to have facilityInterface
+ void setResources(OptionInterface * options,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityInterface,const bool &portableVersion);
+ /// \brief to get the default options widget
+ QWidget * options();
+ /// \brief to get a resource icon
+ QIcon getIcon(const QString &fileName) const;
+ signals:
+ void reloadLanguage();
+ public slots:
+ void resetOptions();
+ void newLanguageLoaded();
+ private:
+ FacilityInterface * facilityEngine;
+};
+
+#endif // FACTORY_H
diff --git a/plugins-unmaintained/Themes/Clean/informations.xml b/plugins-unmaintained/Themes/Clean/informations.xml
new file mode 100644
index 0000000..680d99a
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/informations.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<package>
+ <title xml:lang="en"><![CDATA[Clean style for Ultracopier]]></title><!-- english is required -->
+ <title xml:lang="fr"><![CDATA[Style Clean 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 RFC822 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[Clean style for Ultracopier]]></description>
+ <description xml:lang="fr"><![CDATA[Style Clean 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.4.0.8</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>Clean</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
diff --git a/plugins-unmaintained/Themes/Clean/interface.cpp b/plugins-unmaintained/Themes/Clean/interface.cpp
new file mode 100644
index 0000000..3f2cd2a
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/interface.cpp
@@ -0,0 +1,426 @@
+/** \file interface.cpp
+\brief Define the interface core
+\author alpha_one_x86
+*/
+
+#include "interface.h"
+#include "ui_interface.h"
+
+InterfacePlugin::InterfacePlugin(FacilityInterface * facilityEngine) :
+ ui(new Ui::interface())
+{
+ ui->setupUi(this);
+ currentFile = 0;
+ totalFile = 0;
+ currentSize = 0;
+ totalSize = 0;
+ modeIsForced = false;
+ haveStarted = false;
+ this->facilityEngine = facilityEngine;
+ menu=new QMenu(this);
+ ui->toolButton->setMenu(menu);
+ updateModeAndType();
+
+ connect(ui->actionAddFile,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFile);
+ connect(ui->actionAddFileToCopy,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFileToCopy);
+ connect(ui->actionAddFileToMove,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFileToMove);
+ connect(ui->actionAddFolderToCopy,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFolderToCopy);
+ connect(ui->actionAddFolderToMove,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFolderToMove);
+ connect(ui->actionAddFolder,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFolder);
+ show();
+}
+
+InterfacePlugin::~InterfacePlugin()
+{
+ delete menu;
+}
+
+void InterfacePlugin::forcedModeAddFile()
+{
+ emit userAddFile(mode);
+}
+
+void InterfacePlugin::forcedModeAddFolder()
+{
+ emit userAddFolder(mode);
+}
+
+void InterfacePlugin::forcedModeAddFileToCopy()
+{
+ emit userAddFile(Ultracopier::Copy);
+}
+
+void InterfacePlugin::forcedModeAddFolderToCopy()
+{
+ emit userAddFolder(Ultracopier::Copy);
+}
+
+void InterfacePlugin::forcedModeAddFileToMove()
+{
+ emit userAddFile(Ultracopier::Move);
+}
+
+void InterfacePlugin::forcedModeAddFolderToMove()
+{
+ emit userAddFolder(Ultracopier::Move);
+}
+
+void InterfacePlugin::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 InterfacePlugin::closeEvent(QCloseEvent *event)
+{
+ event->ignore();
+ this->hide();
+ emit cancel();
+}
+
+void InterfacePlugin::detectedSpeed(const quint64 &speed)
+{
+ Q_UNUSED(speed)
+}
+
+QWidget * InterfacePlugin::getOptionsEngineWidget()
+{
+ return NULL;
+}
+
+void InterfacePlugin::getOptionsEngineEnabled(const bool &isEnabled)
+{
+ Q_UNUSED(isEnabled)
+}
+
+void InterfacePlugin::setCopyType(const Ultracopier::CopyType &type)
+{
+ this->type=type;
+ updateModeAndType();
+}
+
+void InterfacePlugin::forceCopyMode(const Ultracopier::CopyMode &mode)
+{
+ modeIsForced=true;
+ this->mode=mode;
+ updateModeAndType();
+}
+
+void InterfacePlugin::updateTitle()
+{
+ QString actionString;
+ switch(action)
+ {
+ case Ultracopier::Listing:
+ actionString=facilityEngine->translateText("Listing");
+ break;
+ case Ultracopier::Copying:
+ actionString=facilityEngine->translateText("Copying");
+ break;
+ case Ultracopier::CopyingAndListing:
+ actionString=facilityEngine->translateText("Listing and copying");
+ break;
+ case Ultracopier::Idle:
+ actionString="Ultracopier";
+ break;
+ }
+ this->setWindowTitle(actionString+" - "+tr("%1/%2 files, %3/%4").arg(currentFile).arg(totalFile).arg(currentSize).arg(totalSize));
+}
+
+void InterfacePlugin::actionInProgess(const Ultracopier::EngineActionInProgress &action)
+{
+ this->action=action;
+ switch(action)
+ {
+ case Ultracopier::Copying:
+ case Ultracopier::CopyingAndListing:
+ ui->progressBar->setMaximum(65535);
+ ui->progressBar->setMinimum(0);
+ break;
+ case Ultracopier::Listing:
+ ui->progressBar->setMaximum(0);
+ ui->progressBar->setMinimum(0);
+ break;
+ case Ultracopier::Idle:
+ if(haveStarted)
+ emit cancel();
+ break;
+ default:
+ break;
+ }
+ switch(action)
+ {
+ case Ultracopier::Copying:
+ case Ultracopier::CopyingAndListing:
+ haveStarted=true;
+ break;
+ default:
+ break;
+ }
+}
+
+void InterfacePlugin::newTransferStart(const Ultracopier::ItemOfCopyList &item)
+{
+ ui->text->setText(item.sourceFullPath);
+}
+
+void InterfacePlugin::newTransferStop(const quint64 &id)
+{
+ Q_UNUSED(id)
+}
+
+void InterfacePlugin::newFolderListing(const QString &path)
+{
+ if(action==Ultracopier::Listing)
+ ui->text->setText(path);
+}
+
+void InterfacePlugin::remainingTime(const int &remainingSeconds)
+{
+ Q_UNUSED(remainingSeconds)
+}
+
+void InterfacePlugin::newCollisionAction(const QString &action)
+{
+ Q_UNUSED(action)
+}
+
+void InterfacePlugin::newErrorAction(const QString &action)
+{
+ Q_UNUSED(action)
+}
+
+void InterfacePlugin::errorDetected()
+{
+}
+
+/// \brief new error
+void InterfacePlugin::errorToRetry(const QString &source,const QString &destination,const QString &error)
+{
+ Q_UNUSED(source);
+ Q_UNUSED(destination);
+ Q_UNUSED(error);
+}
+
+void InterfacePlugin::setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation)
+{
+ Q_UNUSED(transferListOperation)
+}
+
+//speed limitation
+bool InterfacePlugin::setSpeedLimitation(const qint64 &speedLimitation)
+{
+ Q_UNUSED(speedLimitation)
+ return false;
+}
+
+//get information about the copy
+void InterfacePlugin::setGeneralProgression(const quint64 &current,const quint64 &total)
+{
+ ui->progressBar->setValue(((double)current/total)*65535);
+}
+
+void InterfacePlugin::setCollisionAction(const QList<QPair<QString,QString> > &list)
+{
+ Q_UNUSED(list)
+}
+
+void InterfacePlugin::setErrorAction(const QList<QPair<QString,QString> > &list)
+{
+ Q_UNUSED(list)
+}
+
+//edit the transfer list
+void InterfacePlugin::getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList> &returnActions)
+{
+ Q_UNUSED(returnActions)
+}
+
+void InterfacePlugin::haveExternalOrder()
+{
+ ui->toolButton->hide();
+}
+
+void InterfacePlugin::isInPause(const bool &isInPause)
+{
+ //resume in auto the pause
+ if(isInPause)
+ emit resume();
+}
+
+void InterfacePlugin::newLanguageLoaded()
+{
+ ui->retranslateUi(this);
+ updateTitle();
+}
+
+/*
+ Return[0]: totalFile
+ Return[1]: totalSize
+ Return[2]: currentFile
+ */
+void InterfacePlugin::synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions)
+{
+ loop_size=returnActions.size();
+ index_for_loop=0;
+ while(index_for_loop<loop_size)
+ {
+ const Ultracopier::ReturnActionOnCopyList& action=returnActions.at(index_for_loop);
+ switch(action.type)
+ {
+ case Ultracopier::AddingItem:
+ {
+ totalFile++;
+ totalSize+=action.addAction.size;
+ }
+ break;
+ case Ultracopier::RemoveItem:
+ currentFile++;
+ break;
+ case Ultracopier::PreOperation:
+ {
+ ItemOfCopyListWithMoreInformations tempItem;
+ tempItem.currentProgression=0;
+ tempItem.generalData=action.addAction;
+ currentSize+=action.addAction.size;
+ InternalRunningOperation << tempItem;
+ }
+ break;
+ case Ultracopier::Transfer:
+ {
+ sub_index_for_loop=0;
+ sub_loop_size=InternalRunningOperation.size();
+ while(sub_index_for_loop<sub_loop_size)
+ {
+ if(InternalRunningOperation.at(sub_index_for_loop).generalData.id==action.addAction.id)
+ {
+ InternalRunningOperation[sub_index_for_loop].actionType=action.type;
+ break;
+ }
+ sub_index_for_loop++;
+ }
+ }
+ break;
+ case Ultracopier::PostOperation:
+ {
+ sub_index_for_loop=0;
+ sub_loop_size=InternalRunningOperation.size();
+ while(sub_index_for_loop<sub_loop_size)
+ {
+ if(InternalRunningOperation.at(sub_index_for_loop).generalData.id==action.addAction.id)
+ {
+ InternalRunningOperation.removeAt(sub_index_for_loop);
+ break;
+ }
+ sub_index_for_loop++;
+ }
+ }
+ break;
+ case Ultracopier::CustomOperation:
+ {
+ bool custom_with_progression=(action.addAction.size==1);
+ sub_index_for_loop=0;
+ sub_loop_size=InternalRunningOperation.size();
+ while(sub_index_for_loop<sub_loop_size)
+ {
+ if(InternalRunningOperation.at(sub_index_for_loop).generalData.id==action.addAction.id)
+ {
+ InternalRunningOperation[sub_index_for_loop].actionType=action.type;
+ InternalRunningOperation[sub_index_for_loop].custom_with_progression=custom_with_progression;
+ InternalRunningOperation[sub_index_for_loop].currentProgression=0;
+ break;
+ }
+ sub_index_for_loop++;
+ }
+ }
+ break;
+ default:
+ //unknow code, ignore it
+ break;
+ }
+ index_for_loop++;
+ }
+}
+
+/** \brief support speed limitation */
+void InterfacePlugin::setSupportSpeedLimitation(const bool &supportSpeedLimitationBool)
+{
+ Q_UNUSED(supportSpeedLimitationBool);
+}
+
+void InterfacePlugin::setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList)
+{
+ loop_size=InternalRunningOperation.size();
+ sub_loop_size=progressionList.size();
+ index_for_loop=0;
+ while(index_for_loop<loop_size)
+ {
+ sub_index_for_loop=0;
+ while(sub_index_for_loop<sub_loop_size)
+ {
+ if(progressionList.at(sub_index_for_loop).id==InternalRunningOperation.at(index_for_loop).generalData.id)
+ {
+ InternalRunningOperation[index_for_loop].generalData.size=progressionList.at(sub_index_for_loop).total;
+ InternalRunningOperation[index_for_loop].currentProgression=(progressionList.at(sub_index_for_loop).currentRead+progressionList.at(sub_index_for_loop).currentWrite)/2;
+ break;
+ }
+ sub_index_for_loop++;
+ }
+ index_for_loop++;
+ }
+}
+
+InterfacePlugin::currentTransfertItem InterfacePlugin::getCurrentTransfertItem()
+{
+ currentTransfertItem returnItem;
+ returnItem.haveItem=InternalRunningOperation.size()>0;
+ if(returnItem.haveItem)
+ {
+ const ItemOfCopyListWithMoreInformations &itemTransfer=InternalRunningOperation.first();
+ returnItem.from=itemTransfer.generalData.sourceFullPath;
+ returnItem.to=itemTransfer.generalData.destinationFullPath;
+ returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size);
+ switch(itemTransfer.actionType)
+ {
+ case Ultracopier::CustomOperation:
+ if(!itemTransfer.custom_with_progression)
+ returnItem.progressBar_file=0;
+ else
+ {
+ if(itemTransfer.generalData.size>0)
+ returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535;
+ else
+ returnItem.progressBar_file=0;
+ }
+ break;
+ case Ultracopier::Transfer:
+ if(itemTransfer.generalData.size>0)
+ returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535;
+ else
+ returnItem.progressBar_file=0;
+ break;
+ case Ultracopier::PostOperation:
+ returnItem.progressBar_file=65535;
+ break;
+ default:
+ returnItem.progressBar_file=0;
+ }
+ }
+ return returnItem;
+}
+
diff --git a/plugins-unmaintained/Themes/Clean/interface.h b/plugins-unmaintained/Themes/Clean/interface.h
new file mode 100644
index 0000000..e5b5c36
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/interface.h
@@ -0,0 +1,141 @@
+/** \file interface.h
+\brief Define the interface
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef INTERFACE_TEST_H
+#define INTERFACE_TEST_H
+
+#include <QObject>
+#include <QWidget>
+#include <QMenu>
+#include <QCloseEvent>
+
+#include "../../../interface/PluginInterface_Themes.h"
+
+namespace Ui {
+ class interface;
+}
+
+/// \brief Define the interface
+class InterfacePlugin : public PluginInterface_Themes
+{
+ Q_OBJECT
+public slots:
+ //send information about the copy
+ /// \brief to set the action in progress
+ void actionInProgess(const Ultracopier::EngineActionInProgress&);
+ /// \brief new transfer have started
+ void newTransferStart(const Ultracopier::ItemOfCopyList &item);
+ /** \brief one transfer have been stopped
+ * is stopped, example: because error have occurred, and try later, don't remove the item! */
+ void newTransferStop(const quint64 &id);
+ /// \brief the new folder is listing
+ void newFolderListing(const QString &path);
+ /** \brief show the detected speed
+ * in byte per seconds */
+ void detectedSpeed(const quint64 &speed);
+ /** \brief show the remaining time
+ * time in seconds */
+ void remainingTime(const int &remainingSeconds);
+ /// \brief set the current collision action
+ void newCollisionAction(const QString &action);
+ /// \brief set the current error action
+ void newErrorAction(const QString &action);
+ /// \brief set one error is detected
+ void errorDetected();
+ /// \brief new error
+ void errorToRetry(const QString &source,const QString &destination,const QString &error);
+ //speed limitation
+ /** \brief the max speed used
+ * in byte per seconds, -1 if not able, 0 if disabled */
+ bool setSpeedLimitation(const qint64 &speedLimitation);
+ //set the translate
+ void newLanguageLoaded();
+ void synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions);
+ /** \brief support speed limitation */
+ void setSupportSpeedLimitation(const bool &supportSpeedLimitationBool);
+public:
+ /// \brief the transfer item with progression
+ struct ItemOfCopyListWithMoreInformations
+ {
+ quint64 currentProgression;
+ Ultracopier::ItemOfCopyList generalData;
+ Ultracopier::ActionTypeCopyList actionType;
+ bool custom_with_progression;
+ };
+ /// \brief returned first transfer item
+ struct currentTransfertItem
+ {
+ quint64 id;
+ bool haveItem;
+ QString from;
+ QString to;
+ QString current_file;
+ int progressBar_file;
+ };
+ /// \brief get the widget for the copy engine
+ QWidget * getOptionsEngineWidget();
+ /// \brief to set if the copy engine is found
+ void getOptionsEngineEnabled(const bool &isEnabled);
+ /// \brief get action on the transfer list (add/move/remove)
+ void getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList> &returnActions);
+ //get information about the copy
+ /// \brief show the general progression
+ void setGeneralProgression(const quint64 &current,const quint64 &total);
+ /// \brief show the file progression
+ void setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList);
+ /// \brief set collision action
+ void setCollisionAction(const QList<QPair<QString,QString> > &);
+ /// \brief set error action
+ void setErrorAction(const QList<QPair<QString,QString> > &);
+ /// \brief set the copyType -> file or folder
+ void setCopyType(const Ultracopier::CopyType&);
+ /// \brief set the copyMove -> copy or move, to force in copy or move, else support both
+ void forceCopyMode(const Ultracopier::CopyMode &);
+ /// \brief set if transfer list is exportable/importable
+ void setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation);
+ /** \brief set if the order is external (like file manager copy)
+ * to notify the interface, which can hide add folder/filer button */
+ void haveExternalOrder();
+ /// \brief set if is in pause
+ void isInPause(const bool &);
+signals:
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ /// \brief To debug source
+ void debugInformation(const DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne);
+ #endif
+public:
+ //constructor and destructor
+ InterfacePlugin(FacilityInterface * facilityEngine);
+ ~InterfacePlugin();
+private:
+ Ui::interface *ui;
+ quint64 currentFile;
+ quint64 totalFile;
+ quint64 currentSize;
+ quint64 totalSize;
+ void updateTitle();
+ QMenu *menu;
+ Ultracopier::EngineActionInProgress action;
+ void closeEvent(QCloseEvent *event);
+ void updateModeAndType();
+ bool modeIsForced;
+ Ultracopier::CopyType type;
+ Ultracopier::CopyMode mode;
+ bool haveStarted;
+ QList<ItemOfCopyListWithMoreInformations> InternalRunningOperation;
+ int loop_size,index_for_loop;
+ int sub_loop_size,sub_index_for_loop;
+ currentTransfertItem getCurrentTransfertItem();
+ FacilityInterface * facilityEngine;
+private slots:
+ void forcedModeAddFile();
+ void forcedModeAddFolder();
+ void forcedModeAddFileToCopy();
+ void forcedModeAddFolderToCopy();
+ void forcedModeAddFileToMove();
+ void forcedModeAddFolderToMove();
+};
+
+#endif // INTERFACE_TEST_H
diff --git a/plugins-unmaintained/Themes/Clean/interface.pro b/plugins-unmaintained/Themes/Clean/interface.pro
new file mode 100644
index 0000000..eb124c9
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/interface.pro
@@ -0,0 +1,46 @@
+CONFIG += c++11
+QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra"
+mac:QMAKE_CXXFLAGS+="-stdlib=libc++"
+
+QT += widgets
+TEMPLATE = lib
+CONFIG += plugin
+HEADERS = interface.h \
+ StructEnumDefinition.h \
+ factory.h \
+ ../../../interface/PluginInterface_Themes.h
+SOURCES = interface.cpp \
+ factory.cpp
+TARGET = $$qtLibraryTarget(interface)
+TRANSLATIONS += Languages/ar/translation.ts \
+ Languages/de/translation.ts \
+ Languages/el/translation.ts \
+ Languages/en/translation.ts \
+ Languages/es/translation.ts \
+ Languages/fr/translation.ts \
+ Languages/hi/translation.ts \
+ Languages/hu/translation.ts \
+ Languages/id/translation.ts \
+ Languages/it/translation.ts \
+ Languages/ja/translation.ts \
+ Languages/ko/translation.ts \
+ Languages/nl/translation.ts \
+ Languages/no/translation.ts \
+ Languages/pl/translation.ts \
+ Languages/ru/translation.ts \
+ Languages/th/translation.ts \
+ Languages/tr/translation.ts \
+ Languages/zh/translation.ts
+
+FORMS += \
+ interface.ui
+
+RESOURCES += \
+ resources.qrc
+
+win32 {
+ RESOURCES += resources_windows.qrc
+}
+!win32 {
+ RESOURCES += resources_unix.qrc
+}
diff --git a/plugins-unmaintained/Themes/Clean/interface.ui b/plugins-unmaintained/Themes/Clean/interface.ui
new file mode 100644
index 0000000..f178af7
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/interface.ui
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>interface</class>
+ <widget class="QWidget" name="interface">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>139</width>
+ <height>55</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string notr="true">Ultracopier</string>
+ </property>
+ <property name="windowIcon">
+ <iconset>
+ <normaloff>:/systray_Caught_Unix.png</normaloff>:/systray_Caught_Unix.png</iconset>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QLabel" name="text">
+ <property name="text">
+ <string>Action:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="action">
+ <property name="font">
+ <font>
+ <italic>true</italic>
+ </font>
+ </property>
+ <property name="text">
+ <string>Waiting</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QProgressBar" name="progressBar">
+ <property name="maximum">
+ <number>65535</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="toolButton">
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="popupMode">
+ <enum>QToolButton::InstantPopup</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ <action name="actionAddFile">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add file</string>
+ </property>
+ </action>
+ <action name="actionAddFolder">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add folder</string>
+ </property>
+ </action>
+ <action name="actionAddFileToMove">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move file(s)</string>
+ </property>
+ </action>
+ <action name="actionAddFolderToMove">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move folder</string>
+ </property>
+ </action>
+ <action name="actionAddFileToCopy">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Copy file(s)</string>
+ </property>
+ </action>
+ <action name="actionAddFolderToCopy">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Copy folder</string>
+ </property>
+ </action>
+ </widget>
+ <resources>
+ <include location="resources.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/plugins-unmaintained/Themes/Clean/plugin.json b/plugins-unmaintained/Themes/Clean/plugin.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/plugin.json
@@ -0,0 +1 @@
+{} \ No newline at end of file
diff --git a/plugins-unmaintained/Themes/Clean/resources.qrc b/plugins-unmaintained/Themes/Clean/resources.qrc
new file mode 100644
index 0000000..40533c4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/resources.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/Themes/Clean">
+ <file>resources/SystemTrayIcon/informations.png</file>
+ </qresource>
+</RCC>
diff --git a/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/informations.png b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/informations.png
new file mode 100644
index 0000000..5b7b255
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/informations.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Unix.png
new file mode 100644
index 0000000..6f5d1cf
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Unix.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Windows.png
new file mode 100644
index 0000000..5464856
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Windows.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
new file mode 100644
index 0000000..3961215
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
new file mode 100644
index 0000000..45d6315
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Unix.png
new file mode 100644
index 0000000..ac4299a
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Unix.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Windows.png
new file mode 100644
index 0000000..6e6bae7
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Windows.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Clean/resources_unix.qrc b/plugins-unmaintained/Themes/Clean/resources_unix.qrc
new file mode 100644
index 0000000..847cc1c
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/resources_unix.qrc
@@ -0,0 +1,7 @@
+<RCC>
+ <qresource prefix="/Themes/Clean">
+ <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-unmaintained/Themes/Clean/resources_windows.qrc b/plugins-unmaintained/Themes/Clean/resources_windows.qrc
new file mode 100644
index 0000000..7d8bbe1
--- /dev/null
+++ b/plugins-unmaintained/Themes/Clean/resources_windows.qrc
@@ -0,0 +1,7 @@
+<RCC>
+ <qresource prefix="/Themes/Clean">
+ <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-unmaintained/Themes/Teracopy/DebugEngineMacro.h b/plugins-unmaintained/Themes/Teracopy/DebugEngineMacro.h
new file mode 100644
index 0000000..4582010
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/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-unmaintained/Themes/Teracopy/Environment.h b/plugins-unmaintained/Themes/Teracopy/Environment.h
new file mode 100644
index 0000000..265a5a6
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/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-unmaintained/Themes/Teracopy/Languages/ar/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/ar/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/ar/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/de/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/de/translation.ts
new file mode 100644
index 0000000..e40fe09
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/de/translation.ts
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="de" sourcelanguage="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation>Total: %1 von %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation>%1 von %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation>%1% erledigt</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation>&amp;Mehr</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation>&amp;Pause</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation>überspringen (&amp;S)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation>Abbrechen (&amp;C)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;unterstützen Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation>Datei hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation>Ordner hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation>Datei (en) verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation>Ordner verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation>Datei (en) kopieren</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation>Verzeichnis kopieren</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/el/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/el/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/el/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/en/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/en/translation.ts
new file mode 100644
index 0000000..be91e0b
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/en/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/es/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/es/translation.ts
new file mode 100644
index 0000000..221091b
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/es/translation.ts
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="es" sourcelanguage="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished">Total: %1 de %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished">%1 de %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished">%1% hecho</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation>Más</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation>Pausa</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation>Omitir</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation>Cancelar</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Apoyar Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation>Añadir archivo</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation>Añadir carpeta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation>Mover archivo(s)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation>Mueva la carpeta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation>Copia el archivo(s)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation>Copia la carpeta</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/fr/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/fr/translation.ts
new file mode 100644
index 0000000..e9c7f41
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/fr/translation.ts
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="fr" sourcelanguage="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation>Total: %1 sur %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation>%1 sur %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translatorcomment>Exemple: 90% fait</translatorcomment>
+ <translation>%1% fait</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation>&amp;Plus</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation>&amp;Pause</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation>&amp;Passer</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Anuler</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Supporter Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation>Ajouter un fichier</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation>Ajouter un dossier</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation>Déplacer des fichier(s)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation>Déplacer un dossier</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation>Copier des fichier(s)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation>Copier un dossier</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/hi/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/hi/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/hi/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/hu/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/hu/translation.ts
new file mode 100644
index 0000000..98a96e4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/hu/translation.ts
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="hu">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation>Összesen: %1 / %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation>%1 / %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation>%1% kész</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation>&amp;Több</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation>&amp;Szünet</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation>&amp;Kihagy</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Mégse</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Támogasd az Ultracopier-t&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation>Fájl hozzáadása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation>Mappa hozzáadása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation>Fájl(ok) mozgatása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation>Mappa mozgatása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation>Fájl(ok) másolása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation>Mappa másolása</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/id/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/id/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/id/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/it/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/it/translation.ts
new file mode 100644
index 0000000..a46866d
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/it/translation.ts
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="it" sourcelanguage="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation>Totale: %1 di %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation>%1 di %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation>%1% fatto</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation>Alt&amp;o</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation>&amp;Pausa</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation>&amp;Salta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annulla</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Supporto Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation>Aggiungi file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation>Aggiungi cartella</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation>Sposta file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation>Sposta la cartella</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation>Copia file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation>Copia la cartella</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/ja/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/ja/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/ja/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/ko/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/ko/translation.ts
new file mode 100644
index 0000000..2231fde
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/ko/translation.ts
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ko_KR">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="+95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished">전체: %3 / %2 {1 ?}</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished">%1 / %2</translation>
+ </message>
+ <message>
+ <location line="+154"/>
+ <source>%1% done</source>
+ <translation type="unfinished">%1% 완료</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="+159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished">&amp;자세히</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>...</source>
+ <translation type="unfinished">...</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished">&amp;일시 중지</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished">&amp;건너뛰기</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished">&amp;취소</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Ultracopier 지원&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <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>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/nl/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/nl/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/nl/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/no/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/no/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/no/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/pl/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/pl/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/pl/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/ru/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/ru/translation.ts
new file mode 100644
index 0000000..322f33b
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/ru/translation.ts
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru" sourcelanguage="et">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished">Всего: %1 из %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished">%1 из %2</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished">%1% сделанный</translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation>больше</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation>пауза</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation>пропускать</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation>отменить</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;поддержка Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation>Добавить файл</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation>Добавить папку</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation>Перемещение файла(ов)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation>Перемещение папки</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation>Копировать файл(ы)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation>Копировать папку</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/th/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/th/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/th/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/tr/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/tr/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/tr/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/Languages/zh/translation.ts b/plugins-unmaintained/Themes/Teracopy/Languages/zh/translation.ts
new file mode 100644
index 0000000..a022e31
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Languages/zh/translation.ts
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="95"/>
+ <source>Total: %1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="96"/>
+ <source>%1 of %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="250"/>
+ <source>%1% done</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interfaceCopy</name>
+ <message>
+ <location filename="../../interface.ui" line="159"/>
+ <source>&amp;More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="172"/>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="210"/>
+ <source>&amp;Pause</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="232"/>
+ <source>&amp;Skip</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="251"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="281"/>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="308"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="317"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="326"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="335"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="344"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="353"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Teracopy/StructEnumDefinition.h b/plugins-unmaintained/Themes/Teracopy/StructEnumDefinition.h
new file mode 100644
index 0000000..c1758f4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/StructEnumDefinition.h
@@ -0,0 +1 @@
+#include "../../../StructEnumDefinition.h"
diff --git a/plugins-unmaintained/Themes/Teracopy/TransferModel.cpp b/plugins-unmaintained/Themes/Teracopy/TransferModel.cpp
new file mode 100644
index 0000000..24812a0
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/TransferModel.cpp
@@ -0,0 +1,528 @@
+#include "TransferModel.h"
+
+#define COLUMN_COUNT 3
+
+// Model
+
+TransferModel::TransferModel()
+{
+ iconStart=QIcon(":/Themes/Teracopy/resources/player_play.png");
+ iconPause=QIcon(":/Themes/Teracopy/resources/player_pause.png");
+ iconStop=QIcon(":/Themes/Teracopy/resources/checkbox.png");
+ currentIndexSearch=0;
+ haveSearchItem=false;
+ facilityEngine=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 || row >= transfertItemList.count() || column < 0 || column >= COLUMN_COUNT)
+ return QVariant();
+
+ const transfertItem& item = transfertItemList[row];
+ if(role==Qt::UserRole)
+ return item.id;
+ else if(role==Qt::DisplayRole)
+ {
+ switch(column)
+ {
+ case 0:
+ return item.source;
+ break;
+ case 1:
+ return item.size;
+ break;
+ case 2:
+ return item.destination;
+ break;
+ default:
+ return QVariant();
+ }
+ }
+ else if(role==Qt::DecorationRole)
+ {
+ switch(column)
+ {
+ case 0:
+ /*if(item.done)
+ return iconStop;
+ else */if(stopId.contains(item.id))
+ return iconPause;
+ else if(startId.contains(item.id))
+ return iconStart;
+ else
+ return QVariant();
+ break;
+ default:
+ return QVariant();
+ }
+ }
+ else if(role==Qt::BackgroundRole)
+ {
+ if(!search_text.isEmpty() && (item.source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || item.destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1))
+ {
+ 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.count() : 0;
+}
+
+quint64 TransferModel::firstId()
+{
+ if(transfertItemList.count()>0)
+ return transfertItemList[0].id;
+ else
+ return 0;
+}
+
+QVariant TransferModel::headerData( int section, Qt::Orientation orientation, int role ) const
+{
+ if ( role == Qt::DisplayRole && orientation == Qt::Horizontal && section >= 0 && section < COLUMN_COUNT ) {
+ switch ( section ) {
+ case 0:
+ return facilityEngine->translateText("Source");
+ case 1:
+ return facilityEngine->translateText("Size");
+ case 2:
+ return 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 || row >= transfertItemList.count() || 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();
+ emit dataChanged(index,index);
+ return true;
+ break;
+ case 1:
+ item.size=value.toString();
+ emit dataChanged(index,index);
+ return true;
+ break;
+ case 2:
+ item.destination=value.toString();
+ emit dataChanged(index,index);
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+ return false;
+}
+
+/*
+ Return[0]: totalFile
+ Return[1]: totalSize
+ Return[2]: currentFile
+ */
+QList<quint64> TransferModel::synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions)
+{
+ loop_size=returnActions.size();
+ index_for_loop=0;
+ 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;
+// newItem.done=false;
+ transfertItemList<<newItem;
+ totalFile++;
+ totalSize+=action.addAction.size;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, size: %2, name: %3").arg(action.addAction.id).arg(action.addAction.size).arg(action.addAction.sourceFullPath));
+ }
+ break;
+ case Ultracopier::MoveItem:
+ {
+ //bool current_entry=
+ 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));
+ break;
+ }
+ if(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));
+ break;
+ }
+ if(action.userAction.moveAt<0)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position));
+ break;
+ }
+ if(action.userAction.moveAt>(transfertItemList.size()-1))
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position));
+ break;
+ }
+ transfertItemList.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));
+ break;
+ }
+ if(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));
+ break;
+ }
+ transfertItemList.removeAt(action.userAction.position);
+ currentFile++;
+ startId.remove(action.addAction.id);
+ stopId.remove(action.addAction.id);
+ internalRunningOperation.remove(action.addAction.id);
+ }
+ 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;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("set for file %1: actionType: PreOperation").arg(action.addAction.id));
+ }
+ break;
+ case Ultracopier::Transfer:
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("found entry for file %1: actionType: Transfer").arg(action.addAction.id));
+ if(!startId.contains(action.addAction.id))
+ startId << action.addAction.id;
+ stopId.remove(action.addAction.id);
+ if(internalRunningOperation.contains(action.addAction.id))
+ 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));
+ }
+ break;
+ case Ultracopier::PostOperation:
+ {
+ if(!stopId.contains(action.addAction.id))
+ stopId << action.addAction.id;
+ startId.remove(action.addAction.id);
+ }
+ break;
+ case Ultracopier::CustomOperation:
+ {
+ bool custom_with_progression=(action.addAction.size==1);
+ //without progression
+ if(custom_with_progression)
+ {
+ if(startId.remove(action.addAction.id))
+ if(!stopId.contains(action.addAction.id))
+ stopId << action.addAction.id;
+ }
+ //with progression
+ else
+ {
+ stopId.remove(action.addAction.id);
+ if(!startId.contains(action.addAction.id))
+ startId << action.addAction.id;
+ }
+ if(internalRunningOperation.contains(action.addAction.id))
+ {
+ 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++;
+ }
+ emit layoutChanged();
+ return QList<quint64>() << totalFile << totalSize << currentFile;
+}
+
+void TransferModel::setFacilityEngine(FacilityInterface * facilityEngine)
+{
+ this->facilityEngine=facilityEngine;
+}
+
+int TransferModel::search(const QString &text,bool searchNext)
+{
+ emit layoutAboutToBeChanged();
+ search_text=text;
+ emit layoutChanged();
+ if(transfertItemList.size()==0)
+ return -1;
+ if(text.isEmpty())
+ 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)
+ {
+ if(transfertItemList.at(currentIndexSearch).source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || transfertItemList.at(currentIndexSearch).destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1)
+ {
+ 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 QString &text)
+{
+ emit layoutAboutToBeChanged();
+ search_text=text;
+ emit layoutChanged();
+ if(transfertItemList.size()==0)
+ return -1;
+ if(text.isEmpty())
+ 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)
+ {
+ if(transfertItemList.at(currentIndexSearch).source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || transfertItemList.at(currentIndexSearch).destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1)
+ {
+ 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(QList<Ultracopier::ProgressionItem> &progressionList)
+{
+ loop_size=progressionList.size();
+ index_for_loop=0;
+ while(index_for_loop<loop_size)
+ {
+ if(internalRunningOperation.contains(progressionList.at(index_for_loop).id))
+ {
+ 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.removeAt(index_for_loop);
+ index_for_loop--;
+ loop_size--;
+ #endif
+ }
+ index_for_loop++;
+ }
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(progressionList.size()>0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"progression remaning items");
+ #endif
+}
+
+TransferModel::currentTransfertItem TransferModel::getCurrentTransfertItem()
+{
+ currentTransfertItem returnItem;
+ returnItem.progressBar_read=-1;
+ returnItem.progressBar_write=0;
+ returnItem.haveItem=startId.size()>0;
+ if(returnItem.haveItem)
+ {
+ if(!internalRunningOperation.contains(*startId.constBegin()))
+ {
+ returnItem.haveItem=false;
+ return returnItem;
+ }
+ const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation[*startId.constBegin()];
+ 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));
+ 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));
+ 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));
+ break;
+ }
+ }
+ else
+ {
+ returnItem.haveItem=stopId.size()>0;
+ if(returnItem.haveItem)
+ {
+ if(!internalRunningOperation.contains(*stopId.constBegin()))
+ {
+ returnItem.haveItem=false;
+ return returnItem;
+ }
+ const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation[*stopId.constBegin()];
+ 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));
+ 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));
+ 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));
+ 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-unmaintained/Themes/Teracopy/TransferModel.h b/plugins-unmaintained/Themes/Teracopy/TransferModel.h
new file mode 100644
index 0000000..977c986
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/TransferModel.h
@@ -0,0 +1,92 @@
+#ifndef TRANSFERMODEL_H
+#define TRANSFERMODEL_H
+
+#include <QAbstractTableModel>
+#include <QModelIndex>
+#include <QVariant>
+#include <QList>
+#include <QSet>
+#include <QIcon>
+#include <QString>
+
+#include "StructEnumDefinition.h"
+#include "Environment.h"
+
+#include "../../../interface/FacilityInterface.h"
+
+/// \brief model to store the transfer list
+class TransferModel : public QAbstractTableModel
+{
+ Q_OBJECT
+public:
+ /// \brief the transfer item displayed
+ struct transfertItem
+ {
+ quint64 id;
+ QString source;
+ QString size;
+ QString destination;
+ };
+ /// \brief the transfer item with progression
+ struct ItemOfCopyListWithMoreInformations
+ {
+ quint64 currentReadProgression,currentWriteProgression;
+ Ultracopier::ItemOfCopyList generalData;
+ Ultracopier::ActionTypeCopyList actionType;
+ bool custom_with_progression;
+ };
+ /// \brief returned first transfer item
+ struct currentTransfertItem
+ {
+ quint64 id;
+ bool haveItem;
+ QString from;
+ QString to;
+ QString 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);
+
+ QList<quint64> synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions);
+ void setFacilityEngine(FacilityInterface * facilityEngine);
+
+ int search(const QString &text,bool searchNext);
+ int searchPrev(const QString &text);
+
+ void setFileProgression(QList<Ultracopier::ProgressionItem> &progressionList);
+
+ currentTransfertItem getCurrentTransfertItem();
+
+ quint64 firstId();
+protected:
+ QList<transfertItem> transfertItemList;///< To have a transfer list for the user
+ QList<transfertItem> transfertItemListDone;///< To have a transfer list for the user
+ QSet<quint64> startId,stopId;///< To show what is started, what is stopped
+ QHash<quint64,ItemOfCopyListWithMoreInformations> internalRunningOperation;///< to have progression and stat
+ QIcon iconStart,iconPause,iconStop;
+private:
+ int loop_size,index_for_loop;
+ int sub_loop_size,sub_index_for_loop;
+ int row,column;
+ quint64 totalFile,totalSize,currentFile;
+ FacilityInterface * facilityEngine;
+ QString search_text;
+ /// \brief index from start the search, decresed by remove before it
+ int currentIndexSearch;
+ bool haveSearchItem;
+ quint64 searchId;
+signals:
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ /// \brief To debug source
+ void debugInformation(const Ultracopier::DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne);
+ #endif
+};
+
+#endif // TRANSFERMODEL_H
diff --git a/plugins-unmaintained/Themes/Teracopy/Variable.h b/plugins-unmaintained/Themes/Teracopy/Variable.h
new file mode 100644
index 0000000..963d0c8
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/Variable.h
@@ -0,0 +1,15 @@
+/** \file Variable.h
+\brief Define the environment variable
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef VARIABLE_H
+#define VARIABLE_H
+
+//Un-comment this next line to put ultracopier plugin in debug mode
+#define ULTRACOPIER_PLUGIN_DEBUG
+
+#endif // VARIABLE_H
+
+
+
diff --git a/plugins-unmaintained/Themes/Teracopy/documentation.dox b/plugins-unmaintained/Themes/Teracopy/documentation.dox
new file mode 100644
index 0000000..ee76e20
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/documentation.dox
@@ -0,0 +1,28 @@
+/* -*- mode: C++ ; c-file-style: "stroustrup" -*- **/
+
+/*
+ This file contains NO source code, just some documentation for doxygen to
+ parse.
+*/
+
+/*!
+ \mainpage Teracopy
+
+ \section mainpage_overview Overview
+
+ It's Teracopy interface, to come from Teracopy to Ultracopier.\n
+ More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>. Is part of Ultracopier project as alternative plugin.
+
+ \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.
+
+*/
diff --git a/plugins-unmaintained/Themes/Teracopy/factory.cpp b/plugins-unmaintained/Themes/Teracopy/factory.cpp
new file mode 100644
index 0000000..2b176bf
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/factory.cpp
@@ -0,0 +1,70 @@
+/** \file factory.cpp
+\brief Define the factory core
+\author alpha_one_x86
+*/
+
+#include "factory.h"
+
+PluginInterface_Themes * ThemesFactory::getInstance()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ Themes * newInterface=new Themes(facilityEngine);
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ connect(newInterface,&Themes::debugInformation,this,&PluginInterface_ThemesFactory::debugInformation);
+ #endif
+ connect(this,&ThemesFactory::reloadLanguage,newInterface,&Themes::newLanguageLoaded);
+ return newInterface;
+}
+
+void ThemesFactory::setResources(OptionInterface * options,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityInterface,const bool &portableVersion)
+{
+ Q_UNUSED(writePath);
+ Q_UNUSED(pluginPath);
+ this->facilityEngine=facilityInterface;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, writePath: "+writePath+", pluginPath: "+pluginPath);
+ Q_UNUSED(portableVersion);
+ Q_UNUSED(options);
+}
+
+QWidget * ThemesFactory::options()
+{
+ return NULL;
+}
+
+void ThemesFactory::resetOptions()
+{
+}
+
+QIcon ThemesFactory::getIcon(const QString &fileName) const
+{
+ if(fileName=="SystemTrayIcon/exit.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("application-exit");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ if(fileName=="SystemTrayIcon/add.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("list-add");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ if(fileName=="SystemTrayIcon/informations.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("help-about");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ if(fileName=="SystemTrayIcon/options.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("applications-system");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ return QIcon(":/Themes/Teracopy/resources/"+fileName);
+}
+
+void ThemesFactory::newLanguageLoaded()
+{
+ emit reloadLanguage();
+}
diff --git a/plugins-unmaintained/Themes/Teracopy/factory.h b/plugins-unmaintained/Themes/Teracopy/factory.h
new file mode 100644
index 0000000..0b3bb3f
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/factory.h
@@ -0,0 +1,42 @@
+/** \file factory.h
+\brief Define the factory
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef FACTORY_H
+#define FACTORY_H
+
+#include <QObject>
+#include <QWidget>
+#include <QMenu>
+#include <QCloseEvent>
+
+#include "../../../interface/PluginInterface_Themes.h"
+#include "interface.h"
+#include "Environment.h"
+
+/// \brief Define the factory, to create instance of the interface
+class ThemesFactory : public PluginInterface_ThemesFactory
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.ThemesFactory/1.0.1.0" FILE "plugin.json")
+ Q_INTERFACES(PluginInterface_ThemesFactory)
+public:
+ /// \brief to return the instance of the copy engine
+ PluginInterface_Themes * getInstance();
+ /// \brief set the resources, to store options, to have facilityInterface
+ void setResources(OptionInterface * options,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityInterface,const bool &portableVersion);
+ /// \brief to get the default options widget
+ QWidget * options();
+ /// \brief to get a resource icon
+ QIcon getIcon(const QString &fileName) const;
+public slots:
+ void resetOptions();
+ void newLanguageLoaded();
+signals:
+ void reloadLanguage();
+private:
+ FacilityInterface * facilityEngine;
+};
+
+#endif // FACTORY_H
diff --git a/plugins-unmaintained/Themes/Teracopy/informations.xml b/plugins-unmaintained/Themes/Teracopy/informations.xml
new file mode 100644
index 0000000..4447611
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/informations.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<package>
+ <title xml:lang="en"><![CDATA[Teracopy style for Ultracopier]]></title><!-- english is required -->
+ <title xml:lang="fr"><![CDATA[Style Teracopy 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[Teracopy style for Ultracopier, reproduct with screenshot on internet]]></description>
+ <description xml:lang="fr"><![CDATA[Style Teracopy pour Ultracopier, reproduit avec les screenshots vu sur internet]]></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.4.0.8</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>Teracopy</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
diff --git a/plugins-unmaintained/Themes/Teracopy/interface.cpp b/plugins-unmaintained/Themes/Teracopy/interface.cpp
new file mode 100644
index 0000000..64220d0
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/interface.cpp
@@ -0,0 +1,500 @@
+/** \file interface.cpp
+\brief Define the interface core
+\author alpha_one_x86
+*/
+
+#include <QMessageBox>
+#include <cmath>
+
+#include "interface.h"
+#include "ui_interface.h"
+
+// The cmath header from MSVC does not contain round()
+#if (defined(_WIN64) || defined(_WIN32)) && defined(_MSC_VER)
+inline double round(double d) {
+ return floor( d + 0.5 );
+}
+#endif
+
+Themes::Themes(FacilityInterface * facilityEngine) :
+ ui(new Ui::interfaceCopy())
+{
+ this->facilityEngine=facilityEngine;
+ ui->setupUi(this);
+ transferModel.setFacilityEngine(facilityEngine);
+ ui->TransferList->setModel(&transferModel);
+
+ currentFile = 0;
+ totalFile = 0;
+ currentSize = 0;
+ totalSize = 0;
+ storeIsInPause = false;
+ modeIsForced = false;
+ haveStarted = false;
+ speedString = facilityEngine->speedToString(0);
+ ui->toolButtonMenu->setMenu(&menu);
+
+ 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);
+
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ connect(&transferModel,&TransferModel::debugInformation,this,&Themes::debugInformation);
+ #endif
+
+ progressColorWrite=QApplication::palette().color(QPalette::Highlight);
+ progressColorRead=QApplication::palette().color(QPalette::AlternateBase);
+ progressColorRemaining=QApplication::palette().color(QPalette::Base);
+
+ 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())
+ );
+ show();
+ isInPause(false);
+}
+
+Themes::~Themes()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+}
+
+QWidget * Themes::getOptionsEngineWidget()
+{
+ return &optionEngineWidget;
+}
+
+void Themes::getOptionsEngineEnabled(const bool &isEnabled)
+{
+ Q_UNUSED(isEnabled);
+}
+
+/// \brief set if transfer list is exportable/importable
+void Themes::setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation)
+{
+ Q_UNUSED(transferListOperation);
+}
+
+void Themes::closeEvent(QCloseEvent *event)
+{
+ event->ignore();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ this->hide();
+ emit cancel();
+}
+
+void Themes::updateOverallInformation()
+{
+ ui->overall->setText(tr("Total: %1 of %2").arg(facilityEngine->sizeToString(currentSize)).arg(facilityEngine->sizeToString(totalSize)));
+ ui->labelNumberFile->setText(tr("%1 of %2").arg(currentFile).arg(totalFile));
+}
+
+void Themes::actionInProgess(const Ultracopier::EngineActionInProgress &action)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"start: "+QString::number(action));
+ this->action=action;
+ ui->pauseButton->setEnabled(action!=Ultracopier::Idle);
+ switch(action)
+ {
+ case Ultracopier::Copying:
+ case Ultracopier::CopyingAndListing:
+ ui->progressBar_all->setMaximum(65535);
+ ui->progressBar_all->setMinimum(0);
+ break;
+ case Ultracopier::Listing:
+ ui->progressBar_all->setMaximum(0);
+ ui->progressBar_all->setMinimum(0);
+ break;
+ case Ultracopier::Idle:
+ if(haveStarted)
+ emit cancel();
+ break;
+ default:
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"Very wrong switch case!");
+ break;
+ }
+ switch(action)
+ {
+ case Ultracopier::Copying:
+ case Ultracopier::CopyingAndListing:
+ haveStarted=true;
+ ui->cancelButton->setText(facilityEngine->translateText("Quit"));
+ if(storeIsInPause)
+ ui->pauseButton->setText(facilityEngine->translateText("Start"));
+ else
+ ui->pauseButton->setText(facilityEngine->translateText("Pause"));
+ break;
+ case Ultracopier::Idle:
+ ui->cancelButton->setText(facilityEngine->translateText("Quit"));
+ break;
+ default:
+ break;
+ }
+}
+
+void Themes::newFolderListing(const QString &path)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ if(action==Ultracopier::Listing)
+ ui->from->setText(path);
+}
+
+void Themes::detectedSpeed(const quint64 &speed)//in byte per seconds
+{
+ speedString=facilityEngine->speedToString(speed);
+}
+
+/** \brief support speed limitation */
+void Themes::setSupportSpeedLimitation(const bool &supportSpeedLimitationBool)
+{
+ Q_UNUSED(supportSpeedLimitationBool);
+}
+
+void Themes::remainingTime(const int &remainingSeconds)
+{
+ if(remainingSeconds==-1)
+ ui->labelTimeRemaining->setText("<html><body>&#8734;</body></html>");
+ else
+ {
+ Ultracopier::TimeDecomposition time=facilityEngine->secondsToTimeDecomposition(remainingSeconds);
+ ui->labelTimeRemaining->setText(QString::number(time.hour)+":"+QString::number(time.minute)+":"+QString::number(time.second));
+ }
+}
+
+void Themes::newCollisionAction(const QString &action)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ Q_UNUSED(action);
+}
+
+void Themes::newErrorAction(const QString &action)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ Q_UNUSED(action);
+}
+
+void Themes::errorDetected()
+{
+}
+
+/// \brief new error
+void Themes::errorToRetry(const QString &source,const QString &destination,const QString &error)
+{
+ Q_UNUSED(source);
+ Q_UNUSED(destination);
+ Q_UNUSED(error);
+}
+
+//speed limitation
+bool Themes::setSpeedLimitation(const qint64 &speedLimitation)
+{
+ if(speedLimitation>0)
+ emit newSpeedLimitation(0);
+ return true;
+}
+
+//get information about the copy
+void Themes::setGeneralProgression(const quint64 &current,const quint64 &total)
+{
+ currentSize=current;
+ totalSize=total;
+ if(total>0)
+ {
+ int newIndicator=((double)current/total)*65535;
+ ui->progressBar_all->setValue(newIndicator);
+ }
+ else
+ ui->progressBar_all->setValue(0);
+}
+
+void Themes::setCollisionAction(const QList<QPair<QString,QString> > &list)
+{
+ Q_UNUSED(list);
+}
+
+void Themes::setErrorAction(const QList<QPair<QString,QString> > &list)
+{
+ Q_UNUSED(list);
+}
+
+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)
+ this->setWindowTitle("Ultracopier - "+facilityEngine->translateText("Copy"));
+ else
+ this->setWindowTitle("Ultracopier - "+facilityEngine->translateText("Move"));
+ updateModeAndType();
+}
+
+void Themes::updateTitle()
+{
+ QString startString;
+ if(action==Ultracopier::Copying || action==Ultracopier::CopyingAndListing)
+ startString=tr("%1% done").arg(((double)currentSize/totalSize)*100);
+ else
+ startString="Ultracopier";
+ startString+=" - ";
+ if(mode==Ultracopier::Copy)
+ this->setWindowTitle(startString+facilityEngine->translateText("Copy")+" ("+speedString+")");
+ else
+ this->setWindowTitle(startString+facilityEngine->translateText("Move")+" ("+speedString+")");
+}
+
+void Themes::haveExternalOrder()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+// ui->moreButton->toggle();
+}
+
+void Themes::isInPause(const bool &isInPause)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"isInPause: "+QString::number(isInPause));
+ //resume in auto the pause
+ storeIsInPause=isInPause;
+ if(isInPause)
+ ui->pauseButton->setText(facilityEngine->translateText("Resume"));
+ else
+ ui->pauseButton->setText(facilityEngine->translateText("Pause"));
+}
+
+void Themes::updateCurrentFileInformation()
+{
+ TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem();
+ if(transfertItem.haveItem)
+ {
+ ui->from->setText(transfertItem.from);
+ //commented because not displayed on this interface
+ //ui->to->setText(transfertItem.to);
+ //ui->current_file->setText(transfertItem.current_file);
+ if(transfertItem.progressBar_read!=-1)
+ {
+ ui->progressBar_file->setRange(0,65535);
+ 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())
+ );
+ ui->progressBar_file->setValue(transfertItem.progressBar_write);
+ }
+ else
+ ui->progressBar_file->setRange(0,0);
+ }
+ else
+ {
+ ui->from->setText("");
+ //commented because not displayed on this interface
+ //ui->to->setText("");
+ //ui->current_file->setText("-");
+ if(haveStarted && transferModel.rowCount()==0)
+ ui->progressBar_file->setValue(65535);
+ else if(!haveStarted)
+ ui->progressBar_file->setValue(0);
+ }
+}
+
+
+void Themes::on_cancelButton_clicked()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ this->hide();
+ emit cancel();
+}
+
+
+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,QStringLiteral("skip at running: %1").arg(transfertItem.id));
+ emit skip(transfertItem.id);
+ }
+ else
+ {
+ if(transferModel.rowCount()>1)
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("skip at idle: %1").arg(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);
+}
+
+//set the translate
+void Themes::newLanguageLoaded()
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start");
+ if(modeIsForced)
+ forceCopyMode(mode);
+ ui->retranslateUi(this);
+ if(haveStarted)
+ updateCurrentFileInformation();
+ updateOverallInformation();
+}
+
+/*
+ Return[0]: totalFile
+ Return[1]: totalSize
+ Return[2]: currentFile
+ */
+void Themes::getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions)
+{
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, returnActions.size(): "+QString::number(returnActions.size()));
+ QList<quint64> returnValue=transferModel.synchronizeItems(returnActions);
+ totalFile+=returnValue[0];
+ totalSize+=returnValue[1];
+ currentFile+=returnValue[2];
+ if(transferModel.rowCount()==0)
+ {
+ ui->skipButton->setEnabled(false);
+ ui->progressBar_all->setValue(65535);
+ ui->progressBar_file->setValue(65535);
+ currentSize=totalSize;
+ }
+ else
+ ui->skipButton->setEnabled(true);
+ updateOverallInformation();
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"transferModel.rowCount(): "+QString::number(transferModel.rowCount()));
+}
+
+void Themes::setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList)
+{
+ QList<Ultracopier::ProgressionItem> progressionListBis=progressionList;
+ transferModel.setFileProgression(progressionListBis);
+ updateCurrentFileInformation();
+}
+
+Themes::currentTransfertItem Themes::getCurrentTransfertItem()
+{
+ currentTransfertItem returnItem;
+ returnItem.haveItem=InternalRunningOperation.size()>0;
+ if(returnItem.haveItem)
+ {
+ const ItemOfCopyListWithMoreInformations &itemTransfer=InternalRunningOperation.first();
+ returnItem.from=itemTransfer.generalData.sourceFullPath;
+ returnItem.to=itemTransfer.generalData.destinationFullPath;
+ returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size);
+ switch(itemTransfer.actionType)
+ {
+ case Ultracopier::CustomOperation:
+ if(!itemTransfer.custom_with_progression)
+ returnItem.progressBar_file=0;
+ else
+ {
+ if(itemTransfer.generalData.size>0)
+ returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535;
+ else
+ returnItem.progressBar_file=0;
+ }
+ break;
+ case Ultracopier::Transfer:
+ if(itemTransfer.generalData.size>0)
+ returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535;
+ else
+ returnItem.progressBar_file=0;
+ break;
+ case Ultracopier::PostOperation:
+ returnItem.progressBar_file=65535;
+ break;
+ default:
+ returnItem.progressBar_file=0;
+ }
+ }
+ return returnItem;
+}
diff --git a/plugins-unmaintained/Themes/Teracopy/interface.h b/plugins-unmaintained/Themes/Teracopy/interface.h
new file mode 100644
index 0000000..b2f6a70
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/interface.h
@@ -0,0 +1,176 @@
+/** \file interface.h
+\brief Define the interface test
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef INTERFACE_H
+#define INTERFACE_H
+
+#include <QObject>
+#include <QWidget>
+#include <QCloseEvent>
+#include <QMenu>
+#include <QColor>
+
+#include "../../../interface/PluginInterface_Themes.h"
+
+#include "ui_interface.h"
+#include "Environment.h"
+#include "TransferModel.h"
+
+namespace Ui {
+ class interfaceCopy;
+}
+
+/// \brief Define the interface
+class Themes : public PluginInterface_Themes
+{
+ Q_OBJECT
+private:
+ struct ItemOfCopyListWithMoreInformations
+ {
+ quint64 currentProgression;
+ Ultracopier::ItemOfCopyList generalData;
+ Ultracopier::ActionTypeCopyList actionType;
+ bool custom_with_progression;
+ };
+ struct currentTransfertItem
+ {
+ quint64 id;
+ bool haveItem;
+ QString from;
+ QString to;
+ QString current_file;
+ int progressBar_file;
+ };
+ Ui::interfaceCopy *ui;
+ quint64 currentFile;
+ quint64 totalFile;
+ quint64 currentSize;
+ quint64 totalSize;
+ void updateOverallInformation();
+ void updateCurrentFileInformation();
+ Ultracopier::EngineActionInProgress action;
+ void closeEvent(QCloseEvent *event);
+ QList<ItemOfCopyListWithMoreInformations> currentProgressList;
+ QString speedString;
+ bool storeIsInPause;
+ bool modeIsForced;
+ Ultracopier::CopyType type;
+ Ultracopier::CopyMode mode;
+ void updateModeAndType();
+ bool haveStarted;
+ QWidget optionEngineWidget;
+ void updateTitle();
+ QMenu menu;
+ FacilityInterface * facilityEngine;
+ int loop_size,loop_sub_size,indexAction,index;
+ int index_for_loop,sub_loop_size,sub_index_for_loop;
+ currentTransfertItem getCurrentTransfertItem();
+ QList<quint64> startId,stopId;///< To show what is started, what is stopped
+ QList<ItemOfCopyListWithMoreInformations> InternalRunningOperation;///< to have progression and stat
+ /// \brief the custom transfer model
+ TransferModel transferModel;
+ QColor progressColorWrite;
+ QColor progressColorRead;
+ QColor progressColorRemaining;
+public:
+ //send information about the copy
+ /// \brief to set the action in progress
+ void actionInProgess(const Ultracopier::EngineActionInProgress &);
+ /// \brief new transfer have started
+ void newTransferStart(const Ultracopier::ItemOfCopyList &item);
+ /** \brief one transfer have been stopped
+ * is stopped, example: because error have occurred, and try later, don't remove the item! */
+ void newTransferStop(const quint64 &id);
+ /// \brief the new folder is listing
+ void newFolderListing(const QString &path);
+ /** \brief show the detected speed
+ * in byte per seconds */
+ void detectedSpeed(const quint64 &speed);
+ /** \brief support speed limitation */
+ void setSupportSpeedLimitation(const bool &supportSpeedLimitationBool);
+ /** \brief show the remaining time
+ * time in seconds */
+ void remainingTime(const int &remainingSeconds);
+ /// \brief set the current collision action
+ void newCollisionAction(const QString &action);
+ /// \brief set the current error action
+ void newErrorAction(const QString &action);
+ /// \brief set one error is detected
+ void errorDetected();
+ /// \brief new error
+ void errorToRetry(const QString &source,const QString &destination,const QString &error);
+ //speed limitation
+ /** \brief the max speed used
+ * in byte per seconds, -1 if not able, 0 if disabled */
+ bool setSpeedLimitation(const qint64 &speedLimitation);
+ Themes(FacilityInterface * facilityEngine);
+ ~Themes();
+ //get information about the copy
+ /// \brief show the general progression
+ void setGeneralProgression(const quint64 &current,const quint64 &total);
+ /// \brief show the file progression
+ void setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList);
+ /// \brief set collision action
+ void setCollisionAction(const QList<QPair<QString,QString> > &);
+ /// \brief set error action
+ void setErrorAction(const QList<QPair<QString,QString> > &);
+ /// \brief set the copyType -> file or folder
+ void setCopyType(const Ultracopier::CopyType &);
+ /// \brief set the copyMove -> copy or move, to force in copy or move, else support both
+ void forceCopyMode(const Ultracopier::CopyMode &);
+ /// \brief set if transfer list is exportable/importable
+ void setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation);
+ /** \brief set if the order is external (like file manager copy)
+ * to notify the interface, which can hide add folder/filer button */
+ void haveExternalOrder();
+ /// \brief set if is in pause
+ void isInPause(const bool &);
+ /// \brief get the widget for the copy engine
+ QWidget * getOptionsEngineWidget();
+ /// \brief to set if the copy engine is found
+ void getOptionsEngineEnabled(const bool &isEnabled);
+private slots:
+ void on_cancelButton_clicked();
+ void on_pauseButton_clicked();
+ void on_skipButton_clicked();
+ void forcedModeAddFile();
+ void forcedModeAddFolder();
+ void forcedModeAddFileToCopy();
+ void forcedModeAddFolderToCopy();
+ void forcedModeAddFileToMove();
+ void forcedModeAddFolderToMove();
+signals:
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ /// \brief To debug source
+ void debugInformation(const Ultracopier::DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne);
+ #endif
+ //set the transfer list
+ /*void removeItems(QList<int> ids);
+ void moveItemsOnTop(QList<int> ids);
+ void moveItemsUp(QList<int> ids);
+ void moveItemsDown(QList<int> ids);
+ void moveItemsOnBottom(QList<int> ids);
+ void exportTransferList();
+ void importTransferList();
+ //user ask ask to add folder (add it with interface ask source/destination)
+ void userAddFolder(Ultracopier::CopyMode);
+ void userAddFile(Ultracopier::CopyMode);
+ void urlDropped(QList<QUrl> urls);
+ //action on the copy
+ void pause();
+ void resume();
+ void skip(quint64 id);
+ void cancel();
+ //edit the action
+ void sendCollisionAction(QString action);
+ void sendErrorAction(QString action);
+ void newSpeedLimitation(qint64);*/
+public slots:
+ //set the translate
+ void newLanguageLoaded();
+ void getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions);
+};
+
+#endif // INTERFACE_H
diff --git a/plugins-unmaintained/Themes/Teracopy/interface.pro b/plugins-unmaintained/Themes/Teracopy/interface.pro
new file mode 100644
index 0000000..5049e19
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/interface.pro
@@ -0,0 +1,50 @@
+CONFIG += c++11
+QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra"
+mac:QMAKE_CXXFLAGS+="-stdlib=libc++"
+
+QT += widgets
+TEMPLATE = lib
+CONFIG += plugin
+HEADERS = interface.h \
+ StructEnumDefinition.h \
+ factory.h \
+ DebugEngineMacro.h \
+ Environment.h \
+ Variable.h \
+ ../../../interface/PluginInterface_Themes.h \
+ TransferModel.h
+SOURCES = interface.cpp \
+ factory.cpp \
+ TransferModel.cpp
+TARGET = $$qtLibraryTarget(interface)
+TRANSLATIONS += Languages/ar/translation.ts \
+ Languages/de/translation.ts \
+ Languages/el/translation.ts \
+ Languages/en/translation.ts \
+ Languages/es/translation.ts \
+ Languages/fr/translation.ts \
+ Languages/hi/translation.ts \
+ Languages/hu/translation.ts \
+ Languages/id/translation.ts \
+ Languages/it/translation.ts \
+ Languages/ja/translation.ts \
+ Languages/ko/translation.ts \
+ Languages/nl/translation.ts \
+ Languages/no/translation.ts \
+ Languages/pl/translation.ts \
+ Languages/ru/translation.ts \
+ Languages/th/translation.ts \
+ Languages/tr/translation.ts \
+ Languages/zh/translation.ts
+
+RESOURCES += resources.qrc
+
+FORMS += \
+ interface.ui
+
+win32 {
+ RESOURCES += resources_windows.qrc
+}
+!win32 {
+ RESOURCES += resources_unix.qrc
+}
diff --git a/plugins-unmaintained/Themes/Teracopy/interface.ui b/plugins-unmaintained/Themes/Teracopy/interface.ui
new file mode 100644
index 0000000..a5274b3
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/interface.ui
@@ -0,0 +1,394 @@
+<?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>476</width>
+ <height>364</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>430</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string notr="true">94% done (42BK/s)</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/Themes/Teracopy/resources/main.png</normaloff>:/Themes/Teracopy/resources/main.png</iconset>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>1</number>
+ </property>
+ <property name="sizeConstraint">
+ <enum>QLayout::SetMinimumSize</enum>
+ </property>
+ <property name="leftMargin">
+ <number>2</number>
+ </property>
+ <property name="rightMargin">
+ <number>2</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="from">
+ <property name="text">
+ <string notr="true">-</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_5">
+ <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="labelNumberFile"/>
+ </item>
+ </layout>
+ </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="horizontalLayout_4">
+ <item>
+ <widget class="QLabel" name="overall">
+ <property name="text">
+ <string notr="true">Total: -</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="labelTimeRemaining">
+ <property name="text">
+ <string notr="true">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </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">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="moreButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>25</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>&amp;More</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="toolButtonMenu">
+ <property name="text">
+ <string>...</string>
+ </property>
+ <property name="popupMode">
+ <enum>QToolButton::InstantPopup</enum>
+ </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>
+ <item>
+ <widget class="QPushButton" name="pauseButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>25</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>&amp;Pause</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="skipButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>25</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>&amp;Skip</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="cancelButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>25</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <spacer name="horizontalSpacer_3">
+ <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="label_2">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://ultracopier.first-world.info/&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0057ae;&quot;&gt;Support Ultracopier&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTreeView" name="TransferList">
+ <property name="selectionMode">
+ <enum>QAbstractItemView::NoSelection</enum>
+ </property>
+ <property name="rootIsDecorated">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ <action name="actionAddFile">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add file</string>
+ </property>
+ </action>
+ <action name="actionAddFolder">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add folder</string>
+ </property>
+ </action>
+ <action name="actionAddFileToMove">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move file(s)</string>
+ </property>
+ </action>
+ <action name="actionAddFolderToMove">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move folder</string>
+ </property>
+ </action>
+ <action name="actionAddFileToCopy">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Copy file(s)</string>
+ </property>
+ </action>
+ <action name="actionAddFolderToCopy">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Copy folder</string>
+ </property>
+ </action>
+ </widget>
+ <resources>
+ <include location="resources.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>moreButton</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>label_2</receiver>
+ <slot>setVisible(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>72</x>
+ <y>106</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>353</x>
+ <y>144</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cancelButton</sender>
+ <signal>clicked()</signal>
+ <receiver>interfaceCopy</receiver>
+ <slot>close()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>465</x>
+ <y>114</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>475</x>
+ <y>112</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/plugins-unmaintained/Themes/Teracopy/plugin.json b/plugins-unmaintained/Themes/Teracopy/plugin.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/plugin.json
@@ -0,0 +1 @@
+{} \ No newline at end of file
diff --git a/plugins-unmaintained/Themes/Teracopy/resources.qrc b/plugins-unmaintained/Themes/Teracopy/resources.qrc
new file mode 100644
index 0000000..39105a8
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources.qrc
@@ -0,0 +1,12 @@
+<RCC>
+ <qresource prefix="/Themes/Teracopy">
+ <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/checkbox.png</file>
+ <file>resources/main.png</file>
+ <file>resources/player_play.png</file>
+ <file>resources/player_pause.png</file>
+ </qresource>
+</RCC>
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/add.png b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/add.png
new file mode 100644
index 0000000..7932127
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/add.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/exit.png b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/exit.png
new file mode 100644
index 0000000..ae3c4e8
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/exit.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/informations.png b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/informations.png
new file mode 100644
index 0000000..5b7b255
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/informations.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/options.png b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/options.png
new file mode 100644
index 0000000..23ec531
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/options.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Unix.png
new file mode 100644
index 0000000..6f5d1cf
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Unix.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Windows.png
new file mode 100644
index 0000000..5464856
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Windows.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
new file mode 100644
index 0000000..3961215
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
new file mode 100644
index 0000000..45d6315
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Unix.png
new file mode 100644
index 0000000..ac4299a
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Unix.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Windows.png
new file mode 100644
index 0000000..6e6bae7
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Windows.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/checkbox.png b/plugins-unmaintained/Themes/Teracopy/resources/checkbox.png
new file mode 100644
index 0000000..f7f4388
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/checkbox.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/main.png b/plugins-unmaintained/Themes/Teracopy/resources/main.png
new file mode 100644
index 0000000..5464856
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/main.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/player_pause.png b/plugins-unmaintained/Themes/Teracopy/resources/player_pause.png
new file mode 100644
index 0000000..68ee21f
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/player_pause.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources/player_play.png b/plugins-unmaintained/Themes/Teracopy/resources/player_play.png
new file mode 100644
index 0000000..a1c5b83
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources/player_play.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Teracopy/resources_unix.qrc b/plugins-unmaintained/Themes/Teracopy/resources_unix.qrc
new file mode 100644
index 0000000..46e3020
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources_unix.qrc
@@ -0,0 +1,7 @@
+<RCC>
+ <qresource prefix="/Themes/Teracopy">
+ <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-unmaintained/Themes/Teracopy/resources_windows.qrc b/plugins-unmaintained/Themes/Teracopy/resources_windows.qrc
new file mode 100644
index 0000000..165123a
--- /dev/null
+++ b/plugins-unmaintained/Themes/Teracopy/resources_windows.qrc
@@ -0,0 +1,7 @@
+<RCC>
+ <qresource prefix="/Themes/Teracopy">
+ <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-unmaintained/Themes/Windows/DebugEngineMacro.h b/plugins-unmaintained/Themes/Windows/DebugEngineMacro.h
new file mode 100644
index 0000000..4582010
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/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-unmaintained/Themes/Windows/Environment.h b/plugins-unmaintained/Themes/Windows/Environment.h
new file mode 100644
index 0000000..265a5a6
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/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-unmaintained/Themes/Windows/Languages/ar/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/ar/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/ar/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/de/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/de/translation.ts
new file mode 100644
index 0000000..643e958
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/de/translation.ts
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="de" sourcelanguage="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation>Verbleibende Zeit unbekannt</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Übertrage %n Element (%2)</numerusform>
+ <numerusform>Übertrage %n Elemente (%2)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Kopiere %n Element (%2)</numerusform>
+ <numerusform>Kopiere %n Elemente (%2)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Verschiebe %n Element (%2)</numerusform>
+ <numerusform>Verschiebe %n Elemente (%2)</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation>von &lt;b&gt;%1&lt;/b&gt; (%2) bis &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation>Warten...</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation>Name:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation>Von:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation>Nach:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation>verbleibende Zeit:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation>verbleibende Elemente:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation>Geschwindigkeit:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation>Mehr Informationen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation>Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation>Datei hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation>Ordner hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation>Datei (en) verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation>Ordner verschieben</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation>Datei (en) kopieren</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation>Ordner kopieren</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/el/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/el/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/el/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/en/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/en/translation.ts
new file mode 100644
index 0000000..958c033
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/en/translation.ts
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Transferring %n item (%2)</numerusform>
+ <numerusform>Transferring %n items (%2)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Copying %n item (%2)</numerusform>
+ <numerusform>Copying %n items (%2)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Moving %n item (%2)</numerusform>
+ <numerusform>Moving %n items (%2)</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/es/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/es/translation.ts
new file mode 100644
index 0000000..cd6a752
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/es/translation.ts
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="es" sourcelanguage="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished">desde &lt;b&gt;%1&lt;/b&gt; (%2) hasta &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished">En espera</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation>Nombre:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation>Desde:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation>Hasta:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation>Tiempo restante:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation>Items restantes:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation>Velocidad:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation>Más información</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation>Cancelar</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation>Añadir archivo</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation>Añadir carpeta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation>Mover archivo(s)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation>Mueva la carpeta</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation>Copia el archivo(s)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation>Copia la carpeta</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/fr/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/fr/translation.ts
new file mode 100644
index 0000000..d5f8b63
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/fr/translation.ts
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="fr" sourcelanguage="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation>Temps restant inconnu</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Transfert de %n élément (%2)</numerusform>
+ <numerusform>Transfert de %n éléments (%2)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Copie de %n élément (%2)</numerusform>
+ <numerusform>Copie de %n éléments (%2)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Déplacement de %n élément (%2)</numerusform>
+ <numerusform>Déplacement de %n éléments (%2)</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation>depuis &lt;b&gt;%1&lt;/b&gt; (%2) vers &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation>En attente</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation>Déplacer des fichiers</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation>Déplacer un dossier</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation>Copier des fichiers</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation>Copier un dossier</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation>Ajouter un dossier</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation>Nom:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation>Depuis:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation>Vers:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation>Temps restant:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation>Éléments restants:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation>Vitesse:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation>Plus d&apos;information</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation>Ajout de fichier</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/hi/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/hi/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/hi/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/hu/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/hu/translation.ts
new file mode 100644
index 0000000..3a5eda8
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/hu/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="hu">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation>Ismeretlen hátralévő idő</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation>
+ <numerusform>%n elem áthelyezése(%2)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation>
+ <numerusform>%n elem átmásolása(%2)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation>
+ <numerusform>%n elem mozgatása(%2)</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation>&lt;b&gt;%1&lt;/b&gt; (%2) helyről-&gt; &lt;b&gt;%3&lt;/b&gt; (%4) helyre&lt;br /&gt;%5</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation>Várakozik</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation>Név:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation>Forrás:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation>Cél:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation>Hátralévő idő:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation>Hátralévő elemek:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation>Sebesség:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation>Több információ</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation>Mégse</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation>Fájl hozzáadása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation>Mappa hozzáadása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation>Fájl(ok) mozgatása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation>Mappa mozgatása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation>Fájl(ok) másolása</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation>Mappa másolása</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/id/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/id/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/id/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/it/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/it/translation.ts
new file mode 100644
index 0000000..f89b6a0
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/it/translation.ts
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="it" sourcelanguage="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation>Tempo rediduo indeterminato</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Trasferimento di %n elemento (%2)</numerusform>
+ <numerusform>Trasferimento di %n elementi (%2)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Copia di %n elemento (%2)</numerusform>
+ <numerusform>Copia di %n elementi (%2)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation>
+ <numerusform>Spostamento di %n elemento (%2)</numerusform>
+ <numerusform>Spostamento di %n elementi (%2)</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translatorcomment>Per esempio: da &lt;b&gt;Cartella di origine&lt;/b&gt; (e: precedente origine) to &lt;b&gt;Cartella di destinazione&lt;/b&gt; (d: destinazione desktop)&lt;br /&gt;Circa 5 ore rimanenti</translatorcomment>
+ <translation>da &lt;b&gt;%1&lt;/b&gt; (%2) a &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation>In attesa</translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation>Nome:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation>Da:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation>A:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation>Tempo residuo:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation>Elementi rimanenti:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation>Velocità:</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation>Maggiori informazioni</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation>Annulla</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation>Aggiungi file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation>Aggiungi cartella</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation>Sposta file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation>Sposta la cartella</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation>Copia file</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation>Copia la cartella</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/ja/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/ja/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/ja/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/ko/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/ko/translation.ts
new file mode 100644
index 0000000..a3724ff
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/ko/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ko_KR">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="+204"/>
+ <location line="+188"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location line="-55"/>
+ <location line="+2"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <location line="+2"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+5"/>
+ <location line="+2"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="+176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+65"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <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>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/nl/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/nl/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/nl/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/no/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/no/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/no/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/pl/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/pl/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/pl/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/ru/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/ru/translation.ts
new file mode 100644
index 0000000..f06ef15
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/ru/translation.ts
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru" sourcelanguage="en">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation>Добавить файл</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation>Добавить папку</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation>Перемещение файла (ов)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation>Перемещение папки</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation>Копировать файл (ы)</translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation>Копировать папку</translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/th/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/th/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/th/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/tr/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/tr/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/tr/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/Languages/zh/translation.ts b/plugins-unmaintained/Themes/Windows/Languages/zh/translation.ts
new file mode 100644
index 0000000..cd528af
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Languages/zh/translation.ts
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>Themes</name>
+ <message>
+ <location filename="../../interface.cpp" line="204"/>
+ <location filename="../../interface.cpp" line="392"/>
+ <source>Unknown remaining time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="337"/>
+ <location filename="../../interface.cpp" line="339"/>
+ <source>Transferring %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="346"/>
+ <location filename="../../interface.cpp" line="348"/>
+ <source>Copying %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../../interface.cpp" line="353"/>
+ <location filename="../../interface.cpp" line="355"/>
+ <source>Moving %n item(s) (%2)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="403"/>
+ <source>from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;%5</source>
+ <extracomment>Sample: from &lt;b&gt;sources&lt;/b&gt; (e:<byte value="xc"/>oldersource) to &lt;b&gt;destination&lt;/b&gt; (d:desktopdestination)&lt;br /&gt;About 5 Hours remaining</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.cpp" line="412"/>
+ <source>In waiting</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>interface</name>
+ <message>
+ <location filename="../../interface.ui" line="176"/>
+ <source>Name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="186"/>
+ <source>From:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="196"/>
+ <source>To:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="206"/>
+ <source>Time remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="216"/>
+ <source>Items remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="226"/>
+ <source>Speed:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="291"/>
+ <source>More information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="331"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="345"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="354"/>
+ <source>Add folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="363"/>
+ <source>Move file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="372"/>
+ <source>Move folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="381"/>
+ <source>Copy file(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../interface.ui" line="390"/>
+ <source>Copy folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/plugins-unmaintained/Themes/Windows/StructEnumDefinition.h b/plugins-unmaintained/Themes/Windows/StructEnumDefinition.h
new file mode 100644
index 0000000..c1758f4
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/StructEnumDefinition.h
@@ -0,0 +1 @@
+#include "../../../StructEnumDefinition.h"
diff --git a/plugins-unmaintained/Themes/Windows/TransferModel.cpp b/plugins-unmaintained/Themes/Windows/TransferModel.cpp
new file mode 100644
index 0000000..7743266
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/TransferModel.cpp
@@ -0,0 +1,286 @@
+#include "TransferModel.h"
+
+#define COLUMN_COUNT 3
+
+// Model
+
+TransferModel::TransferModel()
+{
+ iconStart=QIcon(":/Themes/Windows/resources/player_play.png");
+ iconPause=QIcon(":/Themes/Windows/resources/player_pause.png");
+ iconStop=QIcon(":/Themes/Windows/resources/checkbox.png");
+ currentIndexSearch=0;
+ currentFile = 0;
+ totalFile = 0;
+ currentSize = 0;
+ totalSize = 0;
+ haveSearchItem=false;
+}
+
+int TransferModel::columnCount( const QModelIndex& parent ) const
+{
+ return parent == QModelIndex() ? COLUMN_COUNT : 0;
+}
+
+QVariant TransferModel::data( const QModelIndex& index, int role ) const
+{
+ Q_UNUSED(role);
+ Q_UNUSED(index);
+ return QVariant();
+}
+
+int TransferModel::rowCount( const QModelIndex& parent ) const
+{
+ Q_UNUSED(parent);
+ return 0;
+}
+
+QVariant TransferModel::headerData( int section, Qt::Orientation orientation, int role ) const
+{
+ if ( role == Qt::DisplayRole && orientation == Qt::Horizontal && section >= 0 && section < COLUMN_COUNT ) {
+ switch ( section ) {
+ case 0:
+ return facilityEngine->translateText("Source");
+ case 1:
+ return facilityEngine->translateText("Size");
+ case 2:
+ return facilityEngine->translateText("Destination");
+ }
+ }
+
+ return QAbstractTableModel::headerData( section, orientation, role );
+}
+
+bool TransferModel::setData( const QModelIndex& index, const QVariant& value, int role )
+{
+ Q_UNUSED(index);
+ Q_UNUSED(value);
+ Q_UNUSED(role);
+ return true;
+}
+
+/*
+ Return[0]: totalFile
+ Return[1]: totalSize
+ Return[2]: currentFile
+ */
+QList<quint64> TransferModel::synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions)
+{
+ loop_size=returnActions.size();
+ index_for_loop=0;
+ emit layoutAboutToBeChanged();
+ while(index_for_loop<loop_size)
+ {
+ const Ultracopier::ReturnActionOnCopyList& action=returnActions.at(index_for_loop);
+ switch(action.type)
+ {
+ case Ultracopier::AddingItem:
+ {
+ this->totalFile++;
+ this->totalSize+=action.addAction.size;
+ }
+ break;
+ case Ultracopier::RemoveItem:
+ internalRunningOperation.remove(action.addAction.id);
+ startId.remove(action.addAction.id);
+ stopId.remove(action.addAction.id);
+ this->currentFile++;
+ break;
+ case Ultracopier::PreOperation:
+ {
+ ItemOfCopyListWithMoreInformations tempItem;
+ tempItem.currentProgression=0;
+ tempItem.generalData=action.addAction;
+ tempItem.generalData.destinationFullPath.remove(tempItem.generalData.destinationFullPath.size()-tempItem.generalData.destinationFileName.size(),tempItem.generalData.destinationFileName.size());
+ tempItem.generalData.sourceFullPath.remove(tempItem.generalData.sourceFullPath.size()-tempItem.generalData.sourceFileName.size(),tempItem.generalData.sourceFileName.size());
+ tempItem.actionType=action.type;
+ internalRunningOperation[action.addAction.id]=tempItem;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("set for file %1: actionType: PreOperation").arg(action.addAction.id));
+ }
+ break;
+ case Ultracopier::Transfer:
+ {
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("found entry for file %1: actionType: Transfer").arg(action.addAction.id));
+ if(!startId.contains(action.addAction.id))
+ startId << action.addAction.id;
+ stopId.remove(action.addAction.id);
+ if(internalRunningOperation.contains(action.addAction.id))
+ 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));
+ }
+ break;
+ case Ultracopier::PostOperation:
+ {
+ if(!stopId.contains(action.addAction.id))
+ stopId << action.addAction.id;
+ startId.remove(action.addAction.id);
+ }
+ break;
+ case Ultracopier::CustomOperation:
+ {
+ bool custom_with_progression=(action.addAction.size==1);
+ //without progression
+ if(custom_with_progression)
+ {
+ if(startId.remove(action.addAction.id))
+ if(!stopId.contains(action.addAction.id))
+ stopId << action.addAction.id;
+ }
+ //with progression
+ else
+ {
+ stopId.remove(action.addAction.id);
+ if(!startId.contains(action.addAction.id))
+ startId << action.addAction.id;
+ }
+ if(internalRunningOperation.contains(action.addAction.id))
+ {
+ ItemOfCopyListWithMoreInformations &item=internalRunningOperation[action.addAction.id];
+ item.actionType=action.type;
+ item.custom_with_progression=custom_with_progression;
+ item.currentProgression=0;
+ }
+ }
+ break;
+ default:
+ //unknow code, ignore it
+ break;
+ }
+ index_for_loop++;
+ }
+ emit layoutChanged();
+ return QList<quint64>() << totalFile << totalSize << currentFile;
+}
+
+void TransferModel::setFacilityEngine(FacilityInterface * facilityEngine)
+{
+ this->facilityEngine=facilityEngine;
+}
+
+void TransferModel::setFileProgression(QList<Ultracopier::ProgressionItem> &progressionList)
+{
+ loop_size=progressionList.size();
+ index_for_loop=0;
+ while(index_for_loop<loop_size)
+ {
+ if(internalRunningOperation.contains(progressionList.at(index_for_loop).id))
+ {
+ internalRunningOperation[progressionList.at(index_for_loop).id].generalData.size=progressionList.at(index_for_loop).total;
+ internalRunningOperation[progressionList.at(index_for_loop).id].currentProgression=(progressionList.at(index_for_loop).currentRead+progressionList.at(index_for_loop).currentWrite)/2;
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ progressionList.removeAt(index_for_loop);
+ index_for_loop--;
+ loop_size--;
+ #endif
+ }
+ index_for_loop++;
+ }
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ if(progressionList.size()>0)
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"progression remaning items");
+ #endif
+}
+
+TransferModel::currentTransfertItem TransferModel::getCurrentTransfertItem()
+{
+ currentTransfertItem returnItem;
+ returnItem.haveItem=startId.size()>0;
+ if(returnItem.haveItem)
+ {
+ if(!internalRunningOperation.contains(*startId.constBegin()))
+ {
+ returnItem.haveItem=false;
+ return returnItem;
+ }
+ const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation[*startId.constBegin()];
+ returnItem.from=itemTransfer.generalData.sourceFullPath;
+ returnItem.to=itemTransfer.generalData.destinationFullPath;
+ returnItem.current_file=itemTransfer.generalData.destinationFileName;
+ returnItem.size=facilityEngine->sizeToString(itemTransfer.generalData.size);
+ switch(itemTransfer.actionType)
+ {
+ case Ultracopier::CustomOperation:
+ if(!itemTransfer.custom_with_progression)
+ returnItem.progressBar_file=-1;
+ else
+ {
+ if(itemTransfer.generalData.size>0)
+ returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535;
+ else
+ returnItem.progressBar_file=-1;
+ }
+ break;
+ case Ultracopier::Transfer:
+ if(itemTransfer.generalData.size>0)
+ returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535;
+ else
+ returnItem.progressBar_file=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));
+ returnItem.progressBar_file=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));
+ returnItem.progressBar_file=0;
+ break;
+ default:
+ returnItem.progressBar_file=0;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType));
+ break;
+ }
+ }
+ else
+ {
+ if(!internalRunningOperation.contains(*stopId.constBegin()))
+ {
+ returnItem.haveItem=false;
+ return returnItem;
+ }
+ else
+ returnItem.haveItem=true;
+ const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation[*stopId.constBegin()];
+ returnItem.from=itemTransfer.generalData.sourceFullPath;
+ returnItem.to=itemTransfer.generalData.destinationFullPath;
+ returnItem.current_file=itemTransfer.generalData.destinationFileName;
+ returnItem.size=facilityEngine->sizeToString(itemTransfer.generalData.size);
+ switch(itemTransfer.actionType)
+ {
+ case Ultracopier::CustomOperation:
+ if(!itemTransfer.custom_with_progression)
+ returnItem.progressBar_file=-1;
+ else
+ {
+ if(itemTransfer.generalData.size>0)
+ returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535;
+ else
+ returnItem.progressBar_file=-1;
+ }
+ break;
+ case Ultracopier::Transfer:
+ if(itemTransfer.generalData.size>0)
+ returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535;
+ else
+ returnItem.progressBar_file=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));
+ returnItem.progressBar_file=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));
+ returnItem.progressBar_file=0;
+ break;
+ default:
+ returnItem.progressBar_file=65535;
+ ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType));
+ break;
+ }
+ }
+ return returnItem;
+}
diff --git a/plugins-unmaintained/Themes/Windows/TransferModel.h b/plugins-unmaintained/Themes/Windows/TransferModel.h
new file mode 100644
index 0000000..c2d89aa
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/TransferModel.h
@@ -0,0 +1,90 @@
+#ifndef TRANSFERMODEL_H
+#define TRANSFERMODEL_H
+
+#include <QAbstractTableModel>
+#include <QModelIndex>
+#include <QVariant>
+#include <QList>
+#include <QSet>
+#include <QIcon>
+#include <QString>
+
+#include "StructEnumDefinition.h"
+#include "Environment.h"
+
+#include "../../../interface/FacilityInterface.h"
+
+/// \brief model to store the transfer list
+class TransferModel : public QAbstractTableModel
+{
+ Q_OBJECT
+public:
+ /// \brief the transfer item displayed
+ struct transfertItem
+ {
+ quint64 id;
+ QString source;
+ QString size;
+ QString destination;
+ };
+ /// \brief the transfer item with progression
+ struct ItemOfCopyListWithMoreInformations
+ {
+ quint64 currentProgression;
+ Ultracopier::ItemOfCopyList generalData;
+ Ultracopier::ActionTypeCopyList actionType;
+ bool custom_with_progression;
+ };
+ /// \brief returned first transfer item
+ struct currentTransfertItem
+ {
+ quint64 id;
+ bool haveItem;
+ QString from;
+ QString to;
+ QString current_file;
+ QString size;
+ int progressBar_file;
+ };
+
+ 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);
+
+ QList<quint64> synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions);
+ void setFacilityEngine(FacilityInterface * facilityEngine);
+
+ void setFileProgression(QList<Ultracopier::ProgressionItem> &progressionList);
+
+ currentTransfertItem getCurrentTransfertItem();
+
+ quint64 currentFile;
+ quint64 totalFile;
+ quint64 currentSize;
+ quint64 totalSize;
+protected:
+ QSet<quint64> startId,stopId;///< To show what is started, what is stopped
+ QHash<quint64,ItemOfCopyListWithMoreInformations> internalRunningOperation;///< to have progression and stat
+ QIcon iconStart,iconPause,iconStop;
+private:
+ int loop_size,index_for_loop;
+ int sub_loop_size,sub_index_for_loop;
+ int row,column;
+ FacilityInterface * facilityEngine;
+ QString search_text;
+ /// \brief index from start the search, decresed by remove before it
+ int currentIndexSearch;
+ bool haveSearchItem;
+ quint64 searchId;
+signals:
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ /// \brief To debug source
+ void debugInformation(const Ultracopier::DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne);
+ #endif
+};
+
+#endif // TRANSFERMODEL_H
diff --git a/plugins-unmaintained/Themes/Windows/Variable.h b/plugins-unmaintained/Themes/Windows/Variable.h
new file mode 100644
index 0000000..963d0c8
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/Variable.h
@@ -0,0 +1,15 @@
+/** \file Variable.h
+\brief Define the environment variable
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef VARIABLE_H
+#define VARIABLE_H
+
+//Un-comment this next line to put ultracopier plugin in debug mode
+#define ULTRACOPIER_PLUGIN_DEBUG
+
+#endif // VARIABLE_H
+
+
+
diff --git a/plugins-unmaintained/Themes/Windows/documentation.dox b/plugins-unmaintained/Themes/Windows/documentation.dox
new file mode 100644
index 0000000..6a5ad0e
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/documentation.dox
@@ -0,0 +1,28 @@
+/* -*- mode: C++ ; c-file-style: "stroustrup" -*- **/
+
+/*
+ This file contains NO source code, just some documentation for doxygen to
+ parse.
+*/
+
+/*!
+ \mainpage Windows
+
+ \section mainpage_overview Overview
+
+ It's interface to have interface like windows for Ultracopier.\n
+ More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>. Is part of Ultracopier project as alternative plugin.
+
+ \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.
+
+*/
diff --git a/plugins-unmaintained/Themes/Windows/factory.cpp b/plugins-unmaintained/Themes/Windows/factory.cpp
new file mode 100644
index 0000000..dbce51a
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/factory.cpp
@@ -0,0 +1,74 @@
+/** \file factory.cpp
+\brief Define the factory core
+\author alpha_one_x86
+*/
+
+#include "factory.h"
+
+QRegularExpression ThemesFactory::slashEnd;
+QRegularExpression ThemesFactory::isolateName;
+
+ThemesFactory::ThemesFactory()
+{
+ slashEnd=QRegularExpression("/$");
+ isolateName=QRegularExpression("^.*/([^/]+)$");
+}
+
+PluginInterface_Themes * ThemesFactory::getInstance()
+{
+ Themes * newInterface=new Themes(facilityEngine);
+ connect(this,&ThemesFactory::reloadLanguage,newInterface,&Themes::newLanguageLoaded);
+ return newInterface;
+}
+
+void ThemesFactory::setResources(OptionInterface * options,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityEngine,const bool &portableVersion)
+{
+ Q_UNUSED(options)
+ Q_UNUSED(writePath)
+ Q_UNUSED(pluginPath)
+ this->facilityEngine=facilityEngine;
+ Q_UNUSED(portableVersion)
+}
+
+QWidget * ThemesFactory::options()
+{
+ return NULL;
+}
+
+QIcon ThemesFactory::getIcon(const QString &fileName) const
+{
+ if(fileName=="SystemTrayIcon/exit.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("application-exit");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ if(fileName=="SystemTrayIcon/add.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("list-add");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ if(fileName=="SystemTrayIcon/informations.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("help-about");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ if(fileName=="SystemTrayIcon/options.png")
+ {
+ QIcon tempIcon=QIcon::fromTheme("applications-system");
+ if(!tempIcon.isNull())
+ return tempIcon;
+ }
+ return QIcon(":/Themes/Windows/resources/"+fileName);
+}
+
+void ThemesFactory::resetOptions()
+{
+}
+
+void ThemesFactory::newLanguageLoaded()
+{
+ emit reloadLanguage();
+}
diff --git a/plugins-unmaintained/Themes/Windows/factory.h b/plugins-unmaintained/Themes/Windows/factory.h
new file mode 100644
index 0000000..32ea9f1
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/factory.h
@@ -0,0 +1,45 @@
+/** \file factory.h
+\brief Define the factory, to create instance of the interface
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef FACTORY_H
+#define FACTORY_H
+
+#include <QObject>
+#include <QWidget>
+#include <QIcon>
+#include <QRegularExpression>
+
+#include "interface.h"
+#include "../../../interface/PluginInterface_Themes.h"
+
+/// \brief Define the factory, to create instance of the interface
+class ThemesFactory : public PluginInterface_ThemesFactory
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.ThemesFactory/1.0.1.0" FILE "plugin.json")
+ Q_INTERFACES(PluginInterface_ThemesFactory)
+ public:
+ ThemesFactory();
+ /// \brief to return the instance of the copy engine
+ PluginInterface_Themes * getInstance();
+ /// \brief set the resources, to store options, to have facilityInterface
+ void setResources(OptionInterface * optionsEngine,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityEngine,const bool &portableVersion);
+ /// \brief to get the default options widget
+ QWidget * options();
+ /// \brief to get a resource icon
+ QIcon getIcon(const QString &fileName) const;
+ //regex
+ static QRegularExpression slashEnd;
+ static QRegularExpression isolateName;
+ signals:
+ void reloadLanguage();
+ public slots:
+ void resetOptions();
+ void newLanguageLoaded();
+ private:
+ FacilityInterface * facilityEngine;
+};
+
+#endif // FACTORY_H
diff --git a/plugins-unmaintained/Themes/Windows/informations.xml b/plugins-unmaintained/Themes/Windows/informations.xml
new file mode 100644
index 0000000..988d01c
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/informations.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<package>
+ <title xml:lang="en"><![CDATA[Windows dialog for Ultracopier]]></title><!-- english is required -->
+ <title xml:lang="fr"><![CDATA[Dialogue de Windows 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 RFC822 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[Windows dialog for Ultracopier, to have same copy dialog than windows vista/7/8]]></description>
+ <description xml:lang="fr"><![CDATA[Dialogue de Windows pour Ultracopier, pour avoir une boite de dialogue pour la copie comme windows vista/7/8]]></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.4.0.8</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. -->
+ <dependencies><![CDATA[
+ ]]></dependencies>
+</package> \ No newline at end of file
diff --git a/plugins-unmaintained/Themes/Windows/interface.cpp b/plugins-unmaintained/Themes/Windows/interface.cpp
new file mode 100644
index 0000000..e358f9c
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/interface.cpp
@@ -0,0 +1,414 @@
+/** \file interface.cpp
+\brief Define the interface core
+\author alpha_one_x86
+*/
+
+#include "interface.h"
+#include "factory.h"
+#include "ui_interface.h"
+
+Themes::Themes(FacilityInterface * facilityEngine) :
+ ui(new Ui::interface())
+{
+ ui->setupUi(this);
+ remainingSeconds= 0;
+ speed = 0;
+ progression_current=0;
+ progression_total=0;
+ modeIsForced = false;
+ haveStarted = false;
+ this->facilityEngine = facilityEngine;
+ transferModel.setFacilityEngine(facilityEngine);
+ menu=new QMenu(this);
+ ui->toolButton->setMenu(menu);
+ updateModeAndType();
+
+ 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);
+
+ updateDetails();
+
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ connect(&transferModel,&TransferModel::debugInformation,this,&Themes::debugInformation);
+ #endif
+ #ifndef Q_OS_WIN32
+ ui->widget_bottom->setStyleSheet("background-color: rgb(237, 237, 237);");
+ #endif
+ show();
+}
+
+Themes::~Themes()
+{
+ delete menu;
+}
+
+void Themes::forcedModeAddFile()
+{
+ emit userAddFile(mode);
+}
+
+void Themes::forcedModeAddFolder()
+{
+ emit userAddFolder(mode);
+}
+
+void Themes::forcedModeAddFileToCopy()
+{
+ emit userAddFile(Ultracopier::Copy);
+}
+
+void Themes::forcedModeAddFolderToCopy()
+{
+ emit userAddFolder(Ultracopier::Copy);
+}
+
+void Themes::forcedModeAddFileToMove()
+{
+ emit userAddFile(Ultracopier::Move);
+}
+
+void Themes::forcedModeAddFolderToMove()
+{
+ emit userAddFolder(Ultracopier::Move);
+}
+
+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::closeEvent(QCloseEvent *event)
+{
+ event->ignore();
+ this->hide();
+ emit cancel();
+}
+
+void Themes::detectedSpeed(const quint64 &speed)
+{
+ this->speed=speed;
+ if(ui->more->isChecked())
+ ui->label_speed->setText(facilityEngine->speedToString(speed));
+}
+
+void Themes::setSupportSpeedLimitation(const bool &supportSpeedLimitationBool)
+{
+ Q_UNUSED(supportSpeedLimitationBool);
+}
+
+QWidget * Themes::getOptionsEngineWidget()
+{
+ return NULL;
+}
+
+void Themes::getOptionsEngineEnabled(const bool &isEnabled)
+{
+ Q_UNUSED(isEnabled)
+}
+
+void Themes::setCopyType(const Ultracopier::CopyType &type)
+{
+ this->type=type;
+ updateModeAndType();
+}
+
+void Themes::forceCopyMode(const Ultracopier::CopyMode &mode)
+{
+ modeIsForced=true;
+ this->mode=mode;
+ updateModeAndType();
+ updateInformations();
+}
+
+void Themes::updateTitle()
+{
+ remainingTime(remainingSeconds);
+}
+
+void Themes::actionInProgess(const Ultracopier::EngineActionInProgress &action)
+{
+ this->action=action;
+ switch(action)
+ {
+ case Ultracopier::Copying:
+ case Ultracopier::CopyingAndListing:
+ ui->progressBar->setMaximum(65535);
+ ui->progressBar->setMinimum(0);
+ break;
+ case Ultracopier::Listing:
+ ui->progressBar->setMaximum(0);
+ ui->progressBar->setMinimum(0);
+ break;
+ case Ultracopier::Idle:
+ if(haveStarted)
+ emit cancel();
+ break;
+ default:
+ break;
+ }
+ switch(action)
+ {
+ case Ultracopier::Copying:
+ case Ultracopier::CopyingAndListing:
+ haveStarted=true;
+ break;
+ default:
+ break;
+ }
+}
+
+void Themes::newTransferStart(const Ultracopier::ItemOfCopyList &item)
+{
+ ui->text->setText(item.sourceFullPath);
+}
+
+void Themes::newTransferStop(const quint64 &id)
+{
+ Q_UNUSED(id)
+}
+
+void Themes::newFolderListing(const QString &path)
+{
+ if(action==Ultracopier::Listing)
+ ui->text->setText(path);
+}
+
+void Themes::remainingTime(const int &remainingSeconds)
+{
+ this->remainingSeconds=remainingSeconds;
+
+ QString remainingTime;
+ if(remainingSeconds>=0)
+ remainingTime=facilityEngine->simplifiedRemainingTime(remainingSeconds);
+ else
+ remainingTime=facilityEngine->translateText(tr("Unknown remaining time"));
+
+ this->setWindowTitle(remainingTime);
+
+ if(ui->more->isChecked())
+ ui->label_remaining_time->setText(remainingTime);
+ else
+ updateInformations();
+}
+
+void Themes::newCollisionAction(const QString &action)
+{
+ Q_UNUSED(action)
+}
+
+void Themes::newErrorAction(const QString &action)
+{
+ Q_UNUSED(action)
+}
+
+void Themes::errorDetected()
+{
+}
+
+/// \brief new error
+void Themes::errorToRetry(const QString &source,const QString &destination,const QString &error)
+{
+ Q_UNUSED(source);
+ Q_UNUSED(destination);
+ Q_UNUSED(error);
+}
+
+void Themes::setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation)
+{
+ Q_UNUSED(transferListOperation)
+}
+
+//speed limitation
+bool Themes::setSpeedLimitation(const qint64 &speedLimitation)
+{
+ Q_UNUSED(speedLimitation)
+ return false;
+}
+
+//get information about the copy
+void Themes::setGeneralProgression(const quint64 &current,const quint64 &total)
+{
+ progression_current=current;
+ progression_total=total;
+ ui->progressBar->setValue(((double)current/total)*65535);
+}
+
+void Themes::setCollisionAction(const QList<QPair<QString,QString> > &list)
+{
+ Q_UNUSED(list)
+}
+
+void Themes::setErrorAction(const QList<QPair<QString,QString> > &list)
+{
+ Q_UNUSED(list)
+}
+
+//edit the transfer list
+void Themes::getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList> &returnActions)
+{
+ transferModel.synchronizeItems(returnActions);
+ updateInformations();
+}
+
+void Themes::haveExternalOrder()
+{
+ ui->toolButton->hide();
+}
+
+void Themes::isInPause(const bool &isInPause)
+{
+ //resume in auto the pause
+ if(isInPause)
+ emit resume();
+}
+
+void Themes::newLanguageLoaded()
+{
+ ui->retranslateUi(this);
+ updateTitle();
+ updateInformations();
+}
+
+void Themes::setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList)
+{
+ QList<Ultracopier::ProgressionItem> progressionListBis=progressionList;
+ transferModel.setFileProgression(progressionListBis);
+ updateInformations();
+}
+
+void Themes::on_more_toggled(bool checked)
+{
+ Q_UNUSED(checked);
+ updateDetails();
+ updateInformations();
+}
+
+void Themes::updateDetails()
+{
+ ui->text->setHidden(ui->more->isChecked());
+ ui->details->setHidden(!ui->more->isChecked());
+ if(ui->more->isChecked())
+ {
+ this->setMinimumHeight(242);
+ this->setMaximumHeight(242);
+ ui->more->setIcon(QIcon(":/Themes/Windows/resources/arrow-up.png"));
+ }
+ else
+ {
+ this->setMinimumHeight(168);
+ this->setMaximumHeight(168);
+ ui->more->setIcon(QIcon(":/Themes/Windows/resources/arrow-down.png"));
+ }
+
+ // usefull under windows
+ this->updateGeometry();
+ this->update();
+ this->adjustSize();
+
+ updateInformations();
+}
+
+void Themes::updateInformations()
+{
+ TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem();
+ if(!modeIsForced)
+ {
+ if(transferModel.totalFile>1)
+ ui->label_main->setText(tr("Transferring %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total)));
+ else
+ ui->label_main->setText(tr("Transferring %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total)));
+ }
+ else
+ {
+ if(mode==Ultracopier::Copy)
+ {
+ if(transferModel.totalFile>1)
+ ui->label_main->setText(tr("Copying %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total)));
+ else
+ ui->label_main->setText(tr("Copying %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total)));
+ }
+ else
+ {
+ if(transferModel.totalFile>1)
+ ui->label_main->setText(tr("Moving %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total)));
+ else
+ ui->label_main->setText(tr("Moving %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total)));
+ }
+ }
+
+ if(ui->more->isChecked())
+ {
+ if(transfertItem.haveItem)
+ {
+ QString simplifiedFrom=transfertItem.from;
+ QString simplifiedTo=transfertItem.to;
+ simplifiedFrom.remove(ThemesFactory::slashEnd);
+ simplifiedTo.remove(ThemesFactory::slashEnd);
+ simplifiedFrom.replace('\\','/');
+ simplifiedTo.replace('\\','/');
+ simplifiedFrom.replace(ThemesFactory::isolateName, "\\1");
+ simplifiedTo.replace(ThemesFactory::isolateName, "\\1");
+ ui->label_file->setText(transfertItem.current_file);
+ ui->label_from->setText(QStringLiteral("<b>%1</b> (%2)").arg(simplifiedFrom).arg(transfertItem.from));
+ ui->label_to->setText(QStringLiteral("<b>%1</b> (%2)").arg(simplifiedTo).arg(transfertItem.to));
+ ui->label_items->setText(QStringLiteral("%1 (%2)").arg(transferModel.totalFile-transferModel.currentFile).arg(facilityEngine->sizeToString(progression_total-progression_current)));
+ }
+ else
+ {
+ ui->label_file->setText("");
+ ui->label_from->setText("");
+ ui->label_to->setText("");
+ ui->label_items->setText(QStringLiteral("%1 (%2)").arg(transferModel.totalFile-transferModel.currentFile).arg(facilityEngine->sizeToString(progression_total-progression_current)));
+ }
+ }
+ else
+ {
+ if(transfertItem.haveItem)
+ {
+ QString remainingTime;
+ if(remainingSeconds>=0)
+ remainingTime=facilityEngine->simplifiedRemainingTime(remainingSeconds);
+ else
+ remainingTime=facilityEngine->translateText(tr("Unknown remaining time"));
+ QString simplifiedFrom=transfertItem.from;
+ QString simplifiedTo=transfertItem.to;
+ simplifiedFrom.remove(ThemesFactory::slashEnd);
+ simplifiedTo.remove(ThemesFactory::slashEnd);
+ simplifiedFrom.replace('\\','/');
+ simplifiedTo.replace('\\','/');
+ simplifiedFrom.replace(ThemesFactory::isolateName, "\\1");
+ simplifiedTo.replace(ThemesFactory::isolateName, "\\1");
+ ui->text->setText(
+ //: Sample: from <b>sources</b> (e:\folder\source) to <b>destination</b> (d:\desktop\destination)<br />About 5 Hours remaining
+ tr("from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5")
+ .arg(simplifiedFrom)
+ .arg(transfertItem.from)
+ .arg(simplifiedTo)
+ .arg(transfertItem.to)
+ .arg(remainingTime)
+ );
+ }
+ else
+ ui->text->setText(tr("In waiting"));
+ }
+}
diff --git a/plugins-unmaintained/Themes/Windows/interface.h b/plugins-unmaintained/Themes/Windows/interface.h
new file mode 100644
index 0000000..5de55e6
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/interface.h
@@ -0,0 +1,165 @@
+/** \file interface.h
+\brief Define the interface
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef INTERFACE_TEST_H
+#define INTERFACE_TEST_H
+
+#include <QObject>
+#include <QWidget>
+#include <QMenu>
+#include <QCloseEvent>
+
+#include "../../../interface/PluginInterface_Themes.h"
+#include "TransferModel.h"
+
+namespace Ui {
+ class interface;
+}
+
+/// \brief Define the interface
+class Themes : public PluginInterface_Themes
+{
+ Q_OBJECT
+public slots:
+ //send information about the copy
+ /// \brief to set the action in progress
+ void actionInProgess(const Ultracopier::EngineActionInProgress &);
+ /// \brief new transfer have started
+ void newTransferStart(const Ultracopier::ItemOfCopyList &item);
+ /** \brief one transfer have been stopped
+ * is stopped, example: because error have occurred, and try later, don't remove the item! */
+ void newTransferStop(const quint64 &id);
+ /// \brief the new folder is listing
+ void newFolderListing(const QString &path);
+ /** \brief show the detected speed
+ * in byte per seconds */
+ void detectedSpeed(const quint64 &speed);
+ /** \brief support speed limitation */
+ void setSupportSpeedLimitation(const bool &supportSpeedLimitationBool);
+ /** \brief show the remaining time
+ * time in seconds */
+ void remainingTime(const int &remainingSeconds);
+ /// \brief set the current collision action
+ void newCollisionAction(const QString &action);
+ /// \brief set the current error action
+ void newErrorAction(const QString &action);
+ /// \brief set one error is detected
+ void errorDetected();
+ /// \brief new error
+ void errorToRetry(const QString &source,const QString &destination,const QString &error);
+ //speed limitation
+ /** \brief the max speed used
+ * in byte per seconds, -1 if not able, 0 if disabled */
+ bool setSpeedLimitation(const qint64 &speedLimitation);
+ //set the translate
+ void newLanguageLoaded();
+public:
+ /// \brief the transfer item with progression
+ struct ItemOfCopyListWithMoreInformations
+ {
+ quint64 currentProgression;
+ Ultracopier::ItemOfCopyList generalData;
+ Ultracopier::ActionTypeCopyList actionType;
+ bool custom_with_progression;
+ };
+ /// \brief returned first transfer item
+ struct currentTransfertItem
+ {
+ quint64 id;
+ bool haveItem;
+ QString from;
+ QString to;
+ QString current_file;
+ int progressBar_file;
+ };
+ /// \brief get the widget for the copy engine
+ QWidget * getOptionsEngineWidget();
+ /// \brief to set if the copy engine is found
+ void getOptionsEngineEnabled(const bool &isEnabled);
+ /// \brief get action on the transfer list (add/move/remove)
+ void getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList> &returnActions);
+ //get information about the copy
+ /// \brief show the general progression
+ void setGeneralProgression(const quint64 &current,const quint64 &total);
+ /// \brief show the file progression
+ void setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList);
+ /// \brief set collision action
+ void setCollisionAction(const QList<QPair<QString,QString> > &);
+ /// \brief set error action
+ void setErrorAction(const QList<QPair<QString,QString> > &);
+ /// \brief set the copyType -> file or folder
+ void setCopyType(const Ultracopier::CopyType &);
+ /// \brief set the copyMove -> copy or move, to force in copy or move, else support both
+ void forceCopyMode(const Ultracopier::CopyMode &);
+ /// \brief set if transfer list is exportable/importable
+ void setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation);
+ /** \brief set if the order is external (like file manager copy)
+ * to notify the interface, which can hide add folder/filer button */
+ void haveExternalOrder();
+ /// \brief set if is in pause
+ void isInPause(const bool &);
+signals:
+ #ifdef ULTRACOPIER_PLUGIN_DEBUG
+ /// \brief To debug source
+ void debugInformation(const Ultracopier::DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne);
+ #endif
+/* //set the transfer list
+ void removeItems(QList<int> ids);
+ void moveItemsOnTop(QList<int> ids);
+ void moveItemsUp(QList<int> ids);
+ void moveItemsDown(QList<int> ids);
+ void moveItemsOnBottom(QList<int> ids);
+ void exportTransferList();
+ void importTransferList();
+ //user ask ask to add folder (add it with interface ask source/destination)
+ void userAddFolder(CopyMode);
+ void userAddFile(CopyMode);
+ void urlDropped(QList<QUrl> urls);
+ //action on the copy
+ void pause();
+ void resume();
+ void skip(quint64 id);
+ void cancel();
+ //edit the action
+ void sendCollisionAction(QString action);
+ void sendErrorAction(QString action);
+ void newSpeedLimitation(qint64);*/
+public:
+ //constructor and destructor
+ Themes(FacilityInterface * facilityEngine);
+ ~Themes();
+private:
+ Ui::interface *ui;
+ TransferModel transferModel;
+ void updateTitle();
+ QMenu *menu;
+ Ultracopier::EngineActionInProgress action;
+ void closeEvent(QCloseEvent *event);
+ void updateModeAndType();
+ bool modeIsForced;
+ Ultracopier::CopyType type;
+ Ultracopier::CopyMode mode;
+ bool haveStarted;
+ QList<ItemOfCopyListWithMoreInformations> InternalRunningOperation;
+ int loop_size,index_for_loop;
+ int sub_loop_size,sub_index_for_loop;
+ FacilityInterface * facilityEngine;
+ void updateDetails();
+ void updateInformations();
+ int remainingSeconds;
+ quint64 progression_current;
+ quint64 progression_total;
+ quint64 speed;
+private slots:
+ void forcedModeAddFile();
+ void forcedModeAddFolder();
+ void forcedModeAddFileToCopy();
+ void forcedModeAddFolderToCopy();
+ void forcedModeAddFileToMove();
+ void forcedModeAddFolderToMove();
+ void on_more_toggled(bool checked);
+};
+
+#endif // INTERFACE_TEST_H
diff --git a/plugins-unmaintained/Themes/Windows/interface.pro b/plugins-unmaintained/Themes/Windows/interface.pro
new file mode 100644
index 0000000..9a82f6a
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/interface.pro
@@ -0,0 +1,48 @@
+CONFIG += c++11
+QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra"
+mac:QMAKE_CXXFLAGS+="-stdlib=libc++"
+
+QT += widgets
+TEMPLATE = lib
+CONFIG += plugin
+HEADERS = interface.h \
+ StructEnumDefinition.h \
+ factory.h \
+ ../../../interface/PluginInterface_Themes.h \
+ TransferModel.h
+SOURCES = interface.cpp \
+ factory.cpp \
+ TransferModel.cpp
+TARGET = $$qtLibraryTarget(interface)
+TRANSLATIONS += Languages/ar/translation.ts \
+ Languages/de/translation.ts \
+ Languages/el/translation.ts \
+ Languages/en/translation.ts \
+ Languages/es/translation.ts \
+ Languages/fr/translation.ts \
+ Languages/hi/translation.ts \
+ Languages/hu/translation.ts \
+ Languages/id/translation.ts \
+ Languages/it/translation.ts \
+ Languages/ja/translation.ts \
+ Languages/ko/translation.ts \
+ Languages/nl/translation.ts \
+ Languages/no/translation.ts \
+ Languages/pl/translation.ts \
+ Languages/ru/translation.ts \
+ Languages/th/translation.ts \
+ Languages/tr/translation.ts \
+ Languages/zh/translation.ts
+
+FORMS += \
+ interface.ui
+
+RESOURCES += \
+ resources.qrc
+
+win32 {
+ RESOURCES += resources_windows.qrc
+}
+!win32 {
+ RESOURCES += resources_unix.qrc
+}
diff --git a/plugins-unmaintained/Themes/Windows/interface.ui b/plugins-unmaintained/Themes/Windows/interface.ui
new file mode 100644
index 0000000..f255562
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/interface.ui
@@ -0,0 +1,415 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>interface</class>
+ <widget class="QWidget" name="interface">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>420</width>
+ <height>284</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>420</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>420</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string notr="true">Ultracopier</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/Themes/Windows/resources/icon.png</normaloff>:/Themes/Windows/resources/icon.png</iconset>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QWidget" name="widget" native="true">
+ <property name="minimumSize">
+ <size>
+ <width>420</width>
+ <height>42</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>420</width>
+ <height>42</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(230, 240, 255, 255), stop:0.5 rgba(166, 199, 230, 255), stop:1 rgba(3, 40, 84, 255));</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="leftMargin">
+ <number>20</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>20</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_main">
+ <property name="styleSheet">
+ <string notr="true">background-color: rgba(255, 0, 0, 0);
+font: 12pt &quot;Sans Serif&quot;;</string>
+ </property>
+ <property name="text">
+ <string notr="true">Copying 0 item (0KB)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="minimumSize">
+ <size>
+ <width>51</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>51</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">background-color: rgba(255, 0, 0, 0);</string>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="resources.qrc">:/Themes/Windows/resources/icon-top.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QWidget" name="widget_2" native="true">
+ <property name="minimumSize">
+ <size>
+ <width>420</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>420</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">background-color: rgb(255, 255, 255);</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>14</number>
+ </property>
+ <property name="leftMargin">
+ <number>20</number>
+ </property>
+ <property name="topMargin">
+ <number>14</number>
+ </property>
+ <property name="rightMargin">
+ <number>20</number>
+ </property>
+ <property name="bottomMargin">
+ <number>14</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="text">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>28</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">from &lt;b&gt;%1&lt;/b&gt; (%2) to &lt;b&gt;%3&lt;/b&gt; (%4)&lt;br /&gt;
+%5</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QWidget" name="details" native="true">
+ <layout class="QFormLayout" name="formLayout">
+ <property name="labelAlignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ <property name="verticalSpacing">
+ <number>2</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Name:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_file"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>From:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="label_from"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>To:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="label_to"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Time remaining:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="label_remaining_time"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Items remaining:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLabel" name="label_items"/>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Speed:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLabel" name="label_speed"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>14</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>14</height>
+ </size>
+ </property>
+ <property name="maximum">
+ <number>65535</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QWidget" name="widget_bottom" native="true">
+ <property name="minimumSize">
+ <size>
+ <width>420</width>
+ <height>42</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>420</width>
+ <height>42</height>
+ </size>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="leftMargin">
+ <number>20</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>20</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="more">
+ <property name="text">
+ <string>More information</string>
+ </property>
+ <property name="icon">
+ <iconset resource="resources.qrc">
+ <normaloff>:/Themes/Windows/resources/arrow-down.png</normaloff>:/Themes/Windows/resources/arrow-down.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextBesideIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>123</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QToolButton" name="toolButton">
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="popupMode">
+ <enum>QToolButton::InstantPopup</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="Cancel">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ <action name="actionAddFile">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add file</string>
+ </property>
+ </action>
+ <action name="actionAddFolder">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add folder</string>
+ </property>
+ </action>
+ <action name="actionAddFileToMove">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move file(s)</string>
+ </property>
+ </action>
+ <action name="actionAddFolderToMove">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move folder</string>
+ </property>
+ </action>
+ <action name="actionAddFileToCopy">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Copy file(s)</string>
+ </property>
+ </action>
+ <action name="actionAddFolderToCopy">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset>
+ </property>
+ <property name="text">
+ <string>Copy folder</string>
+ </property>
+ </action>
+ </widget>
+ <resources>
+ <include location="resources.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>Cancel</sender>
+ <signal>clicked()</signal>
+ <receiver>interface</receiver>
+ <slot>close()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>388</x>
+ <y>349</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>523</x>
+ <y>498</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/plugins-unmaintained/Themes/Windows/plugin.json b/plugins-unmaintained/Themes/Windows/plugin.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/plugin.json
@@ -0,0 +1 @@
+{} \ No newline at end of file
diff --git a/plugins-unmaintained/Themes/Windows/resources.qrc b/plugins-unmaintained/Themes/Windows/resources.qrc
new file mode 100644
index 0000000..f7ffc64
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources.qrc
@@ -0,0 +1,10 @@
+<RCC>
+ <qresource prefix="/Themes/Windows">
+ <file>resources/icon.png</file>
+ <file>resources/arrow-down.png</file>
+ <file>resources/arrow-up.png</file>
+ <file>resources/SystemTrayIcon/informations.png</file>
+ <file>resources/icon-top.png</file>
+ <file>resources/empty.png</file>
+ </qresource>
+</RCC>
diff --git a/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/informations.png b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/informations.png
new file mode 100644
index 0000000..5b7b255
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/informations.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Unix.png
new file mode 100644
index 0000000..6f5d1cf
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Unix.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Windows.png
new file mode 100644
index 0000000..5464856
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Windows.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
new file mode 100644
index 0000000..3961215
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
new file mode 100644
index 0000000..45d6315
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Unix.png
new file mode 100644
index 0000000..ac4299a
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Unix.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Windows.png
new file mode 100644
index 0000000..6e6bae7
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Windows.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/arrow-down.png b/plugins-unmaintained/Themes/Windows/resources/arrow-down.png
new file mode 100644
index 0000000..39b5c37
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/arrow-down.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/arrow-up.png b/plugins-unmaintained/Themes/Windows/resources/arrow-up.png
new file mode 100644
index 0000000..5c824fb
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/arrow-up.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/empty.png b/plugins-unmaintained/Themes/Windows/resources/empty.png
new file mode 100644
index 0000000..846d96d
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/empty.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/icon-top.png b/plugins-unmaintained/Themes/Windows/resources/icon-top.png
new file mode 100644
index 0000000..64b7992
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/icon-top.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/icon-top.xcf b/plugins-unmaintained/Themes/Windows/resources/icon-top.xcf
new file mode 100644
index 0000000..9a775e2
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/icon-top.xcf
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources/icon.png b/plugins-unmaintained/Themes/Windows/resources/icon.png
new file mode 100644
index 0000000..eccfbc5
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources/icon.png
Binary files differ
diff --git a/plugins-unmaintained/Themes/Windows/resources_unix.qrc b/plugins-unmaintained/Themes/Windows/resources_unix.qrc
new file mode 100644
index 0000000..3904f69
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources_unix.qrc
@@ -0,0 +1,7 @@
+<RCC>
+ <qresource prefix="/Themes/Windows">
+ <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-unmaintained/Themes/Windows/resources_windows.qrc b/plugins-unmaintained/Themes/Windows/resources_windows.qrc
new file mode 100644
index 0000000..28666fc
--- /dev/null
+++ b/plugins-unmaintained/Themes/Windows/resources_windows.qrc
@@ -0,0 +1,7 @@
+<RCC>
+ <qresource prefix="/Themes/Windows">
+ <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>