summaryrefslogtreecommitdiff
path: root/plugins-unmaintained/Themes/Windows
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2018-05-29 05:44:34 +0100
committerThomas Preud'homme <robotux@celest.fr>2018-05-29 05:44:34 +0100
commit594fcba67600704bee9115c86e18927b2237b304 (patch)
tree38dc620e6b8e9a76c1953ded39c1dc006a830728 /plugins-unmaintained/Themes/Windows
parent20062a6a4bc2aec8ada645baa78ff68892ccd154 (diff)
New upstream version 1.4.0.8
Diffstat (limited to 'plugins-unmaintained/Themes/Windows')
-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
50 files changed, 3991 insertions, 0 deletions
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>